Open source code on Multiscale

转自:http://imechanica.org/node/7380

作者:Shuozhi Xu


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:
1.OCTA
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).
COGNAC :
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
PASTA :
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
SUSHI :
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
MUFFIN :
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).
GOURMET :
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.

2.QC
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.

3.LibMultiScale
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.

据我所知,在过去20年来开发的多尺度方法中,有三个开源软件/代码,我将简要介绍一下:
1.OCTA 
OCTA是一种用于软材料的集成仿真系统,由日本名古屋大学,其组长是Masao Doi,这里是他们的网站也可以参考这个
OCTA专注于软材料,如聚合物。由于软材料的理论模型是相当多样化的,OCTA由四个模拟引擎(COGNAC,PASTA,SUSHI,MUFFIN)组成,以满足这种需求,加上一个仿真平台(GOURMET)。
COGNAC
NAgoya的粗粒子分子动力学计划合作
功能: 用于非平衡系统的 多个FIeld模拟器功能:机械 性能 - 基于有限差分法(FDM)或有限元法(FEM),为软材料的动力学分析连续模型。GOURMET 用于材料设计的图形Open UseR界面 环境功能:运行仿真程序的平台 - 输入数据的编辑器,输出数据的查看器,制作图形和动画的工具,最重要的是各种模拟的场所程序来满足和交换他们所拥有的信息。 PS我没有找到如何与LAMMPS结合使用。机械性能 - 基于有限差分法(FDM)或有限元法(FEM)对软材料动力学的连续模型进行分析。GOURMET用于材料设计的图形Open UseR界面环境功能:运行仿真程序的平台- 输入数据的编辑器,输出数据的查看器,制作图形和动画的工具,最重要的是各种模拟的场所程序来满足和交换他们所拥有的信息。PS我没有发现它如何与LAMMPS结合在一起。机械性能 - 基于有限差分法(FDM)或有限元法(FEM)对软材料动力学的连续模型进行分析。GOURMET用于材料设计的图形Open UseR界面环境功能:运行仿真程序的平台- 输入数据的编辑器,输出数据的查看器,制作图形和动画的工具,最重要的是各种模拟的场所程序来满足和交换他们所拥有的信息。PS我没有发现它如何与LAMMPS结合在一起。用于材料设计的图形Open UseR接口环境功能:仿真程序运行的平台- 输入数据的编辑器,输出数据的查看器,制作图形和动画的工具,最重要的是各种仿真程序的位置认识和交流他们所拥有的信息。PS我没有发现它如何与LAMMPS结合在一起。用于材料设计的图形Open UseR接口环境功能:仿真程序运行的平台- 输入数据的编辑器,输出数据的查看器,制作图形和动画的工具,最重要的是各种仿真程序的位置认识和交流他们所拥有的信息。PS我没有发现它如何与LAMMPS结合在一起。

2.QC 
像OCTA一样,QC是一个集成的仿真系统,不仅仅是一个只能处理重叠部分的工具,也许是因为在Quasicontinuum方法中没有握手区。这是他们的网站
它是由明尼苏达大学开发的,对于不熟悉QC方法的人来说,这里是一个审查
Quasicontinuum是最古老的多尺度方法之一,许多工作已经使用它,据我所知,使用多尺度方法的中文文章使用qc比其他任何其他方法都要好,特别是当一个新的多尺度方法提前时,qc被用来比较它。
在其教程指南参考手册中,可以看到这段代码如何工作,代码写在Fortran 90中,它可以设置格子,纹理和网格,消除鬼魂力并自行运行模拟。
这里是代码的限制:
- 限于二维边界值问题 - 
限于具有简单格子结构的结晶材料,如fcc和bcc。
- 静态能量最小化,这意味着它只能用于研究零温度下的平衡结构,但不能用于动态过程或有限温度影响。
- 相互作用仅限于经验电位,其中总体系的能量可以分解为总和超过单个原子能量。
然而,这样的限制并不会使qc方法本身的功能不那么强大。
它不是MD模拟器,但是可以做分子力学模拟,它有两个求解器 - 牛顿 - 拉夫逊方法和共轭梯度法 - 当系统的能量局部最小时,找出每个原子的位置,如命令“最小化” LAMMPS,除了后者使用共轭梯度法和最深下降法。
我也注意到他们发布了一个14多频测试套件,这是一个统一实现的十四种主要的多尺度静态加载条件方法,但我不知道它们的工作原理和效果如何。除了后者使用共轭梯度法和最深下降法。我也注意到他们发布了一个14多频测试套件,这是一个统一实现的十四种主要的多尺度静态加载条件方法,但我不知道它们的工作原理和效果如何。除了后者使用共轭梯度法和最深下降法。我也注意到他们发布了一个14多频测试套件,这是一个统一实现的十四种主要的多尺度静态加载条件方法,但我不知道它们的工作原理和效果如何。

3.LibMultiScale 
LibMultiScale库由法国INRIA设计。它是开发研究用于材料模拟的多尺度方法的工具。与QC不同,它将耦合组件的基本代码组件(CM和MD)区分开来。这是他们的网站
该代码是用C ++编写,它可以用FE代码(通过接口连接libMesh),MD代码(STAMP开发由CEALAMMPS),并且可以使用EPSN做visualizaiton和转向。
它采用由Xiao和Belyschko开发的桥接域方法,可以处理重叠域中的伪波反射问题。
本文中可以看到代码如何实现耦合方法,特别是如何处理有限元和原子之间的空间映射。
对于BDM本身,应用拉格朗日乘数法或增强拉格朗日方法来强化重叠子域中的运动约束,而使用标量参数来缩放重叠子域中的哈米尔顿算子,并且总哈米尔顿算子是线性组合分子和连续体哈密顿量子。
Xiao和Belyschko也为BDM开发了一种显式算法和多时间步长法。
我没有使用LibMultiScale和使用的论文比QC少得多,所以我不知道它的质量,但在我看来,它似乎比OCTA和QC更方便,因为我想在多晶体中进行MD模拟钒。此外,我更感兴趣的是可以方便地与LAMMPS相结合的代码。
感谢您的阅读,并欢迎您的判断,无论是简单的介绍或上述方法,或其他开源多尺度方法代码,你知道。


默认 最新
当前暂无评论,小编等你评论哦!
点赞 1 评论 收藏
关注