OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Functions | Variables
AppFrame Namespace Reference

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 &param)
 Declare some additional global parameters and try to read parameter files.
 
void read_parameter_files (ParameterHandler &param, 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().
 

Detailed Description

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.

Author
Guido Kanschat, 2006

Typedef Documentation

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().

Function Documentation

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().

Here is the caller graph for this function:

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.

Variable Documentation

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().