Cantera  2.0
TortuosityBase.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_TORTUOSITYBASE_H
14 #define CT_TORTUOSITYBASE_H
15 
16 #include "cantera/base/ct_defs.h"
17 
18 namespace Cantera
19 {
20 
21 //! Base case to handle tortuosity corrections for diffusive transport
22 //! in porous media
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
50 
51  //! Copy Constructor
52  /*!
53  * @param right Object to be copied
54  */
55  TortuosityBase(const TortuosityBase& right);
56 
57  //! Default destructor for TortuosityBase
58  virtual ~TortuosityBase();
59 
60  //! Assignment operator
61  /*!
62  * @param right Object to be copied
63  */
65 
66  //! Duplication operator
67  /*!
68  * @return Returns a pointer to a duplicate of the current object given a
69  * base class pointer
70  */
72 
73  //! The tortuosity factor models the effective increase in the
74  //! diffusive transport length.
75  /*!
76  * This method returns \f$ 1/\tau^2 \f$ in the description of the flux
77  *
78  * \f$ C_T D_i \nabla X_i / \tau^2 \f$.
79  *
80  *
81  */
82  virtual doublereal tortuosityFactor(doublereal porosity);
83 
84  //! The McMillan number is the ratio of the flux-like
85  //! variable to the value it would have without porous flow.
86  /**
87  * The McMillan number combines the effect of tortuosity
88  * and volume fraction of the transported phase. The net flux
89  * observed is then the product of the McMillan number and the
90  * non-porous transport rate. For a conductivity in a non-porous
91  * media, \f$ \kappa_0 \f$, the conductivity in the porous media
92  * would be \f$ \kappa = (\rm McMillan) \kappa_0 \f$.
93  */
94  virtual doublereal McMillanFactor(doublereal porosity);
95 
96 protected:
97 
98 };
99 
100 
101 
102 }
103 
104 #endif
105