OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
This class selects an openFCST application which will run. More...
#include <simulation_selector.h>
Protected Member Functions | |
const std::string | get_simulator_names () const |
This function forms the string of names. More... | |
const std::string | get_simulator_specifications () const |
This function forms the string of names. More... | |
const std::string | get_nonlinear_solver_names () const |
This function forms the string of names. More... | |
const std::string | get_refinement_methods () const |
This function forms the string of names. More... | |
Protected Attributes | |
boost::shared_ptr < FuelCell::ApplicationCore::ApplicationData > | data |
Data structure storing information to be shared between applications. More... | |
std::string | name_application |
Name of application. More... | |
std::string | app_specification |
Variable storing the name of the concrete application to be solved from the broader class of applications defined by name_application . More... | |
std::string | name_nonlinear_solver |
The name of a nonlinear solver. More... | |
std::string | name_refinement_method |
Name of refinement method. More... | |
This class selects an openFCST application which will run.
get_simulator_names()
function,get_simulator_specifications()
function (optional),shared_ptr
to your app to the list of shared_ptrs
in select_application()
function using the same pattern.SimulationSelector< dim >::SimulationSelector | ( | boost::shared_ptr< FuelCell::ApplicationCore::ApplicationData > | data = boost::shared_ptr< FuelCell::ApplicationCore::ApplicationData >() | ) |
Constructor.
SimulationSelector< dim >::~SimulationSelector | ( | ) |
Destructor.
void SimulationSelector< dim >::declare_parameters | ( | ParameterHandler & | param | ) | const |
Declare parameters.
|
inlineprotected |
This function forms the string of names.
|
inlineprotected |
This function forms the string of names.
|
inlineprotected |
This function forms the string of names.
|
inlineprotected |
This function forms the string of names.
void SimulationSelector< dim >::initialize | ( | ParameterHandler & | param | ) |
Initialize parameters.
boost::shared_ptr< FuelCell::ApplicationCore::OptimizationBlockMatrixApplication<dim> > SimulationSelector< dim >::select_application | ( | ) |
Assign the application you would like to solve.
All applications should be inherited from FuelCell::ApplicationCore::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< FuelCell::ApplicationCore::ApplicationWrapper > SimulationSelector< dim >::select_solver | ( | FuelCell::ApplicationCore::OptimizationBlockMatrixApplication< dim > * | app_lin | ) |
Select solver.
boost::shared_ptr< FuelCell::ApplicationCore::AdaptiveRefinement<dim> > SimulationSelector< dim >::select_solver_method | ( | FuelCell::ApplicationCore::OptimizationBlockMatrixApplication< dim > * | app_lin, |
FuelCell::ApplicationCore::ApplicationWrapper * | newton_solver, | ||
const FuelCell::ApplicationCore::FEVector & | solution = FuelCell::ApplicationCore::FEVector() |
||
) |
Select the solution method.
Only adaptive refinement is available.
|
protected |
Variable storing the name of the concrete application to be solved from the broader class of applications defined by name_application
.
Example: name_application
= app_incompressible_flows
and app_specification
= Poiseuille
.
|
protected |
Data structure storing information to be shared between applications.
|
protected |
Name of application.
|
protected |
The name of a nonlinear solver.
|
protected |
Name of refinement method.