PRISMS MultiPhysics: An Integrated Phase Field-CPFE Framework
Code repository: https://github.com/prisms-center/multiPhysics
What is PRISMS-MultiPhysics?
PRISMS-MultiPhysics (PRISMS-MP) is an open-source, high-performance framework that concurrently couples the phase-field (PF) and crystal plasticity (CP) models to simulate microstructure evolution. In this framework, which combines classes and methods from PRISMS-PF and PRISMS-Plasticity, PF and CP fields are defined on separate finite element meshes with different refinement levels, and relevant fields are transferred throughout the time evolution.
This code is developed by the PRedictive Integrated Structural Materials Science (PRISMS) Center [http://www.prisms-center.org/] at University of Michigan which is supported by the U.S. Department of Energy (DOE), Office of Basic Energy Sciences, Division of Materials Sciences and Engineering under Award #DE-SC0008637.
PRISMS-MP is build on top of the deal.II open source finite element library. The latest supported version is 9.5.2.
deal.ii needs to be built with the petsc and p4est dependencies and without the trilinos package. To do that, if you're using candi, you can turn it off in candi.cfg by commenting that as #PACKAGES="${PACKAGES} once:trilinos". With deal.ii installed and $DEAL_II_DIR setup, the following steps can be followed to download and compile the code.
Clone the PRISMS-MultiPhysics GitHub repo
$ git clone https://github.com/prisms-center/multiPhysics.git
Go to the directory multiPhysics
$ cd multiPhysics
Compile the core library by typing
$ cmake .
followed by
$ make -j <nprocs>
where <nprocs> refers to number the number of processors used for compilation. Using with more than one processor alloys for parallel (and faster) compilation.
Compile an application (e.g. singleTwin3D)
$ cd applications/singleTwin3D
$ cmake .
$ make -j <nprocs> release
Run the executable (main) with the CP and PF parameters files as arguments:
$ mpirun -n <nprocs> ./main parameters_cp.prm parameters_pf.prm
Updates: Since PRISMS-MP code is still under active development, regular code and documentation updates are pushed to the upstream repo (https://github.com/prisms-center/multiPhysics) and we strongly recommend users to synchronize their respective clones forks regularly.
Visualization
Output of the primal fields and postprocessed fields is in standard vtk format (*.vtu files) which can be visualized with the following open source applications:
- VisIt (https://wci.llnl.gov/simulation/computer-codes/visit/downloads)
- Paraview (http://www.paraview.org/download/)
Developers:
- David Montiel [email protected]
- Abhishek Kumar [email protected]
- Chaitali Patil [email protected]
- Philip Staublin [email protected]
License:
GNU Lesser General Public License (LGPL). Please see the file LICENSE for details.