Class used to store, read from file and define the operating conditions for a fuel cell.
More...
|
| OperatingConditions () |
| Constructor.
|
|
| ~OperatingConditions () |
| Destructor.
|
|
void | declare_parameters (ParameterHandler ¶m) const |
| Declare all necessary parameters in order to compute the coefficients.
|
|
void | set_parameters (const std::vector< std::string > &name_dvar, const std::vector< double > &value_dvar, ParameterHandler ¶m) const |
| This class is used in order to create an interface with DAKOTA.
|
|
void | initialize (ParameterHandler ¶m) |
| Class used to read in data and initialize the necessary data to compute the coefficients.
|
|
double | saturation_pressure () |
| Get the water vapour saturation pressure in atmospheres (atm) using cell temperature.
|
|
double | get_x_wv () |
| Get the mole fraction of water at the cathode channel from pressure, temperature, and relative humidity note that the anode mole fraction of water is not required, as there are only two species so x_wv_a = 1 - x_h2.
|
|
double | get_x_o2 () |
| Get the mole fraction of oxygen at the cathode channel from pressure, temperature, and relative humidity.
|
|
double | get_x_h2 () |
| Get the mole fraction of hydrogen at the anode channel from pressure, temperature, and relative humidity.
|
|
double | voltage_cell_th () |
| NOTE: This function is redefined in base_kinetics class, considering variable temperature and gas pressures.
|
|
void | print_operating_conditions () |
|
double | get_c_c () |
| Get the total gas concentration in the cathode.
|
|
double | get_T () |
| Return cell temperture as input in Operating Conditions subsection.
|
|
double | get_V () |
| Return cell voltage as input in Operating Conditions subsection.
|
|
double | get_dV_a () |
| Return the voltage drop in the anode.
|
|
double | get_pc_Pa () |
| Return cathode pressure as input in Operating Conditions subsection.
|
|
double | get_pc_atm () |
| Return cathode pressure as input in Operating Conditions subsection.
|
|
double | get_c_a () |
| Get the total gas concentration in the anode.
|
|
double | get_pa_Pa () |
| Return anode pressure as input in Operating Conditions subsection.
|
|
double | get_pa_atm () |
| Return anode pressure as input in Operating Conditions subsection.
|
|
double | get_RH_a () |
| Return anode relative humidity as input in Operating Conditions subsection.
|
|
double | get_RH_c () |
| Return cathode relative humidity as input in Operating Conditions subsection.
|
|
double | get_OCV () |
| Get the open circuit voltage for the cell.
|
|
Class used to store, read from file and define the operating conditions for a fuel cell.
It stores the following:
- cell temperature
- cell voltage
- oxygen mole fraction at the inlet of the channel
- relative humidity at anode and cathode
- total pressure at anode and cathode
This information, in conjunction with the water saturation equation is used to compute the mole fractions for each component in the mixture.
If the inlet is humidified air, please set the oxygen mole fraction to 0.21 (default).
In the input file, the following parameters can be specified (see declare_parameters ):
subsection Fuel cell data
(...)
subsection Operating conditions
set Temperature cell = 353
set Cathode pressure = 101325
set Cathode initial oxygen mole fraction (prior to humidification) = 0.21
set Cathode relative humidity = 0.7
set Anode pressure = 101325
set Anode relative humidity = 0.7
set Voltage cell = 0.6
set Voltage drop in the anode = 0.015
set Open circuit voltage = 1.23
end
end
Usage Details:
In order to use this class, first an object of the class needs to be created. Usually, one such objects exists in every application. To create the object, include the .h file in the include application file and in the application data member section add the object. For example:
Once the object is created, the section where the input data will be specified in the input file needs to be delcared. To do so, in the declare_parameters section of your application call the following:
template <int dim>
void
NAME::AppCathode<dim>::declare_parameters(ParameterHandler& param)
{
(...)
(...)
}
If you intent to run an optimization/parameteric study, then you might have some variables that you wish to modify during the simulation. This is achieved in section set_parameters in the application file:
template <int dim>
void
NAME::AppCathode<dim>::set_parameters(const std::vector<std::string>& name_dvar,
const std::vector<double>& value_dvar,
ParameterHandler& param)
{
(...)
(...)
}
Finally, once the input file has been read by our application, your class needs to be initialized. This is achieved using the function initialize()
template <int dim>
void
NAME::AppCathode<dim>::_initialize(ParameterHandler& param)
{
(...)
}
You are now ready to use your OperatingConditions object!.
- Author
- M. Secanell, 2009-2013