Methods

My current work focuses on building engineering software and leading technical teams. The foundation of that work is a background in topology optimization, finite elements, and scientific computing.

Scientific computing

I use numerical methods to model physical systems, evaluate designs, and make engineering tradeoffs explicit. The core toolkit includes finite element methods, high-performance computing, linear algebra, optimization algorithms, and production software development in Python and C++.

These methods are typically implemented with open source tools such as FEniCS, PETSc, Paraview, libMesh, and IpOpt. They remain central to how I think about simulation pipelines, performance, and engineering software architecture.

Optimization

Much of my technical background comes from topology optimization and PDE-constrained design. The goal is to find geometries that minimize or maximize a target objective while satisfying physical and manufacturing constraints. In practice, that means combining simulation, sensitivity analysis, adjoint methods, and gradient-based optimization into a repeatable workflow.

This work is valuable because it reduces dependence on trial-and-error design and makes complex engineering spaces tractable. It is especially useful when the best solution is not obvious from intuition alone.

From research to product

The research foundation is not separate from my current work. It is the reason I can build practical optimization platforms, make credible decisions about numerical tradeoffs, and help teams turn advanced methods into reliable software used for real engineering programs.

That transition has shaped how I approach software: model the physics carefully, choose methods that scale, automate what matters, and keep the path from simulation to decision as short as possible.

Selected past work

Some of the earlier work behind this foundation focused on adaptive strategies for expensive simulations, where coarse models are useful early in the optimization and higher resolution is introduced as the design converges. The example below shows a structure being optimized to remain lightweight while carrying the applied load.

Another example is compliant mechanism design, where elastic deformation is used to transfer motion without the friction, backlash, and wear associated with rigid-body mechanisms. These kinds of problems are a good illustration of why computational methods matter: they routinely uncover designs that are difficult to reach by intuition alone.