Table of Contents
The block-structure parallel FD solver is still a work in progress
Here an overview of the Morfeus finite difference (FD) framework is given. Included is a brief description of how to setup a new solver using the framework. Key objects/classes, and procedures are outlined. An overview of reading input files, reading grid files, initializing the library and data structures and, setting up PDEs, integrating the solution forward in time and writing outputs is given.
This needs more text added here.
This needs more text added here. Presumably something better than forward Euler is being used...
Below is a list of the important high-level objects and classes, with a brief discussion and links to detailed API documentation and their implementations. A complete list of all FD and FV classes and types can be found on the types list page.
This needs updating/finishing
object
is an abstract type to ensure descendents declare the required deferred bindings to
mark_as_defined
: Set the object as defineduser_defined
: Query whether the object is definedgrid
Is the Morfeus universal base type for all grids, even for FV grids. It extends object
.
set_units
: Set the physical units used by the gridget_units
: Get the physical units used by the gridThis is the main structured grid class used by Morfeus FD. It extends the grid
class.
Methods defined for this class can get information about the global grid as well as this images particular block.
This section needs to be filled in/expanded!
clone
:space_dimension
:set_metadata
:add description and how to use, etc.
discussion of important methods provided and how to use them, etc.
add description and how to use, etc.
discussion of important methods provided and how to use them, etc.
All Morfeus FV and FD procedures are listed on the procedures list page, but below is a curated list of those that correspond to high-level operations in FD. These should help you write your own programs and kernels using Morfeus FD.
assert
Is an assertion utility used in design by contract (DBC) for enforcing pre-conditions, post-conditions and invariants, as well in testing.
Add other stand-alone procedures used to instantiate objects of for other purposes where a TBP method is not used.