Cantera  2.1.2
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 
virtual ~TortuosityBase()
Default destructor for TortuosityBase.
TortuosityBase & operator=(const TortuosityBase &right)
Assignment operator.
This file contains definitions of terms that are used in internal routines and are unlikely to need m...
TortuosityBase()
Default constructor uses Bruggeman exponent of 1.5.
Base case to handle tortuosity corrections for diffusive transport in porous media.
virtual doublereal tortuosityFactor(doublereal porosity)
The tortuosity factor models the effective increase in the diffusive transport length.
virtual doublereal McMillanFactor(doublereal porosity)
The McMillan number is the ratio of the flux-like variable to the value it would have without porous ...
virtual TortuosityBase * duplMyselfAsTortuosityBase() const
Duplication operator.