Michael Harmon


Curriculum vitae


mdh266 [at] gmail [dot] com



Michael Harmon


Contact

Michael Harmon


Curriculum vitae


mdh266 [at] gmail [dot] com




About


This website contains information on my work as a PhD student in Computational Applied Mathematics at the University of Texas at Austin. To find out more information on what I am up to now check out: www.michael-harmon.com

My research focused on the intersection of mathematical analysis, high performance computing and engineering in renewable energy. My worked involved developing high performance, multi-threaded finite element based software in C++ for chemists to numerically model photoelectrochemical solar cells and optimize the cell design. The bulk of my time was spent designing, implementing and analyzing different numerical algorithms to speed up simulation time. In the end I was able to produce algorithms that resulted in a reduction in runtime by a factor of 24. The source code I developed for simulations in one and two dimensions can be found below.

As a student I worked extensively with the deal.ii library, an open source finite element library written in C++. In addition to working with the library I was able to contribute to it as well. I mostly improved their library's distributed (MPI) direct solver to be more efficient. I also wrote example code on how to implement local discontinuous Galerkin methods in a distributed computing framework. Links to the source code for these projects, as well as others I completed using the deal.ii finite element library, can be found below.

Publications


Numerical algorithms based on Galerkin methods for the modeling of reactive interfaces in photoelectrochemical (PEC) solar cells


Michael Harmon, Irene M. Gamba, Kui Ren

Journal of Computational Physics, vol. 327, 2016 Oct 30, pp. 140-167

Projects


2D Photoelectrochemical Solar Cell Simulator


This C++ code solves the coupled drift-diffusion-Poisson equations that model a photoelectrochemical solar cell in 2D using the deal.ii finite element library. It will automatically run in parallel using the Thread Building Blocks for multithreading. T...


1D Photoelectrochemical Solar Cell Simulator


This fully-tested C++ code solves the coupled drift-diffusion-Poisson that model a photoelectrochemical solar cell in 1D using the linear algebra library Eigen, Boost library, and OpenMP. The main challenges in constructing numerical algorithms that pr...


Distributed LDG Methods


This is an example code I wrote for the deal.ii finite element library's code gallery. It is a large-scale distributed solver for Poisson equation in 2D and 3D solver that uses the local discontinuous Galerkin method. It mainly uses the deal.ii C++ lib...


The deal.ii Finite Element Library


I contributed to the open source deal.ii C++ library by adding functionality to its interface with the Trilinos library and also added unit test to testing-suite. Specifically, I added the ability to use direct solvers for large-scale distributed linea...


Semiconductor Device Simulator


This code is designed to numerically solve the Drift-Diffusion-Poisson equations for semiconductor devices in 2D and 3D. The code runs in parallel using multithreading through the Intel Thread Building Blocks. Poisson's equation is solved using the mix...


View all

Courses


Honors Vector Calculus

Fall 2015

University of Texas at Austin


Linear Algebra and Honors Linear Algebra

Fall 2014 and Spring 2015

University of Texas at Austin


Scientific Computing

Fall 2014

The University of Texas at Austin


Differential Equations

Fall 2011, Fall 2013, Spring and Summer 2014

The University of Texas at Austin


Calculus 1, 2, and 3

Fall 2012, Fall 2008, Summer 2013

The University of Texas at Austin


View all
Share

Tools
Translate to