OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
Functions and classes of the application framework. More...
Classes | |
class | LocalResponse |
The Integrator computing the current density in the CL. More... | |
class | OptimizationBlockMatrixApplication |
Application handling matrices and assembling the linear system to solve the sensitivity equations. More... | |
class | AdaptiveRefinement |
This class is initialized with an application that describes the linearization of the problem that we would like to solve and the nonlinear solved that drives the process (usually a Newton loop). More... | |
class | newtonBase |
Base class for all classes peforming Newton's iteration. More... | |
class | NewtonBasic |
This class performs basic Newton iterations with a constant weight. More... | |
class | Newton3pp |
Application class performing Newton's iteration. More... | |
class | Newton3ppC |
Application class performing Newton's iteration. More... | |
class | NewtonLineSearch |
Application class performing Newton's iteration. More... | |
class | ApplicationBase |
Base class for applications. More... | |
class | ApplicationCopy |
Base class for non-terminal applications. More... | |
class | ApplicationData |
Here we handle general data of applications. More... | |
class | BlockMatrixApplication |
Application handling matrices and assembling linear systems of equations. More... | |
struct | VectorSelector |
The structure indicating which blocks of which stored vectors should be handed over to the local integration functions for residuals and matrices. More... | |
class | LocalIntegrator |
The class using CellInfo and FaceInfo to compute local contributions to a 1form. More... | |
class | LocalResidual |
class | LocalEstimate |
class | DoFApplication |
Integrate the residual using DoFApplication::integrate_1form(). More... | |
class | Event |
Objects of this kind are used to notify interior applications of changes provoked by an outer loop. More... | |
class | FEVectors |
The data type used in function calls of Application. More... | |
class | MatrixApplication |
Application handling matrices and assembling linear systems of equations. More... | |
struct | MatrixBlock |
A wrapper around a matrix object, storing the coordinates in a block matrix as well. More... | |
class | MeshLoop |
Loop over a sequence of meshes and solve the inner application. More... | |
class | DoFMeshLoop |
A derivate form MeshLoop providing additional functionality which needs information from a DoFApplication. More... | |
class | Newton |
Application class performing Newton's iteration. More... | |
class | Random |
An application class solving the same problem with a set of random start vectors. More... | |
class | Residual |
An abstract class for computing residuals. More... | |
class | ApplicationResidual |
A class computing a Residual using the function Application::residual() of the derived Application. More... | |
class | RungeKuttaExplicit |
Application class for explicit Runge-Kutta methods. More... | |
class | TimestepControl |
Control class for timestepping schemes. More... | |
class | ThetaTimestepping |
Application class performing the theta timestepping scheme. More... | |
class | ThetaResidual |
A more sophisticated residual class that splits jobs between the two kinds of residual needed for ThetaTimestepping. More... | |
Typedefs | |
typedef BlockVector< double > | FEVector |
The vector class used by applications. | |
typedef std::vector < MatrixBlock< FullMatrix < double > > > | MatrixVector |
The matrix vector handed to the local integration routines in MatrixApplication::assemble(). | |
typedef std::vector< Vector < double > > | VectorVector |
The vector of vectors handed to the local integration routines in residual(). | |
Functions | |
void | open_logfile (const std::string &filename=std::string("")) |
Open a logfile. | |
void | declare_parameter_files (ParameterHandler ¶m) |
Declare some additional global parameters and try to read parameter files. | |
void | read_parameter_files (ParameterHandler ¶m, const std::string &filename=std::string("")) |
Read some additional global parameters and try to read parameter files. | |
void | initialize (int argc, char **argv) |
General initialization of the AppFrame in order to simplify main functions. | |
Variables | |
int | argc |
Copy of the number of parameters for main, set by initialize(). | |
char ** | argv |
Copy of the parameters for main, set by initialize(). | |
Functions and classes of the application framework.
Application classes in this framework are derived from ApplicationBase, where the interface a driver program may use is defined.
The only driver program available right now is the function mesh_loop(), which repeats discretizing and solving an application on a sequence of meshes.
???
Therefore, application programs may be very short. Take for example test/newton.cc
:
First, we include the files containing the definition of the Newton application and of the SquareApplication
used by Newton.
Then, we implement the required function get_application(), first creating an instance of SquareApplication
and initializing Newton's method with it. It returns a pointer to the last method in the chain, which is Newton.
typedef BlockVector< double > AppFrame::FEVector |
The vector class used by applications.
typedef std::vector<MatrixBlock<FullMatrix<double> > > AppFrame::MatrixVector |
The matrix vector handed to the local integration routines in MatrixApplication::assemble().
typedef std::vector<Vector<double> > AppFrame::VectorVector |
The vector of vectors handed to the local integration routines in residual().
void AppFrame::declare_parameter_files | ( | ParameterHandler & | param | ) |
Declare some additional global parameters and try to read parameter files.
void AppFrame::initialize | ( | int | argc, |
char ** | argv | ||
) |
General initialization of the AppFrame in order to simplify main functions.
Call this function first of all in your program.
Referenced by MeshWorker::BlockInfo::initialize(), and AppFrame::MatrixApplication< dim >::LocalMatrixIntegrator< ASSEMBLER >::initialize().
void AppFrame::open_logfile | ( | const std::string & | filename = std::string("") | ) |
Open a logfile.
The name of the logfile can be given as an optional char*
; a suffix of this name will be removed and the suffix .dlg
will be added. If no name is given, the name of the file will be the host name.
After opening the file, deallog
will automatically log into the file.
void AppFrame::read_parameter_files | ( | ParameterHandler & | param, |
const std::string & | filename = std::string("") |
||
) |
Read some additional global parameters and try to read parameter files.
This function attempts to read common.prm
, output.prm
and filename.prm
from the path for parameter files set in PathSearch.
int AppFrame::argc |
Copy of the number of parameters for main, set by initialize().
Referenced by FcstUtilities::FCSTdatabase::callback().
char** AppFrame::argv |
Copy of the parameters for main, set by initialize().