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 <cmath>
22 #include <iostream>
23 #include <cstdlib>
24 #include <vector>
25 #include <fstream>
26 
27 #include <deal.II/base/parameter_handler.h>
28 #include "base_material.h"
29 using namespace dealii;
30 
31 
32 namespace FuelCellShop
33 
34 {
35  namespace Material
36  {
37 
42  class PureLiquid : public BaseMaterial
43  {
44  public:
45 
47  double M;
49  double Mu_0;
50 
54  virtual ~PureLiquid(){};
55 
56  virtual char* get_name() =0;
57  virtual char* get_formula() =0;
58  };
59  //---------------------------------------------------------------------------
60 
64  class LiquidWater : public PureLiquid
65  {
66  public:
67 
68  LiquidWater();
69  virtual ~LiquidWater();
70 
71  virtual char* get_name() ;
72  virtual char* get_formula() ;
73 
77  void declare_parameters ( ParameterHandler &param ) const;
78 
83  void initialize ( ParameterHandler &param );
84 
85  inline double get_DO2(){return oxygen_diffusion_coeff;};
86  inline double get_DH() {return proton_diffusion_coeff;};
87  inline double get_Relative_Permittivity(){return relative_permittivity;};
88 
92  static double get_density() { return 1.0;}
93 
97  inline double get_molecular_width() {return molecular_width;}
98 
99 
103  inline double get_HO2(){return HenryO2;}
104 
110  static double latentVap_heat(const double&);
117  static double deriv_latentVap_heat(const double&);
118 
123  static double viscosity(const double&);
129  static double deriv_viscosity(const double&);
130 
131 
132 
133  private:
134 
139  double HenryO2;
140 
141 
142  };
143 
144  }
145 }
146 
147 #endif
PureLiquid()
Constructor.
Definition: PureLiquid.h:52
double proton_diffusion_coeff
Definition: PureLiquid.h:136
double get_HO2()
Return the Henery&#39;s constant for oxygen in water .
Definition: PureLiquid.h:103
double get_molecular_width()
Return the width of a water molecule in .
Definition: PureLiquid.h:97
double get_DH()
Definition: PureLiquid.h:86
double oxygen_diffusion_coeff
Definition: PureLiquid.h:135
static double get_density()
Return the density of liquid water in .
Definition: PureLiquid.h:92
double get_Relative_Permittivity()
Definition: PureLiquid.h:87
double HenryO2
Definition: PureLiquid.h:139
LiquidWater as a publicly derived class of Pureliquid.
Definition: PureLiquid.h:64
double M
Molar mass in g/mol or kg/kmol.
Definition: PureLiquid.h:47
double relative_permittivity
Definition: PureLiquid.h:137
double get_DO2()
Definition: PureLiquid.h:85
Virtual class used to describe different liquids and pure materials for which viscority, diffusivity, etc.
Definition: PureLiquid.h:42
virtual ~PureLiquid()
Destructor.
Definition: PureLiquid.h:54
Virtual class used to provide the interface for all material classes.
Definition: base_material.h:54
double molecular_width
Definition: PureLiquid.h:138
double Mu_0
dynamic viscosity at STP
Definition: PureLiquid.h:49