3D elastic properties of biomaterials from molecular dynamics simulations

The Vanegas group (https://vanegaslab.org/) in the Dept. of Biochemistry and Biophysics develops two open source packages GROMACS-LS (https://github.com/vanegasj/gromacs-ls) and MDStress library (https://github.com/vanegasj/mdstress-library). These two codes are used to compute mechanical properties of complex biomolecular systems through local stress and elasticity calculations. To do this, we have modified the popular GROMACS molecular dynamics (MD) simulation package (https://www.gromacs.org/), which is one of the fastest MD programs capable of simulating very large systems (millions of particles) through GPU and MPI acceleration. Our GROMACS-LS code computes the local stress and elasticity tensors from MD simulations of complex systems such as lipid membranes and multimeric proteins. The stress and elasticity tensors are computed in 1, 2, and 3D grids depending on the types of systems and symmetries. We have recently implemented new features to compute the elasticity tensors of bulk materials (see paper here) and complex interfacial systems (see paper here). However, these local stress and elasticity calculations are very computationally expensive due to the spatial distribution of stress and elasticity contributions to the 3D grid. In order to investigate more complex and realistic systems using all-atom parametrizations, we need to implement new features for 4-body potentials as the current code is limited to coarse-grained models that only include angle 3-body potentials. Additionally, it is essential that we optimize the code using various strategies including vectorial optimizations (e.g. using SIMD instructions), GPU acceleration, and optimized parallel processing. 

Objectives


This project is divided into two parts:

  1. Implementation of formulas to compute the stress and elasticity of 4-body dihedral potentials. This includes first and second derivatives of the dihedral potentials that could be implemented analytically or using an automatic differentiation method in the MDStress library. An optional goal depending on time will be to implement a generalized method to obtain the second derivatives of any 5-body or higher potential using the automatic-differentiation method.
  2. Code optimization. There are many possible routes for optimization based on the internal GROMACS optimizations. These include utilization vector instructions such as SIMD to speed up individual calculations, parallelization using GPUs, and improved parallelization using multi-threading/OpenMP and MPI. Part of this objective will be to first analyze the bottlenecks of the existing code in order to find an effective optimization strategy.

Students will need to get access to the OSU HPC as soon as possible.

Motivations


We have been developing the GROMACS-LS code since 2014 and the original publication has been cited 200+ times. This tool has been used to study many different types of systems including lipid membranes, mechanosensitive ion channels, confined liquids, nanomaterials, and polymers among others. The stress and elasticity tensors are essential quantities in continuum mechanics that allow characterization of the internal balance of forces within a material and how the energy of a system changes upon deformation. This project will provide students with a chance to learn about interesting topics in engineering mechanics and biomaterials, and also how to translate mathematical theories into programs. Students will also gain valuable experience in code optimization while maintaining reproducibility. Depending on the success of the project and the contributions from the team members, students may have a chance to be co-authors on future publications based on the updated code.

Qualifications


Minimum Qualifications:
  • Experience with C++ and Python (Numpy, Scipy, etc)
  • Calculus (integral and differential) and linear algebra
  • Linux/bash programming

Preferred Qualifications:
  • Programming for HPC environments
  • GPU/CUDA programming
  • Parallelization using multi-threading/OpenMP and/or MPI
  • Vectorization using SIMD instructions


Details


Project Partner:

Juan Vanegas

NDA/IPA:

No Agreement Required

Number Groups:

1

Project Status:

Accepting Applicants

Website:
https://github.com/vanegasj/gromacs-ls
Keywords:
CPythonResearchMolecular DynamicsHPCFOSSCUDAGPU AccelerationGROMACS
Card Image Capstone