OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
carbon.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2011-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 //
10 // - Class: carbon.h
11 // - Description: Class characterizing a carbon black support
12 // - Developers: M. Secanell and Madhur Bhaiya
13 // - $Id: carbon.h 1354 2013-08-17 00:01:22Z secanell $
14 //
15 //---------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP__CARBON_H
18 #define _FUELCELLSHOP__CARBON_H
19 
20 //Include STL
21 #include<cmath>
22 #include<iostream>
23 
24 // FCST
25 #include "catalyst_support_base.h"
26 
27 
28 namespace FuelCellShop
29 {
30  namespace Material
31  {
68  class CarbonBlack :
69  public CatalystSupportBase
70  {
71  public:
72 
76  static const std::string concrete_name;
77 
79 
80 
84  CarbonBlack(const bool);
85 
89  ~CarbonBlack();
90 
91 
93 
95 
96 
97  virtual double get_electrical_conductivity() const
98  {
99  return this->electrical_conductivity;
100  }
101 
103  virtual double get_thermal_conductivity() const
104  {
105  return this->thermal_conductivity;
106  };
107 
109  virtual double get_density() const
110  {
111  return this->density;
112  };
114 
115  private:
117 
118 
124  CarbonBlack();
125 
129  virtual void declare_parameters(ParameterHandler &param) const;
130 
144  virtual void set_parameters (const std::vector<std::string>& name_dvar,
145  const std::vector<double>& value_dvar,
146  ParameterHandler& param);
147 
151  virtual void initialize (ParameterHandler &param);
153 
155 
156 
161  virtual boost::shared_ptr<FuelCellShop::Material::CatalystSupportBase > create_replica ()
162  {
163  return boost::shared_ptr<FuelCellShop::Material::CatalystSupportBase > (new FuelCellShop::Material::CarbonBlack ());
164  }
168  static CarbonBlack const* PROTOTYPE;
170 
171  };
172  }
173 }
174 
175 #endif