|
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