OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
polarization_curve.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2009-13 by Energy Systems Design Laboratory, University of Alberta
6 //
7 // This software is distributed under the MIT License.
8 // For more information, see the README file in /doc/LICENSE
9 //
10 // - Class: polarization_curve.h
11 // - Description: Child of ApplicationWrapper used to implement adaptive refinement
12 // - Developers: M. Secanell
13 // - $Id: polarization_curve.h 2605 2014-08-15 03:36:44Z secanell $
14 //
15 //---------------------------------------------------------------------------
16 
17 #ifndef _FUELCELL__POLARIZATION_CURVE_H_
18 #define _FUELCELL__POLARIZATION_CURVE_H_
19 
20 // OpenFCST
23 #include <utils/fcst_utilities.h>
24 #include <utils/parametric_study.h>
25 
26 // STD include files
27 #include <string>
28 #include <vector>
29 #include <iostream>
30 #include <fstream>
31 
32 #include <stdio.h>
33 #include <stdlib.h>
34 
35 namespace FuelCell
36 {
100  template <int dim>
102  :
103  public ParametricStudy<dim>
104  {
105  public:
110 
133  void declare_parameters (ParameterHandler& param) const;
134 
138  void initialize (ParameterHandler& param);
139 
140  private:
146  void set_parameters(ParameterHandler& param,
147  const shared_ptr<FuelCell::ApplicationCore::AdaptiveRefinement<dim> >& solver,
148  const int iteration,
149  const std::string parameter_name,
150  const double param_value);
151 
155  void print_parameters() const;
156 
160  void print_parameteric_study(const std::vector<std::vector<double> >& curve) const;
161  };
162 }
163 
164 #endif
void initialize(ParameterHandler &param)
Read parameters from file.
This application is used to perform a parametric study for a given fuel cell model.
Definition: parametric_study.h:78
This class is initialized with an application that describes the linearization of the problem that we...
Definition: adaptive_refinement.h:54
void print_parameteric_study(const std::vector< std::vector< double > > &curve) const
Print polarization curve into a file.
This application is used to compute the polarization curve for a given fuel cell model.
Definition: polarization_curve.h:101
void set_parameters(ParameterHandler &param, const shared_ptr< FuelCell::ApplicationCore::AdaptiveRefinement< dim > > &solver, const int iteration, const std::string parameter_name, const double param_value)
Modify cell voltage and any other parameters that you would like to modify with respect to the inital...
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
PolarizationCurve()
Constructor.
void declare_parameters(ParameterHandler &param) const
Declare all parameters that are needed for:
void print_parameters() const
Print parameters:
std::vector< std::vector< double > > curve
Map used to store the parametric study data.
Definition: parametric_study.h:270