OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
Class used to calculate the amount of water sorbed inside the catalyst layer. More...
#include <response_water_sorption.h>
Public Member Functions | |
Constructor, declaration and initialization | |
WaterSorptionResponse (const FuelCell::SystemManagement &sm, const FuelCellShop::Equation::SorptionSourceTerms< dim > *sst) | |
~WaterSorptionResponse () | |
void | initialize (ParameterHandler ¶m) |
Initialize class parameters. More... | |
Compute functional | |
const FuelCellShop::Equation::SorptionSourceTerms < dim > * | sorption_source |
Pointer to SorptionSourceTerms object. More... | |
double | time_k |
Rate of sorption/desorption. More... | |
FuelCellShop::Equation::VariableInfo | lambda |
VariableInfo structure corresponding to the "membrane_water_content" . More... | |
FuelCellShop::Equation::VariableInfo | x_w |
VariableInfo structure corresponding to the "water_molar_fraction" . More... | |
FuelCellShop::Equation::VariableInfo | tRev |
VariableInfo structure corresponding to the "temperature_of_REV" . More... | |
void | compute_responses (const typename DoFApplication< dim >::CellInfo &info, FuelCellShop::Layer::BaseLayer< dim > *const layer, std::map< FuelCellShop::PostProcessing::ResponsesNames, double > &respMap) const |
This member function computes the water adsorbed/desorbed from the electrolyte in the catalyst layer. More... | |
void | compute_responses (std::vector< FuelCellShop::SolutionVariable > solution_variables, const typename DoFApplication< dim >::CellInfo &info, FuelCellShop::Layer::BaseLayer< dim > *const layer, std::map< FuelCellShop::PostProcessing::ResponsesNames, double > &resp) const |
Routine used in order to compute the response with a modified solution (not the one stored in info) More... | |
Additional Inherited Members | |
Protected Member Functions inherited from FuelCellShop::PostProcessing::BaseResponse< dim > | |
BaseResponse (const FuelCell::SystemManagement &sm) | |
Constructor. More... | |
virtual | ~BaseResponse () |
Destructor. More... | |
virtual void | declare_parameters (ParameterHandler ¶m) const |
Declare any necessary parameters to compute the functional. More... | |
Protected Attributes inherited from FuelCellShop::PostProcessing::BaseResponse< dim > | |
const FuelCell::SystemManagement * | system_management |
Pointer to system management. More... | |
Class used to calculate the amount of water sorbed inside the catalyst layer.
The amount is reported in mol H2O/(s). Most applications then divide by the cell active area based on the given geometry, so if not stated, the value should be assumed to be in mol H2O/(s cm2).
This class returns the total water amount sorbed inside the layer, i.e.
If the response value is negative, it implies that water is desorbed from the catalyst layer. Applications can divide the obtained total quantity by surface area, volume etc. of the layer, in order to determine surface density, volumetric density etc.
In order to use this classes, first add them to your application as an object.
In the class constructor, construct the class passing SystemManagement and SorptionSourceTerms object. These objects are used in order to find the solution variables as appropriate, and flag parameters.
Note that unlike some response classes, this class is not required to declare parameters, as it is already deriving flag parameters from SorptionSourceTerms object.
Next, the object has to be initialized once SystemManagement and SorptionSourceTerms objects have already been initialized:
Finally, the object is ready for use in cell_responses in your application:
|
inline |
|
inline |
|
inlinevirtual |
This member function computes the water adsorbed/desorbed from the electrolyte in the catalyst layer.
In order to compute the water sorption, the following functional is evaluated
In order to access the sorbed water at the electrode use:
Implements FuelCellShop::PostProcessing::BaseResponse< dim >.
References FuelCell::ApplicationCore::IntegrationInfo< dim, FEVALUESBASE >::fe(), FuelCellShop::Layer::BaseLayer< dim >::get_base_type(), FuelCellShop::Material::PolymerElectrolyteBase::get_density(), FuelCellShop::Layer::CatalystLayer< dim >::get_electrolyte(), FuelCellShop::Material::PolymerElectrolyteBase::get_EW(), FuelCell::ApplicationCore::IntegrationInfo< dim, FEVALUESBASE >::global_data, FuelCellShop::Material::PolymerElectrolyteBase::set_temperature(), FuelCellShop::Material::PolymerElectrolyteBase::set_water_molar_fraction(), FuelCellShop::PostProcessing::sorbed_water, FuelCellShop::Material::PolymerElectrolyteBase::sorption_isotherm(), temperature_of_REV, FuelCell::ApplicationCore::IntegrationInfo< dim, FEVALUESBASE >::values, and water_molar_fraction.
|
inlinevirtual |
Routine used in order to compute the response with a modified solution (not the one stored in info)
Implements FuelCellShop::PostProcessing::BaseResponse< dim >.
|
inlinevirtual |
Initialize class parameters.
Reimplemented from FuelCellShop::PostProcessing::BaseResponse< dim >.
|
private |
VariableInfo structure corresponding to the "membrane_water_content"
.
|
private |
Pointer to SorptionSourceTerms object.
|
private |
Rate of sorption/desorption.
Specified by SorptionSourceTerms in parameter file section Sorption Source Terms >> Water soption time constant [1/s]
|
private |
VariableInfo structure corresponding to the "temperature_of_REV"
.
|
private |
VariableInfo structure corresponding to the "water_molar_fraction"
.