Projects spanning the intersection of computational mechanics, bioengineering, and mathematics.
In Variational System Identification, we consider the weak form of the momentum balance equation and infer the parameters in the constitutive model and sequentially drop the non-contributing terms to infer the best-suited parsimonious model. This approach is similar to SINDy, but the construction in the weak form lends many benefits, especially when considering methods like phase-field fracture modeling which are derived from the variational formulation of fracture. We demonstrate the performance of our methods in the face data sub-sampling that challenges the identification of mathematical models while attaining high accuracy in the predicted response of the inferred models.
A traditional neural network approximates a function by learning a nonlinear mapping between an input an output which is limited in its ability to fully represent a physical system. Working with Professor Krishna Garikipati and a postdoctoral researcher, Siddhartha Srivastava, we developed a new neural network architecture that expanded upon prior work on non-local calculus on finite weighted graphs. This new architecture, Graph Calculus Neural Networks, uses the basic structure of a Graph Convolutional Neural Network along with non-local calculus to represent partial differential equations within the layers of a neural network. This work has a wide array of potential applications, incorporating physics within the architecture of the network.
I began my doctoral research at the University of Michigan, working with Professor Alberto Figueroa and Professor Krishna Garikipati on modeling blood flow through a coronary artery stenosis. In this work, we have explored semi-analytical approaches to reduced order modelling, applying successive approximations to the Navier-Stokes equations, deriving unknown coefficients using high-fidelity 3D CFD data. We then explore data-driven methods, expanding a basis of candidate terms and identifying a new reduced order model using regression (i.e. system identification). Finally, traditional surrogate modelling approaches like neural networks may be applied, however, these lack the interpretability of an analytical expression derived via system identification.
At the University of Illinois, I worked in the Tissue Biomechanics Laboratory with Professor Mariana Kersh. Bone is a complex hierarchical material that can be studied at many levels. For diseases like osteoporosis, characterized by bone loss, macro-level tests like DEXA scanning can predict an increased fracture risk, but cannot detect the driving mechanism.As a porous, anisotropic material, one of the only ways to truly predict bone mechanics is to model the underlying microstructure. The complexity of the porous structure of cortical bone presents a challenge when generating computational models requiring high resolution imaging, advanced mesh generation algorithms, and powerful computational resources for finite element analysis.
Samples of cortical bone were collected from the middle neck of a cadaver femur. The neck was separated into four quadrants: anterior, posterior, superior, and inferior then further sub-sectioned to 5 mm pieces. Micro-computed tomography scans were collected (4 μm/voxel), processed, and used to generate 3D models of the bone and of the porous network. Effective strain in each model was derived through finite element analysis (Abaqus) using physiologic displacement boundary conditions and Young’s modulus estimation using density calibrations from hydroxyapatite phantoms. Two- and three-dimensional geometric measures were evaluated from the processed images using a combination of MATLAB, FIJI, and Amira.
My thesis is available here.
In between my undergraduate and graduate studies, I interned for Illinois Rocstar. While there, I developed PacMesh and ultimately presented my work at the Advanced Computational Methods in Engineering Conference (ACOMEN) in October 2017. I devised a computational framework to (i) generate random packs of convex inclusions, (ii) obtain accurate geometric representations for the pack, and (iii) create a high-quality conformal mesh. This approach was innovative because of its simplicity, ease of automation, and potential to account for uncertainties such as the effect of a material’s microstructure.
This project involved taking the output from previous Rocstar code, Rocpack, and generated solid models and finite element meshes for multiple projects. Rocpack used a variation of the Lubachevsky-Stillinger algorithm with collision detection to produce polydisperse random distributions and orientations of particles. The framework generates packs from a number of inclusion shapes into one of four different geometric domains. Several pre-processing options were developed such as the ability to enforce periodic boundary conditions, take a 2D cross-section, and manipulate particles.
The abstract for ACOMEN 2017 can be found here.
I was a Blue Waters Student Intern in from May 2016 – May 2017. This position involved a 2 week-long intensive training session on parallel computing. We then got an allocation to perform research with our selected advisor. I worked with Professor Arif Masud in the Civil Engineering department at UIUC. My job was to generate a 3D model of the aorta and descending arteries. Once this procedure was developed, I helped run models of blood flow through the geometry on the Blue Waters supercomputer. After the internship was over, I continued working on the project to help extend it to fluid-solid interactions so that we could model different physiologic conditions.
A preliminary report of this work was published in the 2017 Blue Waters Annual Report.