PRISMS-PF (Version 2.0)
Major update to PRISMS-PF, released in August 2017. The core library is very similar to v1.2, but the user interface is substantially changed. Most importantly, input parameters are now read from a text file, instead of via #define statements. All of the individual interface changes are not listed here, see the User Guide for the new file structure and syntax.
Added functionality:
- New option for non-uniform Dirichlet BCs (either non-uniform in space or time)
- The integral of any postprocessed field can be calculated
- Non-rectangular meshes (implemented in the new application CHiMaD_benchmark6b)
Changes to the example applications:
- New application: dendriticSolidification, solidification of a pure material, accounting for temperature evolution
- New application: anisotropyFacet, demonstrates a simple way to specify facets for strong interfacial energy anisotropy
- New applications: CHiMaD_benchmark6a and CHiMaD_benchmark6b, the new CHiMaD electrochemistry benchmark problems, with a coupled Cahn-Hilliard-Poisson system of equations
Performance improvements:
- New containers for getting variables into and residuals out of the equations.h functions yields ~15% speedup
Bug fixes:
- Unit tests now run in debug mode
- The variables that can be accessed in postprocess.h are now unrelated to those for residualRHS in equations.h
Other changes:
- Changed the syntax for accessing variables and submitting residuals in equations.h, indices are now error-checked
- To be more accurate mathematically, renamed the "ZERO_DERIVATIVE" to "NATURAL"
- User guide overhauled to use tables instead of long blocks of text, when possible
- Free energies are now treated as just another postprocessing variable
- The postprocessing.h and nucleation.h files are now optional
- Updated the README, including a link to a repository for training materials
- Version changes file changed from a general text file to markdown
Known issues:
- PFields only work for scalar fields and only work when the variable with index zero is a scalar field.
- Postprocessing only works for scalar fields and only when the variable with index zero is a scalar field.
- The formulation file for the dendriticSolidifiation application may have errors.