/GrassmannianEGO

Source code of "Manifold learning for coarse-graining atomistic simulations: Application to amorphous solids".

Primary LanguageRoffMIT LicenseMIT

Table of contents

General info

This Git repository contains python and C++ codes for calibrating a stochastic PDE model based on data generated from an atomistic simulation. A novel coarse-grained methodology called Grassmannian EGO is employed.

The method was proposed by Kontolati, Alix-Williams, Boffi, Falk, Rycroft and Shields (2021).

Methods

Grassmannian EGO uses concepts from manifold learning (nonlinear dimensionallity reduction), regression analysis (Gaussian Process regression) and Bayesian optimization (Efficient global optimization). An optimal set of stochastic input parameters is identified which results in matching the behavior of the continuum model with the MD data. Grassmannian EGO is capable of bridging the scales between multiscale models and result in a significant reduction of the computational cost by allowing continuum model simulations consistent with atomic-level detailed simulations.

A graphical abstract of the proposed approach is provided below:

Application

Molecular dynamics simulation is performed with LAMMPS for a 50-50 CuZr metallic glass system. Grassmannian EGO is employed for the calibration of a continuum model, used for simulating plastic deformation in metallic glasses (amorphous solids) based on the Shear Transformation Zone theory of plasticity.

Contents

  • CuZr_Ref - contains the reference MD data in the form of binary files. In particular, shear-strain (Exy.MD.#) and potential energy (pe.MD.#) files are provided in 100 simulation steps. In addition the scalar mean stress values are provided in the txt file (6th column).

  • validation.py - python code for validating the Grassmannian EGO methdology. In this case, reference data are produced by a forward evaluation of the continuum model. The algorithm is then employed to 'find' the parameters used to produce the continuum response.

  • application.py - python code for calibration of the STZ continuum model based on the MD data (CuZr_Ref directory) for the CuZr metallic glass.

  • shear_energy.cc - C++ code used to simulate the STZ model developed by the Rycroft Group @ Harvard. More information on how to compile and run this code can be found here: https://github.com/SURGroup/STZ

Clone

To clone and use this repository, run the following terminal commands.

git clone https://github.com/katiana22/GrassmannianEGO.git
cd GrassmannianEGO
pip install -r requirements.txt

Citation

If you find this GitHub repository useful for your work, please consider citing this work:

@article{kontolati2021manifold,
  title={Manifold learning for coarse-graining atomistic simulations: Application to amorphous solids},  
  author={Kontolati, Katiana and Alix-Williams, Darius and Boffi, Nicholas M and Falk, Michael L and Rycroft, Chris H and Shields, Michael D},  
  journal={Acta Materialia},  
  pages={117008},  
  year={2021},  
  publisher={Elsevier}
}

Contact

For more information or questions please email me at: kontolati@jhu.edu