Software development for commercial engineering platforms
Independent development work for design software companies, contributing to internal engineering algorithms
and extensions within commercial simulation platforms. This work requires close coordination with existing
codebases, numerical assumptions, and validation practices.
Work examples (in preparation): algorithm context and integration diagrams.
API-driven automation and tooling
Development of engineering automation using software APIs, including SAP2000, Abaqus, LS-DYNA (via Primer),
and COMSOL Multiphysics (MATLAB and Java interfaces). Applications include design automation, parametric
studies, model generation, and repeatable post-processing.
Work examples (in preparation): workflow diagrams and automation patterns.
Pre- and post-processing for complex models
Custom tools for model setup, data conditioning, and results extraction in large and complex simulations,
where manual interaction is impractical or error-prone.
Work examples (in preparation): model pipelines and representative outputs.
Multiphysics and reactive-transport software development
Development of multiphysics software interfaces for reactive-transport modeling, including coupling transport
solvers with thermodynamic equilibrium calculations. This includes work on COMSOL-based transport models
integrated with geochemical solvers to represent cementitious systems with complex chemistry.
Work examples (in preparation): coupled solver architecture and data exchange.
Open-source numerical method development
Contributions to open-source engineering software, including development of force-based finite elements and
nonlinear formulations implemented in OpenSees. This work is documented in peer-reviewed publications and
focuses on numerical robustness and physical consistency.
Work examples (in preparation): element formulations and verification studies.
Verification, validation, and transparency
A validation-first approach to software development, emphasizing benchmark problems, sensitivity checks,
and traceable assumptions so that numerical results can be trusted and audited.
Work examples (in preparation): verification cases and comparison plots.