Skills
This page summarizes the simulation, coding, machine learning, HPC, and open-source tools I use most often, with examples from research, coursework, and engineering projects.
Simulation/CAE
LS-DYNA: used in my Graduate Research Assistant at UTK work on an ARL-funded project for high-speed impact simulations of resonant ceramic metamaterials, including Johnson-Holmquist 2 material modeling through UMAT and transient response studies. I also used ALE simulations for fluid-microstructure interaction problems. These workflows involved thousands of simulations on HPC systems, with Python, COMSOL, and LS-PrePost used for preprocessing and postprocessing.Abaqus: used in my UTK research on an AFOSR-funded project for user-element-based phase-field modeling, including residual eigenstrain effects. I used Python scripts and Abaqus/CAE for preprocessing and postprocessing.Ansys (Workbench, Composite PrepPost (ACP), Static Structural, Thermal, SpaceClaim): used across multiple engineering projects, including turbopump structural, thermal, and fatigue analyses at ITUNOVA, composite structural analysis at Baykar, composites and metallic structural analysis at ITU Facilis, and graduate coursework in my MSc studies.COMSOL: used for preprocessing and mesh generation for LS-DYNA simulations in my UTK research.SolidWorks: used for CAD preparation and engineering design workflows, especially in turbopump work at ITUNOVA and vehicle development at ITU Facilis. View my Certified SolidWorks Associate (CSWA) certification.Siemens NX: used in broader CAD/CAE workflows for geometry cleanup, model organization, and engineering design iteration in ITU Facilis composite vehicle development.nCode: used in MSc fracture mechanics coursework for fatigue and crack-growth analysis.NASGRO: used in MSc fracture mechanics coursework for crack propagation and fracture mechanics analysis.
User subroutines
LS-DYNA UMAT: used in my UTK research to develop and support nonlinear material models for ceramics.Abaqus UEL (FORTRAN): used in my UTK research to extend phase-field formulations to include thermal and residual eigenstrain effects.MATLAB: used for subroutine prototyping, reduced-order model development, postprocessing, and coursework, including finite element and dynamics assignments in my MSc, finite-volume work in PhD coursework, and scripting support at ITUNOVA.
Scientific computing / in-house code
DG solvers in C++: used in my UTK research and PhD coursework to study discontinuous Galerkin formulations and compare numerical implementations. GitHub repository.FEM solvers in C++ and Python: used for research and coursework on nonlinear finite elements, including constitutive model implementation indeal.IIand related custom numerical studies.FV solvers in C++ and Python: used for numerical method development and verification for a hyperbolic heat equation solver in PhD coursework.Phase-field implementations: used in my UTK research for fracture and microstructure-sensitive computational mechanics studies.
ML/AI
HydraGNN: used during my Graduate Internship at ORNL for graph-based surrogate modeling workflows and code-quality contributions. GitHub repository.PyTorch: used in my ORNL work to build graph neural network surrogates for fiber composites and ferrite-martensite polycrystals within the HydraGNN framework.PyTorch Geometric: used in the same ORNL projects to represent microstructures as graphs and train multitask surrogate models. I am familiar with data objects, transformations, and message-passing workflows in PyTorch Geometric.Probabilistic modeling / uncertainty quantification: used in my ORNL work for uncertainty-aware fatigue prediction and microstructure-to-property learning.
HPC
Linux: my main environment for UTK research, ORNL internship, and MSc thesis work, including simulation, machine learning, and scientific software workflows.Slurm: used to submit, monitor, and manage large simulation and training jobs on shared HPC clusters.MPI: used when building and running scalable scientific software on cluster systems for larger numerical studies.OpenMP: used in shared-memory performance settings for compiled scientific codes and related HPC workflows.CMake: used when compiling and maintaining research software stacks, especially in the HPC and open-source workflows described in my UTK research.
Open source
deal.II: used in PhD coursework for nonlinear finite element implementations, including linear elasticity, Neo-Hookean response, and J2 plasticity.OpenFOAM: used in ITU Facilis and Gas Dynamics coursework for CFD analysis of the vehicle body to improve drag and lift, and to study shock waves.LAMMPS: used in my MSc thesis for reactive molecular dynamics simulations of boron nanotubes on HPC systems.NumPy: used throughout data preparation, postprocessing, and research scripting in simulation and machine learning workflows.pandas: used for organizing tabular outputs and derived feature and response data in research workflows.scikit-learn: used for baseline machine learning utilities, data preprocessing, and comparative analysis in scientific ML workflows.