OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
homogeneous_CL.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2006-13 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 // - Class: homogeneous_CL.h
10 // - Description: Class characterizing the macro-homogeneous catalyst layer.
11 // - Developers: Marc Secanell, Peter Dobson and Madhur Bhaiya
12 // - Id: $Id: homogeneous_CL.h 2605 2014-08-15 03:36:44Z secanell $
13 //
14 //---------------------------------------------------------------------------
15 
16 #ifndef _FUELCELLSHOP__HOMOGENEOUS_CL__H
17 #define _FUELCELLSHOP__HOMOGENEOUS_CL__H
18 
19 // Include openFCST routines:
20 #include <utils/fcst_constants.h>
21 #include <layers/conventional_CL.h>
22 
23 namespace FuelCellShop
24 {
25  namespace Layer
26  {
35  template <int dim>
36  class HomogeneousCL :
37  public ConventionalCL<dim>
38  {
39  public:
40 
56  static const std::string concrete_name;
57 
59 
60 
65  HomogeneousCL();
66 
71 
73 
75 
76 
80  virtual void current_density(std::vector<double>&);
81 
86  virtual void current_density(std::vector<double>& current, std::vector<double>& effectiveness)
87  {
88  current_density(current);
89  effectiveness.assign(current.size(), 1.0);
90  }
91 
96  virtual void derivative_current_density(std::map< VariableNames, std::vector<double> >& );
98 
99  protected:
101 
102 
106  HomogeneousCL(const std::string name);
107 
114  virtual void declare_parameters (const std::string& cl_section_name,
115  ParameterHandler &param) const;
116 
121  void initialize (ParameterHandler &param);
123 
125 
126 
131  virtual boost::shared_ptr<FuelCellShop::Layer::CatalystLayer<dim> > create_replica (const std::string &cl_section_name)
132  {
133  return boost::shared_ptr<FuelCellShop::Layer::CatalystLayer<dim> > (new FuelCellShop::Layer::HomogeneousCL<dim> (cl_section_name));
134  }
136 
138 
139 
144 
146  void set_cell_id(const unsigned int& ) {}
147  };
148  }
149 }
150 
151 #endif
static const std::string concrete_name
Concrete name used for objects of this class.
Definition: homogeneous_CL.h:56
HomogeneousCL()
Prototye Constructor.
VariableNames
The enumeration containing the names of some of the available FCST solution variables and their deriv...
Definition: system_management.h:63
virtual boost::shared_ptr< FuelCellShop::Layer::CatalystLayer< dim > > create_replica(const std::string &cl_section_name)
This member function is used to create an object of type gas diffusion layer.
Definition: homogeneous_CL.h:131
const std::string name
Name of the layer.
Definition: base_layer.h:336
virtual void derivative_current_density(std::map< VariableNames, std::vector< double > > &)
This member function will use a FuelCellShop::BaseKinetics class in order to compute the derivative o...
static HomogeneousCL< dim > const * PROTOTYPE
Definition: homogeneous_CL.h:142
void initialize(ParameterHandler &param)
Member function used to read in data and initialize the necessary data to compute the coefficients...
This class characterizes a catalyst layer and uses this information to compute effective transport pr...
Definition: conventional_CL.h:48
virtual void current_density(std::vector< double > &)
This member function will use a FuelCellShop::BaseKinetics class in order to compute the current dens...
This class characterizes a catalyst layer and uses this information to compute effective transport pr...
Definition: homogeneous_CL.h:36
void set_cell_id(const unsigned int &)
This routine is not used for this layer.
Definition: homogeneous_CL.h:146
virtual void current_density(std::vector< double > &current, std::vector< double > &effectiveness)
This member function computes the current density production in the CL.
Definition: homogeneous_CL.h:86
virtual void declare_parameters(const std::string &cl_section_name, ParameterHandler &param) const
Declare parameters for a parameter file.