The repository shows the use of Fortran programming language for the phase-field methods — model A, model B, and model C. The codes are 2D. Model A ( Allen-Cahn equation ), and Model B ( Cahn-Hilliard ) examples are given; solidification of a single component alloy is also provided.
-
Sequential code.
-
Self-explanatory comments for each section.
-
Stand-alone codes.
-
Code description in README files.
-
Examples: FeCr alloy for model B; grain evolution for model A.
-
Some of the best programming practices .
- if statement rather than if then construct
-
File savings with newunit instrinsic function.
- Model A example
-
Screen shots for each output code.
-
Data availability for each code.
-
Compiler comparison for further studies.
- Model B README
-
Instructions for different operating systems.
-
Optimization options.
-
Integrated dislin graphical software in each code:
-
Single statement quick plots.
-
Routines for continuous animation.
-
Multiplot techniques.
-
-
gnuplot script for output files:
-
Customized color plots.
-
commands for continuous animation.
-
Multiplot approach.
-
The simulations were performed on the system with the following details:
OS | Compilers and versions | Integrated graphics library | Output graphics library |
---|---|---|---|
Linux (ubuntu 20.04) | gfortran (12.1.0) | Dislin ( 11.5 ) | gnuplot ( 5.4 ) |
Windows (10, 64 bit) | gfortran (12.1.0), intel (2021.6.0) | Dislin ( 11.5 ) | gnuplot ( 5.4 ) |
-
Procedural programming
- internal procedures
- external procedures
-
Modular programming
-
Object-oriented programming
-
Parallel programming with
- Co-arrays
- OpenMP
- MPI
-
GPU programming with
- CUDA Fortran
- OpenACC