OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim > Class Template Reference

Class used to calculate the ORR current density and coverages (if provided in the kinetic model) by the catalyst layer. More...

#include <response_current_density.h>

Inheritance diagram for FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >:
Inheritance graph
[legend]
Collaboration diagram for FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >:
Collaboration graph
[legend]

Public Member Functions

Constructor, declaration and initialization
 ORRCurrentDensityResponse (const FuelCell::SystemManagement &sm)
 
 ~ORRCurrentDensityResponse ()
 
void declare_parameters (ParameterHandler &param) const
 Declare any necessary parameters to compute the functional. More...
 
void initialize (ParameterHandler &param)
 Initialize class parameters. More...
 

Compute functional

double S_CL
 Surface area. More...
 
double V_CL
 Volume. More...
 
FuelCellShop::Equation::VariableInfo xi
 VariableInfo structure corresponding to the reactant_molar_fraction. More...
 
FuelCellShop::Equation::VariableInfo phiM
 VariableInfo structure corresponding to the electrolyte potential. More...
 
FuelCellShop::Equation::VariableInfo phiS
 VariableInfo structure corresponding to the electronic phase potential. More...
 
std::string oxygen_density_name
 Set oxygen concentration name. More...
 
void compute_responses (const typename DoFApplication< dim >::CellInfo &info, FuelCellShop::Layer::BaseLayer< dim > *const layer, std::map< FuelCellShop::PostProcessing::ResponsesNames, double > &resp) const
 This member function computes the volumetric current density produced inside the electrode due to the oxygen reduction reaction. 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...
 
void set_oxygen_density_name (std::string name)
 For the case of multi-component solvers, we need to specify which one of the variables contains the oxygen concentration, e.g., density_species_1, density_species_2 and so on. More...
 

Additional Inherited Members

- Protected Member Functions inherited from FuelCellShop::PostProcessing::BaseResponse< dim >
 BaseResponse (const FuelCell::SystemManagement &sm)
 Constructor. More...
 
virtual ~BaseResponse ()
 Destructor. More...
 
- Protected Attributes inherited from FuelCellShop::PostProcessing::BaseResponse< dim >
const FuelCell::SystemManagementsystem_management
 Pointer to system management. More...
 

Detailed Description

template<int dim>
class FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >

Class used to calculate the ORR current density and coverages (if provided in the kinetic model) by the catalyst layer.

Since the surface area and volume of the catalyst layer is not known, the layer return the total current density produced, i.e.

\[ \int_{V_{el}} i dV_{el} \]

and the sum of all coverages at the element, i.e.

\[ \int_{V_{el}} \theta_i dV_{el} \]

In order for the class to provide current density and average coverage, the returned quantity has to be divided by surface area and catalyst layer volume respectively. If the surface area and volume are known at the input file, they can be specified and the quantities will automatically be corrected.

Note that this class will only work if an object of type CatalystLayer is passed as an argument.

Author
M. Secanell, 2014

Constructor & Destructor Documentation

Member Function Documentation

template<int dim>
void FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >::compute_responses ( const typename DoFApplication< dim >::CellInfo &  info,
FuelCellShop::Layer::BaseLayer< dim > *const  layer,
std::map< FuelCellShop::PostProcessing::ResponsesNames, double > &  resp 
) const
virtual

This member function computes the volumetric current density produced inside the electrode due to the oxygen reduction reaction.

In order to compute the current density, the following functional is evaluated

\[ I = int_{\Omega} i dV \]

In addition, if the catalyst layer uses a kinetic model that provides coverages those values are also provided in the response parameter, i.e., resp.

In order to access the current produced at the electrode use:

* ORR_responses[FuelCellShop::PostProcessing::ResponsesNames::current]
*

The coverages are accessed using FuelCellShop::PostProcessing::ResponsesNames::O_coverage and FuelCellShop::PostProcessing::ResponsesNames::OH_coverage

Implements FuelCellShop::PostProcessing::BaseResponse< dim >.

template<int dim>
void FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >::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
virtual

Routine used in order to compute the response with a modified solution (not the one stored in info)

Implements FuelCellShop::PostProcessing::BaseResponse< dim >.

template<int dim>
void FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >::declare_parameters ( ParameterHandler &  param) const
virtual

Declare any necessary parameters to compute the functional.

Reimplemented from FuelCellShop::PostProcessing::BaseResponse< dim >.

template<int dim>
void FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >::initialize ( ParameterHandler &  param)
virtual

Initialize class parameters.

Reimplemented from FuelCellShop::PostProcessing::BaseResponse< dim >.

template<int dim>
void FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >::set_oxygen_density_name ( std::string  name)
inline

For the case of multi-component solvers, we need to specify which one of the variables contains the oxygen concentration, e.g., density_species_1, density_species_2 and so on.

Provide this value here.

Member Data Documentation

template<int dim>
std::string FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >::oxygen_density_name
private

Set oxygen concentration name.

VariableInfo structure corresponding to the electrolyte potential.

VariableInfo structure corresponding to the electronic phase potential.

template<int dim>
double FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >::S_CL
private

Surface area.

template<int dim>
double FuelCellShop::PostProcessing::ORRCurrentDensityResponse< dim >::V_CL
private

Volume.

VariableInfo structure corresponding to the reactant_molar_fraction.


The documentation for this class was generated from the following file: