Skip to content

david-montiel-t/multiPhysics

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PRISMS-MP

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:

Developers:

License:

GNU Lesser General Public License (LGPL). Please see the file LICENSE for details.

About

PRISMS-MultiPhysics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.9%
  • Other 1.1%