Cantera  2.0
TortuosityBruggeman.h
Go to the documentation of this file.
1 /**
2  * @file TortuosityBase.h
3  * Virtual base class to compute the increase in diffusive path length associated with
4  * tortuous path diffusion through, for example, porous media.
5  */
6 
7 /*
8  * Copyright (2005) Sandia Corporation. Under the terms of
9  * Contract DE-AC04-94AL85000 with Sandia Corporation, the
10  * U.S. Government retains certain rights in this software.
11  */
12 
13 #ifndef CT_TORTUOSITYBRUGGEMAN_H
14 #define CT_TORTUOSITYBRUGGEMAN_H
15 
16 #include "TortuosityBase.h"
17 
18 namespace Cantera
19 {
20 
21 //! Base case to handle tortuosity corrections for diffusive transport
22 //! in porous media using the Bruggeman exponential approximation
23 /*!
24  * Class to compute the increase in diffusive path length associated with
25  * tortuous path diffusion through, for example, porous media.
26  * This base class implementation relates tortuosity to volume fraction
27  * through a power-law relationship that goes back to Bruggeman. The
28  * exponent is referred to as the Bruggeman exponent.
29  *
30  * Note that the total diffusional flux is generally written as
31  *
32  * \f[
33  * \frac{ \phi C_T D_i \nabla X_i }{ \tau^2 }
34  * \f]
35  *
36  * where \f$ \phi \f$ is the volume fraction of the transported phase,
37  * \f$ \tau \f$ is referred to as the tortuosity. (Other variables are
38  * \f$ C_T \f$, the total concentration, \f$ D_i \f$, the diffusion
39  * coefficient, and \f$ X_i \f$, the mole fraction with Fickian
40  * transport assumed.)
41  *
42  * The tortuosity comes into play in conjunction the the
43  */
45 {
46 
47 public:
48  //! Default constructor uses Bruggeman exponent of 1.5
49  /*!
50  * @param setPower Exponent in the Bruggeman factor. The default is 1.5
51  */
52  TortuosityBruggeman(doublereal setPower = 1.5);
53 
54  //! Copy Constructor
55  /*!
56  * @param right Object to be copied
57  */
59 
60  //! Default destructor for TortuosityBruggeman
61  virtual ~TortuosityBruggeman();
62 
63  //! Assignment operator
64  /*!
65  * @param right Object to be copied
66  */
68 
69  //! Duplication operator
70  /*!
71  * @return Returns a pointer to a duplicate of the current object given a
72  * base class pointer
73  */
75 
76  //! The tortuosity factor models the effective increase in the
77  //! diffusive transport length.
78  /*!
79  * This method returns \f$ 1/\tau^2 \f$ in the description of the flux
80  *
81  * \f$ C_T D_i \nabla X_i / \tau^2 \f$.
82  *
83  *
84  */
85  virtual doublereal tortuosityFactor(doublereal porosity);
86 
87  //! The McMillan number is the ratio of the flux-like
88  //! variable to the value it would have without porous flow.
89  /**
90  * The McMillan number combines the effect of tortuosity
91  * and volume fraction of the transported phase. The net flux
92  * observed is then the product of the McMillan number and the
93  * non-porous transport rate. For a conductivity in a non-porous
94  * media, \f$ \kappa_0 \f$, the conductivity in the porous media
95  * would be \f$ \kappa = (\rm McMillan) \kappa_0 \f$.
96  */
97  virtual doublereal McMillanFactor(doublereal porosity);
98 
99 
100 protected:
101  //! Bruggeman exponent: power to which the tortuosity depends on the volume fraction
102  doublereal expBrug_;
103 
104 };
105 
106 
107 
108 }
109 
110 #endif
111