OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PureLiquid.h
Go to the documentation of this file.
1 //---------------------------------------------------------------------------
2 //
3 // FCST: Fuel Cell Simulation Toolbox
4 //
5 // Copyright (C) 2013 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: PureLiquid.h
11 // - Description: Material class for pure liquids.
12 // - Developers: Madhur Bhaiya and Phil Wardlaw
13 // - Id: $Id: PureLiquid.h 2605 2014-08-15 03:36:44Z secanell $
14 //
15 //---------------------------------------------------------------------------
16 
17 #ifndef _FUELCELLSHOP__PURELIQUID__H
18 #define _FUELCELLSHOP__PURELIQUID__H
19 
20 //Include STL
21 #include <cstdlib>
22 #include <vector>
23 #include <fstream>
24 
25 #include <deal.II/base/parameter_handler.h>
27 using namespace dealii;
28 
29 
30 namespace FuelCellShop
31 
32 {
33  namespace Material
34  {
35 
40  class PureLiquid : public BaseMaterial
41  {
42  public:
43 
45  double M;
47  double Mu_0;
48 
52  virtual ~PureLiquid(){};
53 
54  virtual char* get_name() =0;
55  virtual char* get_formula() =0;
56  };
57  //---------------------------------------------------------------------------
58 
62  class LiquidWater : public PureLiquid
63  {
64  public:
65 
66  LiquidWater();
67  virtual ~LiquidWater();
68 
69  virtual char* get_name() ;
70  virtual char* get_formula() ;
71 
75  void declare_parameters ( ParameterHandler &param ) const;
76 
81  void initialize ( ParameterHandler &param );
82 
83  inline double get_DO2(){return oxygen_diffusion_coeff;};
84  inline double get_DH() {return proton_diffusion_coeff;};
85  inline double get_Relative_Permittivity(){return relative_permittivity;};
86 
90  static double get_density() { return 1.0;}
91 
95  inline double get_molecular_width() {return molecular_width;}
96 
97 
101  inline double get_HO2(){return HenryO2;}
102 
108  static double latentVap_heat(const double&);
109 
115  static double surface_tension(const double&);
122  static double deriv_latentVap_heat(const double&);
123 
128  static double viscosity(const double&);
134  static double deriv_viscosity(const double&);
135 
136 
137 
138  private:
139 
144  double HenryO2;
145 
146 
147  };
148 
149  }
150 }
151 
152 #endif
PureLiquid()
Constructor.
Definition: PureLiquid.h:50
double proton_diffusion_coeff
Definition: PureLiquid.h:141
double get_HO2()
Return the Henery&#39;s constant for oxygen in water .
Definition: PureLiquid.h:101
double get_molecular_width()
Return the width of a water molecule in .
Definition: PureLiquid.h:95
double get_DH()
Definition: PureLiquid.h:84
double oxygen_diffusion_coeff
Definition: PureLiquid.h:140
static double get_density()
Return the density of liquid water in .
Definition: PureLiquid.h:90
double get_Relative_Permittivity()
Definition: PureLiquid.h:85
double HenryO2
Definition: PureLiquid.h:144
LiquidWater as a publicly derived class of Pureliquid.
Definition: PureLiquid.h:62
double M
Molar mass in g/mol or kg/kmol.
Definition: PureLiquid.h:45
double relative_permittivity
Definition: PureLiquid.h:142
double get_DO2()
Definition: PureLiquid.h:83
Virtual class used to describe different liquids and pure materials for which viscority, diffusivity, etc.
Definition: PureLiquid.h:40
virtual ~PureLiquid()
Destructor.
Definition: PureLiquid.h:52
Virtual class used to provide the interface for all material classes.
Definition: base_material.h:54
double molecular_width
Definition: PureLiquid.h:143
double Mu_0
dynamic viscosity at STP
Definition: PureLiquid.h:47