OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
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 ¶m) const |
Declare the necessary parameters on the handler object. | |
void | initialize (ParameterHandler ¶m) |
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. | |
This class is used to select the different applications within FCST.
$Header$
SimulationSelector< dim >::SimulationSelector | ( | ) |
Constructor.
SimulationSelector< dim >::~SimulationSelector | ( | ) |
Destructor.
void SimulationSelector< dim >::declare_parameters | ( | ParameterHandler & | param | ) | const |
Declare the necessary parameters on the handler object.
void SimulationSelector< dim >::initialize | ( | ParameterHandler & | param | ) |
Initialize the local variables from the handler object.
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:
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.
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
|
protected |
Variable storing the name of the application to be solved.
|
protected |
Variable storing the name of the solution method.
|
protected |
Variable storing the name of the non-linear solver.