forked from prisms-center/phaseField
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
709 changed files
with
47,633 additions
and
1,213 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -69,6 +69,5 @@ main | |
*.snm | ||
*.nlo | ||
|
||
html/ | ||
test | ||
DoxygenWarningLog.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,107 +1,113 @@ | ||
What is phaseField_PRISMS? | ||
<B>Code repository:</B> https://github.com/prisms-center/phaseField | ||
|
||
phaseField_PRISMS is a C++ code implementing various phase field and | ||
mechanics models and its applications to some physical problems | ||
(spinodal decomposition, precipitate growth, coupled | ||
transport+mechanics, etc) | ||
<B>What is PRISMS PhaseField?</B> | ||
|
||
It is a Finite Element Method (FEM) code and is build on top of the | ||
deal.II open source finite element library (http://www.dealii.org) | ||
It is a Finite Element Method (FEM) code implementing various phase field | ||
and coupled mechanics models and its applications to some physical problems | ||
(spinodal decomposition, coupled transport and mechanics, precipitate evolution, etc.). | ||
It is build on top of the deal.II open source finite element library [http://www.dealii.org] | ||
|
||
This code is developed by the PRedictive Integrated Structural | ||
Materials Science (PRISMS) Center at University of Michigan which is | ||
supported by the U.S. Department of Energy, Office of Basic Energy | ||
Sciences, Division of Materials Sciences and Engineering under Award | ||
#DE-SC0008637 | ||
|
||
Installation and Use: | ||
|
||
1) Configure, compile and install the deal.II library. No additional | ||
libraries are required besides the installation of deal.ii with | ||
the following configuration flags: | ||
-DDEAL_II_WITH_MPI=ON | ||
-DDEAL_II_WITH_P4EST=ON | ||
-DDEAL_II_WITH_LAPACK=ON | ||
|
||
Download: http://www.dealii.org/download.html | ||
Detailed instructions: http://www.dealii.org/8.1.0/readme.html | ||
2) Fork the repo https://github.com/prisms-center/phaseField on | ||
GitHub (How to fork: https://help.github.com/articles/fork-a-repo/) | ||
and clone the phaseField repository using your GitHub username: | ||
|
||
$ git clone [email protected]:username/phaseField.git | ||
(OR) | ||
$ git clone https://github.com/username/phaseField.git | ||
|
||
[Note: phaseField is currently a private repository on GitHub and | ||
hence you need to be authorised to access the repository. Contact | ||
the developers/Mailing-List for requesting access] | ||
|
||
3) Running phaseField applications, for example cahnHilliard | ||
$ cd applications/cahnHilliard | ||
$ cmake CMakeLists.txt | ||
For debug mode [default mode]: | ||
$ make debug | ||
For optimized mode: | ||
$ make release | ||
Execution (serial runs): | ||
$ make run | ||
Execution (parallel runs): | ||
$ mpiexec -np nprocs ./main | ||
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 | ||
|
||
<B>Installation:</B> | ||
|
||
1) Install deal.II (version 8.2.1 currently supported)<br> | ||
+ Download Binaries (OSX and Linux) or Virtual Machine (VMI) from https://www.dealii.org/download.html <br> | ||
(OR) <br> | ||
+ Configure, compile and install the deal.II library with the | ||
following configuration flags. Dependencies are MPI, p4est, PETSc libraries.<br> | ||
-DDEAL_II_WITH_MPI=ON, -DDEAL_II_WITH_LAPACK=ON, -DDEAL_II_WITH_P4EST=ON, -DDEAL_II_WITH_PETSC=ON | ||
|
||
Download: http://www.dealii.org/download.html <br> | ||
Installation instructions: http://www.dealii.org/8.2.1/readme.html <br> | ||
Installation instructions for external packages (P4EST, PETSC): https://www.dealii.org/developer/external-libs/ | ||
|
||
2) Clone the PRISMS PhaseField GitHub repo https://github.com/prisms-center/phaseField<br> | ||
+ $ git clone https://github.com/prisms-center/phaseField.git <br> | ||
(OR) <br> | ||
+ $ git clone [email protected]:prisms-center/phaseField.git <br> | ||
and <br> | ||
+ $ cd phaseField <br> | ||
+ $ git checkout master <br> | ||
|
||
<B>Usage:</B> | ||
|
||
Running phaseField applications, for example Cahn-Hilliard spinodal decomposition problem :<br> | ||
+ $ cd applications/cahnHilliard <br> | ||
For debug mode [default mode, very slow]: <br> | ||
+ $ cmake CMakeLists.txt -DCMAKE_BUILD_TYPE=Debug <br> | ||
For optimized mode:<br> | ||
+ $ cmake CMakeLists.txt -DCMAKE_BUILD_TYPE=Release <br> | ||
and <br> | ||
+ $ make <br><br> | ||
Execution (serial runs): <br> | ||
+ $ make run <br> | ||
Execution (parallel runs): <br> | ||
+ $ mpirun -np nprocs ./main <br> | ||
[here nprocs denotes the number of processors] | ||
|
||
4) Updates: Since phaseField code is still under active development, | ||
Updates: Since phaseField code is still under active development, | ||
regular code and documentation updates are pushed to the upstream | ||
repo (https://github.com/prisms-center/phaseField) and we strongly | ||
recommend users to synchronize their respective forks at regular | ||
recommend users to synchronize their respective clones/forks at regular | ||
intervals or when requested by the developers through the | ||
announcements on the mailing list. | ||
(How to sync: https://help.github.com/articles/syncing-a-fork/) | ||
|
||
5) Visualization: Results are written out in standard vtk/vtu/vts | ||
formats which can be visualized with the following open source | ||
applications: | ||
<B>Visualization</B> | ||
|
||
Output of the primal fields and postprocessed fields is in standard vtk | ||
format (parallel:*.pvtu, serial:*.vtu files) which can be visualized with the | ||
following open source applications: | ||
1. VisIt (https://wci.llnl.gov/simulation/computer-codes/visit/downloads) | ||
2. Paraview (http://www.paraview.org/download/) | ||
|
||
Getting started: | ||
<B>Getting started:</B> | ||
|
||
The applications are located under /applications and each | ||
application has a detailed README with instructions and related | ||
documentation. | ||
Examples of various initial boundary value problems (IBVP's) are located under the | ||
applications/ folder. Easiest way to get started on the code is to | ||
run the applications. | ||
|
||
Applications are intended to serve as (1) Demonstration of the | ||
capabilities of this library, (2) Provide a framework for | ||
further development of specialized/advanced applications by | ||
users. Currently the following applications are provided: | ||
|
||
cahnHilliard | ||
allenCahn | ||
mechanics | ||
coupledCahnHilliardAllenCahn | ||
betaPrimePrecipitate | ||
users. | ||
|
||
Application or code under development/testing is preceded by an | ||
underscore. | ||
|
||
Applications under development/testing are preceded by an | ||
underscore, such as: | ||
_fickianFlux | ||
_coupledFickianFluxMechanics | ||
_coupledCahnHilliardMechanics | ||
List of folders: | ||
+ include/: header files | ||
+ src/: models (diffusion, mechanics and coupled models), | ||
matrixfree (base class for parallel implementation of parabolic and elliptic | ||
intial boundary value problems) | ||
+ applications/: Various phase field and mechanics example problems | ||
+ docs/: Formulations, user manuals, etc in PDF format | ||
+ html/: HTML documentation generated by doxygen | ||
|
||
<B>Documentation:</B> | ||
|
||
License: | ||
Detailed mathematical formulations, example simulations, code documentation, etc, provided: | ||
+ Open html/index.html in any web browser <br> | ||
(OR)<br> | ||
+ https://htmlpreview.github.io/?https://raw.githubusercontent.com/prisms-center/phaseField/master/html/index.html | ||
|
||
<B>License:</B> | ||
|
||
GNU Lesser General Public License (LGPL). Please see the file | ||
LICENSE for details. | ||
|
||
Mailing List: | ||
<B>Mailing List:</B> | ||
|
||
[email protected] | ||
+ [email protected] | ||
+ [email protected] | ||
|
||
Further information, questions, issues and bugs: | ||
<B>Further information, questions, issues and bugs:</B> | ||
|
||
Contact the phaseField mailing list at PRISMS.phaseField@umich.edu | ||
Contact the developers at prismsphaseField.dev@umich.edu | ||
|
||
|
||
|
Binary file not shown.
Oops, something went wrong.