How Feel++ works
Feel++ is not one application, one executable, it is a set of libraries and applications. It provides a framework to deal with each step of the pipeline for solving partial differential equations. Feel++ applications, however, do share commonalities: they follow necessary and optional steps that we describe below in a general manner. More technical details are available in the Developer Manual.
- Start Feel++ environment
-
When executing a Feel++ application, a runtime environment is started. It enables
-
creating a directory where the results of the applications are stored
-
command line options and configuration files
-
parallel computing: both MPI and multi-threading.
-
logging support: log files are generated by the Feel++ library. They contain information about how the applications run.
-
{optional) enabling parallel solver frameworks {petsc} and {slepc}
- Do some general operations
-
The following steps are optional but are very common in Feel++ applications including the {feelpptb}
-
Define and partition meshes
-
Define function spaces
-
Define linear and bilinear forms
-
Solve linear or nonlinear algebraic systems
-
Export data to scientific visualization data formats
-
- Exit Feel++ environment
-
When exiting a Feel++ application, the system is properly shutdown:
-
all files are saved and closed.
-
(optional) the parallel solver frameworks are shut down
-
the parallel computing framework is shutdown
-