16 #ifndef _FUELCELL__PARAMETRIC_STUDY_H_
17 #define _FUELCELL__PARAMETRIC_STUDY_H_
122 void run (ParameterHandler& param,
123 std::string simulator_parameter_file_name,
136 const std::vector<double> param_value);
142 const std::string simulator_parameter_file_name,
145 const std::vector<std::string> parameter_name,
146 const std::vector<double> param_value,
147 std::map<std::string, double>& functionals);
153 const double param_value)
const
155 FcstUtilities::log<<
"============================================================================="<<std::endl;
159 if(!parameter_name.empty())
167 const std::vector<double> param_value)
const
169 FcstUtilities::log<<
"============================================================================="<<std::endl;
172 for(
unsigned int i = 0; i < parameter_name.size(); ++i)
194 std::map<std::string, double>& functionals);
306 std::vector<std::vector<double> >
curve;
int n_resp
Definition: parametric_study.h:315
std::vector< 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:265
virtual void print_parameteric_study_header()
Print parameteric study header into a file.
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::vector< std::string > parameter_name, const std::vector< 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...
int n_dpPts
Definition: parametric_study.h:295
void print_iteration_info(const unsigned int iteration, const double param_value) const
Definition: parametric_study.h:152
std::ofstream myfile
File object for output logging.
Definition: parametric_study.h:311
This class selects an openFCST application which will run.
Definition: simulation_selector.h:70
const unsigned int max_num_parameters
Set the maximum number of parameters that you can alter in a Parametric Study.
Definition: parametric_study.h:320
This application is used to perform a parametric study for a given fuel cell model.
Definition: parametric_study.h:96
void print_iteration_info(const unsigned int iteration, const std::vector< double > param_value) const
Definition: parametric_study.h:166
bool adaptive
Set to true if you would like to reduce the voltage increment adaptively if convergence could not be ...
Definition: parametric_study.h:280
void declare_parameters(ParameterHandler &) const
std::vector< std::string > name_responses
Definition: parametric_study.h:313
This class is initialized with an application that describes the linearization of the problem that we...
Definition: adaptive_refinement.h:52
double p_end
Final parameter value used in the parameteric study.
Definition: parametric_study.h:235
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:326
void run(ParameterHandler ¶m, std::string simulator_parameter_file_name, boost::shared_ptr< SimulationSelector< dim > > sim_selector)
Run a full polarization curve run.
ParametricStudy()
Constructor.
void initialize(ParameterHandler &)
Read parameters from file.
bool convergence
Convergence of the solution.
Definition: parametric_study.h:301
std::string parameter_filename
Variable where the output file to store parameteric study results is stored.
Definition: parametric_study.h:199
virtual void set_parameters(ParameterHandler ¶m, const shared_ptr< FuelCell::ApplicationCore::AdaptiveRefinement< dim > > &solver, const int iteration, const std::vector< std::string > parameter_name, const std::vector< double > param_value)
Modify cell voltage and any other parameters that you would like to modify with respect to the inital...
BlockVector< double > FEVector
The vector class used by applications.
Definition: application_data.h:46
double p_init
Initial value to run the parametric study, in the units specified for the value.
Definition: parametric_study.h:221
virtual void print_parameters() const
Print parameters:
std::vector< 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:207
double min_dp
Definition: parametric_study.h:293
double dp
Spacing between points in the parameteric study.
Definition: parametric_study.h:249
std::vector< std::vector< double > > curve
Map used to store the parametric study data.
Definition: parametric_study.h:306