OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Protected Attributes | List of all members
SimulationSelector< dim > Class Template Reference

This class is used to select the different applications within FCST. More...

#include <simulation_selector.h>

Public Member Functions

 SimulationSelector ()
 Constructor.
 
 ~SimulationSelector ()
 Destructor.
 
void declare_parameters (ParameterHandler &param) const
 Declare the necessary parameters on the handler object.
 
void initialize (ParameterHandler &param)
 Initialize the local variables from the handler object.
 
boost::shared_ptr
< AppFrame::OptimizationBlockMatrixApplication
< dim > > 
select_application ()
 Assign the application you would like to solve.
 
boost::shared_ptr
< AppFrame::ApplicationCopy
select_solver (AppFrame::OptimizationBlockMatrixApplication< dim > *app_lin)
 For linear, non-linear and transient problems, select nothing, a non-linear or a transient solver that you would like to use.
 
boost::shared_ptr
< AppFrame::AdaptiveRefinement
< dim > > 
select_solver_method (AppFrame::OptimizationBlockMatrixApplication< dim > *app_lin, AppFrame::ApplicationCopy *newton_solver, const AppFrame::FEVector &solution=AppFrame::FEVector())
 Select the solution method that you would like to use, eg.
 

Protected Attributes

std::string name_application
 Variable storing the name of the application to be solved.
 
std::string name_solver
 Variable storing the name of the non-linear solver.
 
std::string name_solve_method
 Variable storing the name of the solution method.
 

Detailed Description

template<int dim>
class SimulationSelector< dim >

This class is used to select the different applications within FCST.

Author
P. Dobson, M. Secanell, Ali M. Koupaei, Valentin N. Zingan and Madhur Bhaiya

$Header$

Constructor & Destructor Documentation

template<int dim>
SimulationSelector< dim >::SimulationSelector ( )

Constructor.

template<int dim>
SimulationSelector< dim >::~SimulationSelector ( )

Destructor.

Member Function Documentation

template<int dim>
void SimulationSelector< dim >::declare_parameters ( ParameterHandler &  param) const

Declare the necessary parameters on the handler object.

template<int dim>
void SimulationSelector< dim >::initialize ( ParameterHandler &  param)

Initialize the local variables from the handler object.

template<int dim>
boost::shared_ptr<AppFrame::OptimizationBlockMatrixApplication<dim> > SimulationSelector< dim >::select_application ( )

Assign the application you would like to solve.

All applications should be inherited from AppFrame::OptimizationBlockMatrixApplication<dim>.

If you develop a new application, you would assign the application an application name and add the following to this section:

else if (name_application.compare("cathode") == 0)
{
deallog<<" YOU ARE CURRENTLY SOLVING A CATHODE MODEL "<<std::endl;
app_lin = new FuelCell::AppCathode<dim>;
}
template<int dim>
boost::shared_ptr<AppFrame::ApplicationCopy > SimulationSelector< dim >::select_solver ( AppFrame::OptimizationBlockMatrixApplication< dim > *  app_lin)

For linear, non-linear and transient problems, select nothing, a non-linear or a transient solver that you would like to use.

template<int dim>
boost::shared_ptr<AppFrame::AdaptiveRefinement<dim> > SimulationSelector< dim >::select_solver_method ( AppFrame::OptimizationBlockMatrixApplication< dim > *  app_lin,
AppFrame::ApplicationCopy newton_solver,
const AppFrame::FEVector solution = AppFrame::FEVector() 
)

Select the solution method that you would like to use, eg.

Adaptive refinement

Member Data Documentation

template<int dim>
std::string SimulationSelector< dim >::name_application
protected

Variable storing the name of the application to be solved.

template<int dim>
std::string SimulationSelector< dim >::name_solve_method
protected

Variable storing the name of the solution method.

template<int dim>
std::string SimulationSelector< dim >::name_solver
protected

Variable storing the name of the non-linear solver.


The documentation for this class was generated from the following file: