OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
response_ohmic_heat.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: response_ohmic_heat.h
11 // - Description: This is header file for electronic and protonic ohmic heat response evaluator classes.
12 // - Developers: Madhur Bhaiya
13 // - $Id:
14 //
15 // ----------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP__RESPONSE_OHMIC_HEAT_H
18 #define _FUELCELLSHOP__RESPONSE_OHMIC_HEAT_H
19 
20 //Include STL
21 #include <exception> // std::exception
22 
23 // Include OpenFCST routines:
26 
27 using namespace dealii;
28 
29 namespace FuelCellShop
30 {
31 
32  namespace PostProcessing
33  {
34 
101  template <int dim>
103  {
104  public:
106 
109  :
110  BaseResponse<dim>(sm),
111  thermal_equation(tte),
112  factor_GDL(0),
113  factor_MPL(0),
114  factor_CL(0)
115  {}
116 
118 
124  void initialize(ParameterHandler& param);
125 
127 
129 
137  void compute_responses(const typename DoFApplication<dim>::CellInfo& info,
139  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& respMap) const;
140 
147  void compute_responses(std::vector< FuelCellShop::SolutionVariable > solution_variables,
148  const typename DoFApplication<dim>::CellInfo& info,
150  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& respMap) const
151  {
152  throw std::runtime_error("ElectronOhmicHeatResponse::compute_responses(solution_variables, info, layer, respMap) not implemented");
153  }
155  //
156  private:
161 
167 
171  unsigned int factor_GDL;
172 
176  unsigned int factor_MPL;
177 
181  unsigned int factor_CL;
182  };
183 
184 
185  //===============================================================================================================
186  //===============================================================================================================
187  //===============================================================================================================
188  //===============================================================================================================
189 
190 
257  template <int dim>
259  {
260  public:
262 
265  :
266  BaseResponse<dim>(sm),
267  thermal_equation(tte),
268  factor_CL(0),
269  factor_ML(0)
270  {}
271 
273 
279  void initialize(ParameterHandler& param);
280 
282 
284 
292  void compute_responses(const typename DoFApplication<dim>::CellInfo& info,
294  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& respMap) const;
301  void compute_responses(std::vector< FuelCellShop::SolutionVariable > solution_variables,
302  const typename DoFApplication<dim>::CellInfo& info,
304  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& respMap) const
305  {
306  throw std::runtime_error("ProtonOhmicHeatResponse::compute_responses(solution_variables, info, layer, respMap) not implemented");
307  }
309  //
310  private:
315 
321 
327 
333 
337  unsigned int factor_CL;
338 
342  unsigned int factor_ML;
343  };
344  }
345 }
346 
347 #endif
FuelCellShop::Equation::VariableInfo tRev
VariableInfo structure corresponding to the &quot;temperature_of_REV&quot;.
Definition: response_ohmic_heat.h:332
const unsigned int dim
Definition: fcst_constants.h:23
ElectronOhmicHeatResponse(const FuelCell::SystemManagement &sm, const FuelCellShop::Equation::ThermalTransportEquation< dim > *tte)
Definition: response_ohmic_heat.h:107
const FuelCellShop::Equation::ThermalTransportEquation< dim > * thermal_equation
Pointer to ThermalTransportEquation object.
Definition: response_ohmic_heat.h:314
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 > &respMap) const
Routine used in order to compute the response with a modified solution (not the one stored in CellInf...
Definition: response_ohmic_heat.h:147
unsigned int factor_CL
Factor is 1 if electronic ohmic heating in CL is enabled, else 0.
Definition: response_ohmic_heat.h:181
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 > &respMap) const
Routine used in order to compute the response with a modified solution (not the one stored in CellInf...
Definition: response_ohmic_heat.h:301
Class used to calculate the protonic ohmic heat generated in the proton conducting layers...
Definition: response_ohmic_heat.h:258
~ProtonOhmicHeatResponse()
Definition: response_ohmic_heat.h:272
This class deals with Thermal Transport Equation.
Definition: thermal_transport_equation.h:187
Virtual class used to develop a common interface to a set of functions used to evaluate functionals t...
Definition: base_response.h:131
ProtonOhmicHeatResponse(const FuelCell::SystemManagement &sm, const FuelCellShop::Equation::ThermalTransportEquation< dim > *tte)
Definition: response_ohmic_heat.h:263
This class is created for the objects handed to the mesh loops.
Definition: mesh_loop_info_objects.h:544
unsigned int factor_CL
Factor is 1 if protonic ohmic heating in CL is enabled, else 0.
Definition: response_ohmic_heat.h:337
FuelCellShop::Equation::VariableInfo phiM
VariableInfo structure corresponding to the &quot;protonic_electrical_potential&quot;.
Definition: response_ohmic_heat.h:320
FuelCellShop::Equation::VariableInfo phiS
VariableInfo structure corresponding to the &quot;electronic_electrical_potential&quot;.
Definition: response_ohmic_heat.h:166
IMPORTANT: Add all new solution variables and equations here !
Definition: system_management.h:300
This simple structure stores certain information regarding a particular variable for the equation (al...
Definition: equation_auxiliaries.h:51
FuelCellShop::Equation::VariableInfo lambda
VariableInfo structure corresponding to the &quot;membrane_water_content&quot;.
Definition: response_ohmic_heat.h:326
unsigned int factor_GDL
Factor is 1 if electronic ohmic heating in GDL is enabled, else 0.
Definition: response_ohmic_heat.h:171
Class used to calculate the electronic ohmic heat generated in the electron conducting layers...
Definition: response_ohmic_heat.h:102
unsigned int factor_MPL
Factor is 1 if electronic ohmic heating in MPL is enabled, else 0.
Definition: response_ohmic_heat.h:176
unsigned int factor_ML
Factor is 1 if protonic ohmic heating in Membrane is enabled, else 0.
Definition: response_ohmic_heat.h:342
const FuelCellShop::Equation::ThermalTransportEquation< dim > * thermal_equation
Pointer to ThermalTransportEquation object.
Definition: response_ohmic_heat.h:160
Virtual class used to characterize a generic layer interface.
Definition: base_layer.h:58
~ElectronOhmicHeatResponse()
Definition: response_ohmic_heat.h:117