Open source code on Multiscale
To my acknowledge, among the multiscale methods that have been developed during the past 20 years, there are three open source software/codes, and I will give you a brief introduction:
OCTA is an integrated simulation system for soft materials developed by Nagoya University, Japan, the group leader of which is Masao Doi, here is their web . And one could also refer to this .
OCTA focus on soft materials, e.g. polymer. Since soft materials' theoretical models are quite diverse, OCTA consists of four simulation engines (COGNAC, PASTA, SUSHI, MUFFIN) to fulfill such a need, plus a simulation platform (GOURMET).
COarse-Grained molecular dynamics program by NAgoya Cooperation
Functions: General polymer chain properties
-Basic functions for MD/MM
-Versatile functions for molecular modeling
-Various potential functions and ensembles for coarse-grained models
Polymer rheology Analyzer with Slip-link model of enTAnglement
Functions: rheological properties
-Predications of the rheological properties, e.g. relaxation moduli, shear viscosities, uniaxial, biaxial and planar elongational viscosities
Simulation Utilities for Soft and Hard Interfaces
Functions: surface and interfacial properties
-Calculate the equilibrium and non-equilibrium structures in polymer blends and block copolymers by solving the self-consistent Edwards equations
MUltiFarious FIeld simulator for Non-equilibrium system
Functions: mechanical properties
-Solve the continuum models for the dynamics of soft materials based on finite difference method (FDM) or finite element method (FEM).
Graphical Open UseR interface for Material design EnvironmenT
Functions: a platform on which simulation programs run
-An editor of the input data, a viewer of the output data, a tool to make graphs and animations, and most importantly a place for various simulation programs to meet and exchange the information they have.
P.S. I didn't find out how it could be coupled with LAMMPS.
Like OCTA, QC is an integrated simulation system, not just a tool which could only handle the overlapping part, maybe because in Quasicontinuum method, there is no handshake zone. Here is their web .
It was developed by University of Minnesota , for one who is not familiar with QC method, here is a review .
Quasicontinuum is one of the oldest multiscale methods, many work has been done using it, as far as I could know, papers in Chinese using multiscale method are done using qc more than any other else, especially when a new multiscale method was advanced, qc was used to compare with it.
In its tutorial guide and reference manual , one could see how this code works, the code is written in Fortran 90, it could set up the lattice, grain and the mesh, eliminate the ghost force and run the simulation all by itself.
Here is the code's limitation:
-Limited to two-dimensional boundary value problems
-Limited to crystalline materials with a simple lattice structure, such as fcc and bcc.
-Static energy minimazation, which means it can only be used to study equilibrium structures at zero temperature, but not dynamical processes or finite temperature effects
-Atomic interactions are limited to empirical potentials in which the energy of the total system can be decomposed as a sum over individual atom energies.
However, such limitations don't make qc method itself less powerful.
It is not a MD simulator, but could do molecular mechanics simulation, for which it has two solver --Newton-Raphson Method and Conjugate Gradient Method -- to find out the position of each atom when the energy of the system is locally minimum, like the command "minimize" in LAMMPS, except that the latter uses Conjugate Gradient Method and Steepest Descent Method.
I also noticed that they released a 14 multibench test suite, which is an unified implementation of fourteen leading multiscale methods for static loading conditions, yet I have no idea how and how well they work.
The LibMultiScale Library has been designed by INRIA, France. It is a tool developed to study the multiscale methods currently employed on material simulations. Unlike QC, it distincts the base code components (CM and MD) from the coupling components. Here is their web .
The code is written in C++, it could be interfaced with FE code (libMesh ), MD code (STAMP-developed by CEA , LAMMPS ), and could use EPSN to do the visualizaiton and steering.
It uses Bridging Domain Method , which was developed by Xiao and Belyschko, and could handle the spurious wave reflection problem in the overlapping domain well.
In this paper, one could see how the code implement the coupling methods, especially how to treat the spatial mapping between finite elements and atoms.
As for BDM itself, a Lagrange multiplier method or augmented Lagrangian method is applied for enforcing the kinematic constraints in the overlapping subdomain, while a scalar parameter is used to scale the Hamiltonian in the overlapping subdomain, and the total Hamiltonian is a linear combination of the molecular and continuum Hamiltonians.
Xiao and Belyschko has also developed an explicit algorithm and a multi-time step method for BDM.
I havn't used the LibMultiScale and the papers using which are much fewer than QC so I don't know its quality, yet it seems to me a more convenient one than OCTA and QC, for I want to do a MD simulation in polycrystal vanadium. In addition, I am more interested in code which could be coupled with LAMMPS conveniently.
Thank you for reading, and welcome the judgement, either for this simple introduction or the methods I mentioned above, or other open source multiscale method code you know.