OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
response_current_density.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2014 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: responses.h
11 // - Description: This is a file containing the declaration of several FCST response evaluators
12 // - Developers: Marc Secanell Gallart, University of Alberta
13 // - $Id: response_current_density.h 2605 2014-08-15 03:36:44Z secanell $
14 //
15 // ----------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP__RESPONSE_CURRENT_DENSITY_H
18 #define _FUELCELLSHOP__RESPONSE_CURRENT_DENSITY_H
19 
20 //Include STL
21 #include <exception> // std::exception
22 
23 // Include OpenFCST routines:
24 #include <layers/catalyst_layer.h>
25 
27 
28 using namespace dealii;
29 
30 namespace FuelCellShop
31 {
32 
33  namespace PostProcessing
34  {
35 
58  template <int dim>
60  {
61  public:
63 
65  :
66  BaseResponse<dim>(sm)
67  {
68  oxygen_density_name = "";
69  }
70 
72 
76  void declare_parameters(ParameterHandler& param) const;
80  void initialize(ParameterHandler& param);
82 
84 
103  void compute_responses(const typename DoFApplication<dim>::CellInfo& info,
105  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& resp) const;
111  void compute_responses(std::vector< FuelCellShop::SolutionVariable > solution_variables,
112  const typename DoFApplication<dim>::CellInfo& info,
114  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& resp) const;
115 
120  void set_oxygen_density_name(std::string name)
121  {
122  oxygen_density_name = name;
123  }
124  private:
128  double S_CL;
132  double V_CL;
151  std::string oxygen_density_name;
152 
153  };
154 
155 
156  //===============================================================================================================
157  //===============================================================================================================
158  //===============================================================================================================
159  //===============================================================================================================
160 
179  template <int dim>
181  {
182  public:
184 
186  :
187  BaseResponse<dim>(sm)
188  {}
189 
191 
195  void declare_parameters(ParameterHandler& param) const;
199  void initialize(ParameterHandler& param);
201 
203 
222  void compute_responses(const typename DoFApplication<dim>::CellInfo& info,
224  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& resp) const;
230  void compute_responses(std::vector< FuelCellShop::SolutionVariable > solution_variables,
231  const typename DoFApplication<dim>::CellInfo& info,
233  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& resp) const;
234  //
235  //
236  private:
240  double S_CL;
244  double V_CL;
249  //FuelCellShop::Equation::VariableInfo x_H2;
260  };
261 
262  }
263 }
264 
265 #endif
std::string oxygen_density_name
Set oxygen concentration name.
Definition: response_current_density.h:151
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 o...
Definition: response_current_density.h:120
const unsigned int dim
Definition: fcst_constants.h:23
double S_CL
Surface area.
Definition: response_current_density.h:128
FuelCellShop::Equation::VariableInfo phiM
VariableInfo structure corresponding to the reactant_molar_fraction.
Definition: response_current_density.h:254
Class used to calculate the current density at the anode catalyst layer.
Definition: response_current_density.h:180
ORRCurrentDensityResponse(const FuelCell::SystemManagement &sm)
Definition: response_current_density.h:64
Virtual class used to develop a common interface to a set of functions used to evaluate functionals t...
Definition: base_response.h:131
This class is created for the objects handed to the mesh loops.
Definition: mesh_loop_info_objects.h:544
~HORCurrentDensityResponse()
Definition: response_current_density.h:190
double V_CL
Volume.
Definition: response_current_density.h:244
FuelCellShop::Equation::VariableInfo xi
VariableInfo structure corresponding to the reactant_molar_fraction.
Definition: response_current_density.h:137
FuelCellShop::Equation::VariableInfo phiS
VariableInfo structure corresponding to the electronic phase potential.
Definition: response_current_density.h:147
~ORRCurrentDensityResponse()
Definition: response_current_density.h:71
IMPORTANT: Add all new solution variables and equations here !
Definition: system_management.h:300
FuelCellShop::Equation::VariableInfo phiM
VariableInfo structure corresponding to the electrolyte potential.
Definition: response_current_density.h:142
This simple structure stores certain information regarding a particular variable for the equation (al...
Definition: equation_auxiliaries.h:51
double V_CL
Volume.
Definition: response_current_density.h:132
HORCurrentDensityResponse(const FuelCell::SystemManagement &sm)
Definition: response_current_density.h:185
double S_CL
Surface area.
Definition: response_current_density.h:240
Virtual class used to characterize a generic layer interface.
Definition: base_layer.h:58
FuelCellShop::Equation::VariableInfo phiS
VariableInfo structure corresponding to the electronic phase potential.
Definition: response_current_density.h:259
Class used to calculate the ORR current density and coverages (if provided in the kinetic model) by t...
Definition: response_current_density.h:59