OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
response_reaction_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_reaction_heat.h
11 // - Description: This is header file for response class computing heat generated due to electrochemical reactions.
12 // - Developers: Madhur Bhaiya
13 // - $Id:
14 //
15 // ----------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP__RESPONSE_REACTION_HEAT_H
18 #define _FUELCELLSHOP__RESPONSE_REACTION_HEAT_H
19 
20 //Include STL
21 #include <exception> // std::exception
22 
23 // Include OpenFCST routines:
25 #include <layers/catalyst_layer.h>
27 
28 using namespace dealii;
29 
30 namespace FuelCellShop
31 {
32 
33  namespace PostProcessing
34  {
35 
102  template <int dim>
104  {
105  public:
107 
110  :
111  BaseResponse<dim>(sm),
112  reaction_source(rst),
113  reaction_heat(NULL)
114  {}
115 
117  {
118  delete reaction_heat;
119  }
120 
126  void initialize(ParameterHandler& param);
127 
129 
131 
150  void compute_responses(const typename DoFApplication<dim>::CellInfo& info,
152  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& respMap) const;
153 
160  void compute_responses(std::vector< FuelCellShop::SolutionVariable > solution_variables,
161  const typename DoFApplication<dim>::CellInfo& info,
163  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& respMap) const
164  {
165  throw std::runtime_error("ORRReactionHeatResponse::compute_responses(solution_variables, info, layer, respMap) not implemented");
166  }
168  //
169  private:
174 
179 
185 
191 
197 
203 
209  };
210 
211 
212  //===============================================================================================================
213  //===============================================================================================================
214  //===============================================================================================================
215  //===============================================================================================================
216 
217 
283  template <int dim>
285  {
286  public:
288 
291  :
292  BaseResponse<dim>(sm),
293  reaction_source(rst),
294  reaction_heat(NULL)
295  {}
296 
298  {
299  delete reaction_heat;
300  }
301 
307  void initialize(ParameterHandler& param);
308 
310 
312 
328  void compute_responses(const typename DoFApplication<dim>::CellInfo& info,
330  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& respMap) const;
331 
338  void compute_responses(std::vector< FuelCellShop::SolutionVariable > solution_variables,
339  const typename DoFApplication<dim>::CellInfo& info,
341  std::map<FuelCellShop::PostProcessing::ResponsesNames, double>& respMap) const
342  {
343  throw std::runtime_error("HORReactionHeatResponse::compute_responses(solution_variables, info, layer, respMap) not implemented");
344  }
346  //
347  private:
352 
357 
363 
369 
375 
381 
387 
393  };
394  }
395 }
396 
397 #endif
const unsigned int dim
Definition: fcst_constants.h:23
FuelCellShop::Equation::ReactionHeat * reaction_heat
Pointer to ReactionHeat object.
Definition: response_reaction_heat.h:184
FuelCellShop::Kinetics::BaseKinetics * kinetics
Pointer to BaseKinetics object.
Definition: response_reaction_heat.h:356
Class used to calculate the heat generated due to HOR inside the anode catalyst layer.
Definition: response_reaction_heat.h:284
~HORReactionHeatResponse()
Definition: response_reaction_heat.h:297
FuelCellShop::Equation::VariableInfo tRev
VariableInfo structure corresponding to the &quot;temperature_of_REV&quot;.
Definition: response_reaction_heat.h:392
FuelCellShop::Equation::VariableInfo phiS
VariableInfo structure corresponding to the &quot;electronic_electrical_potential&quot;.
Definition: response_reaction_heat.h:196
const FuelCellShop::Equation::ReactionSourceTerms< dim > * reaction_source
Pointer to ReactionSourceTerms object.
Definition: response_reaction_heat.h:173
Virtual class used to develop a common interface to a set of functions used to evaluate functionals t...
Definition: base_response.h:131
FuelCellShop::Equation::VariableInfo xWater
VariableInfo structure corresponding to the &quot;water_molar_fraction&quot;.
Definition: response_reaction_heat.h:374
This class is created for the objects handed to the mesh loops.
Definition: mesh_loop_info_objects.h:544
~ORRReactionHeatResponse()
Definition: response_reaction_heat.h:116
const FuelCellShop::Equation::ReactionSourceTerms< dim > * reaction_source
Pointer to ReactionSourceTerms object.
Definition: response_reaction_heat.h:351
Class used to calculate the heat generated due to ORR inside the cathode catalyst layer...
Definition: response_reaction_heat.h:103
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_reaction_heat.h:160
Virtual class used to provide the interface for all kinetic/reaction children.
Definition: base_kinetics.h:102
FuelCellShop::Kinetics::BaseKinetics * kinetics
Pointer to BaseKinetics object.
Definition: response_reaction_heat.h:178
FuelCellShop::Equation::VariableInfo tRev
VariableInfo structure corresponding to the &quot;temperature_of_REV&quot;.
Definition: response_reaction_heat.h:208
This class assembles the reaction source terms for all other transport equations, if there&#39;s any...
Definition: reaction_source_terms.h:37
FuelCellShop::Equation::VariableInfo phiS
VariableInfo structure corresponding to the &quot;electronic_electrical_potential&quot;.
Definition: response_reaction_heat.h:380
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 xOxygen
VariableInfo structure corresponding to the &quot;oxygen_molar_fraction&quot;.
Definition: response_reaction_heat.h:190
FuelCellShop::Equation::VariableInfo phiM
VariableInfo structure corresponding to the &quot;protonic_electrical_potential&quot;.
Definition: response_reaction_heat.h:202
FuelCellShop::Equation::ReactionHeat * reaction_heat
Pointer to ReactionHeat object.
Definition: response_reaction_heat.h:362
Virtual class used to characterize a generic layer interface.
Definition: base_layer.h:58
HORReactionHeatResponse(const FuelCell::SystemManagement &sm, const FuelCellShop::Equation::ReactionSourceTerms< dim > *rst)
Definition: response_reaction_heat.h:289
This class is used to compute non-linear reaction heat source terms in a catalyst layer...
Definition: reaction_heat.h:83
FuelCellShop::Equation::VariableInfo phiM
VariableInfo structure corresponding to the &quot;protonic_electrical_potential&quot;.
Definition: response_reaction_heat.h:386
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_reaction_heat.h:338
FuelCellShop::Equation::VariableInfo xHydrogen
VariableInfo structure corresponding to the &quot;hydrogen_molar_fraction&quot;.
Definition: response_reaction_heat.h:368
ORRReactionHeatResponse(const FuelCell::SystemManagement &sm, const FuelCellShop::Equation::ReactionSourceTerms< dim > *rst)
Definition: response_reaction_heat.h:108