| 
    OpenFCST: The open-source Fuel Cell Simulation Toolbox
    
   | 
 
Namespace containing the basic application framework used to loop over cells and create objects passed to FuelCellShop::Equation objects. More...
Classes | |
| class | ApplicationBase | 
| Base class for applications.  More... | |
| class | ApplicationData | 
| Here we handle general data of applications.  More... | |
| class | ApplicationWrapper | 
| This class implements either iterative or time-stepping wrapper of applications.  More... | |
| class | BlockMatrixApplication | 
| Application handling matrices and assembling linear systems of equations.  More... | |
| class | DoFApplication | 
| Base class for all linear applications, i.e., all applications requiring Triangulation and DoFHandler classes.  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... | |
| struct | MatrixBlock | 
| A wrapper around a MATRIX object, storing the coordinates in the global block matrix as well.  More... | |
| struct | BlockInfo | 
A small structure collecting the different BlockIndices of FEVector vectors (for instance, solution) involved in the computations.  More... | |
| class | DoFInfo | 
| Very basic info class only containing information on geometry and degrees of freedom on a mesh entity.  More... | |
| class | IntegrationInfo | 
| This class is created for the objects handed to the mesh loops.  More... | |
| class | OptimizationBlockMatrixApplication | 
| Application handling matrices and assembling the linear system to solve the sensitivity equations.  More... | |
| class | DAESolver | 
| This class provides an interface to the Fortran 77 code COLDAE.  More... | |
| class | DAEWrapper | 
| This class is to be used as a wrapper for the functions needed in the DAESolver.  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 solver that drives the process (usually a Newton loop).  More... | |
| class | newtonBase | 
| Base class for all classes performing 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 | NewtonLineSearch | 
| Application class performing a Newton's iteration as described in newtonBase.  More... | |
| class | Picard | 
| Application class performing a Picard iteration as described in the PicardBase.  More... | |
| class | PicardBase | 
| Base class for all classes performing Picard iterations.  More... | |
| class | ThetaScheme | 
| class | TransientBase | 
| This is a base class for transient solvers.  More... | |
Typedefs | |
| typedef BlockVector< double > | FEVector | 
| The vector class used by applications.  More... | |
| typedef std::vector < MatrixBlock< FullMatrix < double > > >  | MatrixVector | 
| The matrix vector used in the mesh loops.  More... | |
| typedef std::vector< Vector < double > >  | VectorVector | 
| The std::vector of dealii::Vectors used in the mesh loops.  More... | |
| typedef void(* | fsub_ptr )(double &, double[], double[], double[]) | 
| typedef void(* | dfsub_ptr )(double &, double[], double[], double[]) | 
| typedef void(* | gsub_ptr )(int &, double[], double &) | 
| typedef void(* | dgsub_ptr )(int &, double[], double[]) | 
| typedef void(* | guess_ptr )(double &, double[], double[], double[]) | 
Enumerations | |
| enum | LinearSolver {  LinearSolver::UMFPACK, LinearSolver::CG, LinearSolver::ILU_GMRES, LinearSolver::MUMPS, LinearSolver::BICGSTAB }  | 
| Enumeration class for Linear solvers.  More... | |
| enum | NonLinearSolver {  NonLinearSolver::NONE, NonLinearSolver::NEWTONBASIC, NonLinearSolver::NEWTON3PP, NonLinearSolver::NEWTONLINESEARCH, PICARD }  | 
| Enumeration class for Non-linear solvers.  More... | |
| enum | RefinementSolver { RefinementSolver::ADAPTIVE } | 
| Enumeration class for refinement types.  More... | |
| enum | SolverName {  noSolver = 0, LINEAR, NEWTON, PICARD, PICARD }  | 
Functions | |
| template<int dim, typename TYPE > | |
| void | fill_data (const FEValuesBase< dim > &fe_values, const FEVector &fe_vector, const std::vector< unsigned int > &local_dof_indices, unsigned int first_index, unsigned int n_indices, std::vector< std::vector< TYPE > > &result) | 
Helper functions computing the desired data in each quadrature point of a mesh entity by calling FEValuesBase::get_function_values(), FEValuesBase::get_function_grads(), and FEValuesBase::get_function_hessians().  More... | |
| template<int dim> | |
| void | fill_data (const FEValuesBase< dim > &fe_values, const FEVector &fe_vector, const std::vector< unsigned int > &local_dof_indices, unsigned int first_index, unsigned int n_indices, std::vector< std::vector< double > > &result) | 
| template<int dim> | |
| void | fill_data (const FEValuesBase< dim > &fe_values, const FEVector &fe_vector, const std::vector< unsigned int > &local_dof_indices, unsigned int first_index, unsigned int n_indices, std::vector< std::vector< Tensor< 1, dim > > > &result) | 
| template<int dim> | |
| void | fill_data (const FEValuesBase< dim > &fe_values, const FEVector &fe_vector, const std::vector< unsigned int > &local_dof_indices, unsigned int first_index, unsigned int n_indices, std::vector< std::vector< Tensor< 2, dim > > > &result) | 
| void | DAE_dummy_guess (double &x, double z[], double y[], double df[]) | 
| A dummy guess function to be provided to COLDAE when a user wishes to provide none.  More... | |
| void | for_to_c_matrix (int rows, int cols, double *fmat, double **cmat) | 
| Converts a FORTRAN 2D array to a C/C++ 2D array.  More... | |
| void | c_to_for_matrix (int rows, int cols, double **cmat, double *fmat) | 
| Converts a C/C++ 2D array to a Fortran 2D array.  More... | |
Namespace containing the basic application framework used to loop over cells and create objects passed to FuelCellShop::Equation objects.
This namespace encapsulates all the routines that are used to generate an application. ApplicationBase and ApplicationWrapper are declared here. All applications inherit from the objects developed here.
| typedef void(* FuelCell::ApplicationCore::dfsub_ptr)(double &, double[], double[], double[]) | 
| typedef void(* FuelCell::ApplicationCore::dgsub_ptr)(int &, double[], double[]) | 
| typedef BlockVector< double > FuelCell::ApplicationCore::FEVector | 
The vector class used by applications.
| typedef void(* FuelCell::ApplicationCore::fsub_ptr)(double &, double[], double[], double[]) | 
| typedef void(* FuelCell::ApplicationCore::gsub_ptr)(int &, double[], double &) | 
| typedef void(* FuelCell::ApplicationCore::guess_ptr)(double &, double[], double[], double[]) | 
| typedef std::vector< MatrixBlock< FullMatrix<double> > > FuelCell::ApplicationCore::MatrixVector | 
The matrix vector used in the mesh loops.
| typedef std::vector< Vector<double> > FuelCell::ApplicationCore::VectorVector | 
The std::vector of dealii::Vectors used in the mesh loops.
      
  | 
  strong | 
      
  | 
  strong | 
      
  | 
  strong | 
| void FuelCell::ApplicationCore::c_to_for_matrix | ( | int | rows, | 
| int | cols, | ||
| double ** | cmat, | ||
| double * | fmat | ||
| ) | 
Converts a C/C++ 2D array to a Fortran 2D array.
| rows | is the number of rows in the 2D array. | 
| cols | is the number of columns in the 2D array. | 
| cmat | is the 2D C/C++ matrix. | 
| fmat | is the returned 2D FORTRAN matrix. | 
| void FuelCell::ApplicationCore::DAE_dummy_guess | ( | double & | x, | 
| double | z[], | ||
| double | y[], | ||
| double | df[] | ||
| ) | 
A dummy guess function to be provided to COLDAE when a user wishes to provide none.
| x | is a value between a <= x <= b. | 
| z | is the initial guess for z(u(x)). | 
| y | is the initial guess for y(x). | 
| df | is array that contains the  
  | 
      
  | 
  inline | 
Helper functions computing the desired data in each quadrature point of a mesh entity by calling FEValuesBase::get_function_values(), FEValuesBase::get_function_grads(), and FEValuesBase::get_function_hessians(). 
| fe_values,: | The FEValues object. | 
| fe_vector,: | The global finite element function in the form of a global nodal FEVector. | 
| local_dof_indices,: | The local DoF indices associated with the current mesh entity. | 
| first_index,: | The first index in local_dof_indices to be used. | 
| n_indices,: | The number of indices in local_dof_indices to be used. | 
| result,: | The result. | 
The access to ith component in qth quadrature point is result[i][q].
Referenced by FuelCell::ApplicationCore::IntegrationInfo< dim, FEVALUESBASE >::fill_local_data().

      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
| void FuelCell::ApplicationCore::for_to_c_matrix | ( | int | rows, | 
| int | cols, | ||
| double * | fmat, | ||
| double ** | cmat | ||
| ) | 
Converts a FORTRAN 2D array to a C/C++ 2D array.
| rows | is the number of rows in the 2D array. | 
| cols | is the number of columns in the 2D array. | 
| fmat | is the 2D FORTRAN matrix. | 
| cmat | is the returned 2D C/C++ matrix. | 
 1.8.5