OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
channel.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2006-2015 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: channel.h
11 // - Description: This class describes a channel
12 // - Developers: Valentin N. Zingan, University of Alberta
13 // - Id: $Id$
14 //
15 // ----------------------------------------------------------------------------
16 
17 #ifndef _FCST_FUELCELLSHOP_LAYER_CHANNEL_H_
18 #define _FCST_FUELCELLSHOP_LAYER_CHANNEL_H_
19 
20 #include <layers/base_layer.h>
22 #include <materials/GasMixture.h>
23 
24 namespace FuelCellShop
25 {
26 namespace Layer
27 {
28 
50 template<int dim>
51 class Channel : public BaseLayer<dim>
52 {
53 public:
54 
56 
57 
61  Channel(const std::string& name);
62 
66  Channel(const std::string& name,
68 
72  Channel(const std::string& name,
74 
78  virtual ~Channel();
79 
84  {
85  fluid = &rfluid;
86  gas_mixture = nullptr;
87  }
88 
93  {
94  fluid = nullptr;
95  gas_mixture = &rgas_mixture;
96  }
97 
101  virtual void declare_parameters(ParameterHandler& param) const;
102 
106  virtual void initialize(ParameterHandler& param);
107 
109 
111 
112 
118  {
119  return fluid;
120  }
121 
127  {
128  return gas_mixture;
129  }
130 
135  const double& get_roughness() const
136  {
137  return roughness;
138  }
139 
144  const Tensor<2,dim>& get_effective_electronic_conductivity() const
145  {
147  }
148 
161  const std::type_info& get_base_type() const
162  {
163  return typeid(Channel<dim>);
164  }
165 
170  virtual void print_layer_properties() const;
171 
173 
174 protected:
175 
177 // DATA //
179 
181 
182 
192 
197 
201  double roughness;
202 
207 
209 
210 };
211 
212 } // Layer
213 
214 } // FuelCellShop
215 
216 #endif
const FuelCellShop::Material::GasMixture *const get_gas_mixture() const
This function returns gas_mixture.
Definition: channel.h:126
Tensor< 2, dim > effective_electronic_conductivity
Effective electronic conductivity, .
Definition: channel.h:206
void initialize(FuelCellShop::Material::ExperimentalFluid &rfluid)
Initialize fluid.
Definition: channel.h:83
Channel(const std::string &name)
Constructor.
const Tensor< 2, dim > & get_effective_electronic_conductivity() const
This function returns effective_electronic_conductivity [S/cm].
Definition: channel.h:144
FuelCellShop::Material::GasMixture * gas_mixture
Gas mixture.
Definition: channel.h:196
const std::string name
Name of the layer.
Definition: base_layer.h:336
const std::type_info & get_base_type() const
This function returns typeid of this class.
Definition: channel.h:161
const double & get_roughness() const
This function returns roughness [cm].
Definition: channel.h:135
const FuelCellShop::Material::ExperimentalFluid *const get_fluid() const
This function returns fluid.
Definition: channel.h:117
This class describes properties of gas mixtures.
Definition: GasMixture.h:102
double roughness
Roughness, cm.
Definition: channel.h:201
virtual void print_layer_properties() const
This function prints out the layer properties.
This class describes a channel and stores pointers to.
Definition: channel.h:51
This class describes.
Definition: experimental_fluid.h:44
virtual ~Channel()
Destructor.
FuelCellShop::Material::ExperimentalFluid * fluid
Definition: channel.h:191
Virtual class used to characterize a generic layer interface.
Definition: base_layer.h:58
virtual void declare_parameters(ParameterHandler &param) const
Declare parameters.
void initialize(FuelCellShop::Material::GasMixture &rgas_mixture)
Initialize gas_mixture.
Definition: channel.h:92