Cantera  2.1.2
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  //! 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 
97 protected:
98  //! Bruggeman exponent: power to which the tortuosity depends on the volume fraction
99  doublereal expBrug_;
100 
101 };
102 
103 
104 
105 }
106 
107 #endif
108 
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 base class to compute the increase in diffusive path length associated with tortuous path dif...
Base case to handle tortuosity corrections for diffusive transport in porous media.
TortuosityBruggeman(doublereal setPower=1.5)
Default constructor uses Bruggeman exponent of 1.5.
Base case to handle tortuosity corrections for diffusive transport in porous media using the Bruggema...
doublereal expBrug_
Bruggeman exponent: power to which the tortuosity depends on the volume fraction. ...
virtual doublereal tortuosityFactor(doublereal porosity)
The tortuosity factor models the effective increase in the diffusive transport length.
TortuosityBruggeman & operator=(const TortuosityBruggeman &right)
Assignment operator.
virtual TortuosityBase * duplMyselfAsTortuosityBase() const
Duplication operator.