17 #ifndef _FUELCELL__PARAMETRIC_STUDY_H_
18 #define _FUELCELL__PARAMETRIC_STUDY_H_
104 void run (ParameterHandler& param,
105 std::string simulator_parameter_file_name,
124 const std::string simulator_parameter_file_name,
127 const std::string parameter_name,
128 const double param_value,
129 std::map<std::string, double>& functionals);
135 const double param_value)
const
137 FcstUtilities::log<<
"============================================================================="<<std::endl;
159 std::map<std::string, double>& functionals);
270 std::vector<std::vector<double> >
curve;
int n_dpPts
Definition: parametric_study.h:259
void print_iteration_info(const unsigned int iteration, const double param_value) const
Definition: parametric_study.h:134
std::vector< double > p_values
Another way to define the sequence of parameter values is to use the vector p_values instead of varia...
Definition: parametric_study.h:229
This class selects an openFCST application which will run.
Definition: simulation_selector.h:68
virtual void set_parameters(ParameterHandler ¶m, const shared_ptr< FuelCell::ApplicationCore::AdaptiveRefinement< dim > > &solver, const int iteration, const std::string parameter_name, double param_value)
Modify cell voltage and any other parameters that you would like to modify with respect to the inital...
This application is used to perform a parametric study for a given fuel cell model.
Definition: parametric_study.h:78
bool adaptive
Set to true if you would like to reduce the voltage increment adaptively if convergence could not be ...
Definition: parametric_study.h:244
void declare_parameters(ParameterHandler &) const
This class is initialized with an application that describes the linearization of the problem that we...
Definition: adaptive_refinement.h:54
double p_end
Final parameter value used in the parameteric study.
Definition: parametric_study.h:199
void register_data(const double, std::map< std::string, double > &functionals)
Store the value of the current density in the solution.
FCSTLogStream log
Object used to output data to file and, if file attached recorded to a file as well.
FuelCell::ApplicationCore::FEVector coarse_solution
Vector used to store the solution from the previous iteration if convergence has been achieved...
Definition: parametric_study.h:276
void run(ParameterHandler ¶m, std::string simulator_parameter_file_name, boost::shared_ptr< SimulationSelector< dim > > sim_selector)
Run a full polarization curve run.
std::string parameter_name
String that defines the parameter that we would like to modify The parameter should be of the from...
Definition: parametric_study.h:171
ParametricStudy()
Constructor.
void initialize(ParameterHandler &)
Read parameters from file.
bool convergence
Convergence of the solution.
Definition: parametric_study.h:265
void run_point(ParameterHandler ¶m, const std::string simulator_parameter_file_name, const boost::shared_ptr< SimulationSelector< dim > > sim_selector, const int iteration, const std::string parameter_name, const double param_value, std::map< std::string, double > &functionals)
Run a single point in the polarization curve and return the current density and any other data...
std::string parameter_filename
Variable where the output file to store parameteric study results is stored.
Definition: parametric_study.h:164
BlockVector< double > FEVector
The vector class used by applications.
Definition: application_data.h:39
double p_init
Initial value to run the parametric study, in the units specified for the value.
Definition: parametric_study.h:185
virtual void print_parameters() const
Print parameters:
double min_dp
Definition: parametric_study.h:257
double dp
Spacing between points in the parameteric study.
Definition: parametric_study.h:213
std::vector< std::vector< double > > curve
Map used to store the parametric study data.
Definition: parametric_study.h:270
virtual void print_parameteric_study(const std::vector< std::vector< double > > &curve) const
Print parameteric study results into a file.