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 "base_layer.h"
21 #include "experimental_fluid.h"
23 #include "GasMixture.h"
24 
25 namespace FuelCellShop
26 {
27 namespace Layer
28 {
29 
52 template<int dim>
53 class Channel : public BaseLayer<dim>
54 {
55 public:
56 
58 
59 
63  Channel(const std::string& name);
64 
68  Channel(const std::string& name,
70 
74  Channel(const std::string& name,
76 
80  Channel(const std::string& name,
82 
86  virtual ~Channel();
87 
92  {
93  fluid = &rfluid;
94  multi_fluid = nullptr;
95  gas_mixture = nullptr;
96  }
97 
102  {
103  fluid = nullptr;
104  multi_fluid = &rmulti_fluid;
105  gas_mixture = nullptr;
106  }
107 
112  {
113  fluid = nullptr;
114  multi_fluid = nullptr;
115  gas_mixture = &rgas_mixture;
116  }
117 
121  virtual void declare_parameters(ParameterHandler& param) const;
122 
126  virtual void initialize(ParameterHandler& param);
127 
129 
131 
132 
138  {
139  return fluid;
140  }
141 
147  {
148  return multi_fluid;
149  }
150 
156  {
157  return gas_mixture;
158  }
159 
164  const double& get_roughness() const
165  {
166  return roughness;
167  }
168 
173  const Tensor<2,dim>& get_effective_electronic_conductivity() const
174  {
176  }
177 
190  const std::type_info& get_base_type() const
191  {
192  return typeid(Channel<dim>);
193  }
194 
199  virtual void print_layer_properties() const;
200 
202 
203 protected:
204 
206 // DATA //
208 
210 
211 
221 
231 
236 
240  double roughness;
241 
246 
248 
249 };
250 
251 } // Layer
252 
253 } // FuelCellShop
254 
255 #endif
const FuelCellShop::Material::GasMixture *const get_gas_mixture() const
This function returns gas_mixture.
Definition: channel.h:155
Tensor< 2, dim > effective_electronic_conductivity
Effective electronic conductivity, .
Definition: channel.h:245
void initialize(FuelCellShop::Material::ExperimentalFluid &rfluid)
Initialize fluid.
Definition: channel.h:91
Channel(const std::string &name)
Constructor.
const Tensor< 2, dim > & get_effective_electronic_conductivity() const
This function returns effective_electronic_conductivity.
Definition: channel.h:173
FuelCellShop::Material::GasMixture * gas_mixture
Gas mixture.
Definition: channel.h:235
const std::string name
Name of the layer.
Definition: base_layer.h:336
FuelCellShop::Material::ExperimentalMultiFluid * multi_fluid
Definition: channel.h:230
const std::type_info & get_base_type() const
This function returns typeid of this class.
Definition: channel.h:190
const double & get_roughness() const
This function returns roughness.
Definition: channel.h:164
void initialize(FuelCellShop::Material::ExperimentalMultiFluid &rmulti_fluid)
Initialize multi_fluid.
Definition: channel.h:101
const FuelCellShop::Material::ExperimentalFluid *const get_fluid() const
This function returns fluid.
Definition: channel.h:137
This class describes properties of gas mixtures.
Definition: GasMixture.h:115
double roughness
Roughness, m.
Definition: channel.h:240
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:53
This class describes.
Definition: experimental_fluid.h:44
virtual ~Channel()
Destructor.
const FuelCellShop::Material::ExperimentalMultiFluid *const get_multi_fluid() const
This function returns multi_fluid.
Definition: channel.h:146
This class describes.
Definition: experimental_multi_fluid.h:44
FuelCellShop::Material::ExperimentalFluid * fluid
Definition: channel.h:220
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:111