Cantera  2.1.2
TortuosityPercolation.h
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_TORTUOSITYPERCOLATION_H
14 #define CT_TORTUOSITYPERCOLATION_H
15 
16 #include "TortuosityBase.h"
17 
18 namespace Cantera
19 {
20 
21 //! This class implements transport coefficient corrections
22 //! appropriate for porous media where percolation theory applies.
24 {
25 
26 public:
27  //! Default constructor uses Percolation exponent of 1.5
28  /*!
29  * @param setPower Exponent in the Percolation factor. The default is 1.5
30  */
31  TortuosityPercolation(double percolationThreshold = 0.4, double conductivityExponent = 2.0);
32 
33  //! Copy Constructor
34  /*!
35  * @param right Object to be copied
36  */
38 
39  //! Assignment operator
40  /*!
41  * @param right Object to be copied
42  */
44 
45  //! Duplication operator
46  /*!
47  * @return Returns a pointer to a duplicate of the current object given a
48  * base class pointer
49  */
51 
52  //! The tortuosity factor models the effective increase in the
53  //! diffusive transport length.
54  /*!
55  * This method returns \f$ 1/\tau^2 \f$ in the description of the flux
56  *
57  * \f$ C_T D_i \nabla X_i / \tau^2 \f$.
58  *
59  *
60  */
61  virtual doublereal tortuosityFactor(doublereal porosity);
62 
63  //! The McMillan number is the ratio of the flux-like
64  //! variable to the value it would have without porous flow.
65  /*!
66  * The McMillan number combines the effect of tortuosity
67  * and volume fraction of the transported phase. The net flux
68  * observed is then the product of the McMillan number and the
69  * non-porous transport rate. For a conductivity in a non-porous
70  * media, \f$ \kappa_0 \f$, the conductivity in the porous media
71  * would be \f$ \kappa = (\rm McMillan) \kappa_0 \f$.
72  */
73  virtual doublereal McMillanFactor(doublereal porosity);
74 
75 
76 protected:
77 
78  //! Critical volume fraction / site density for percolation
80 
81  //! Conductivity exponent
82  /*!
83  * The McMillan number (ratio of effective conductivity to non-porous conductivity) is
84  * \f[ \kappa/\kappa_0 = ( \phi - \phi_c )^\mu \f]
85  * where \f$ \mu \f$ is the conductivity exponent (typical values range from 1.6 to 2.0) and \f$ \phi_c \f$
86  * is the percolation threshold.
87  */
89 
90 
91 };
92 
93 
94 
95 }
96 
97 #endif
98 
virtual doublereal tortuosityFactor(doublereal porosity)
The tortuosity factor models the effective increase in the diffusive transport length.
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.
This class implements transport coefficient corrections appropriate for porous media where percolatio...
double percolationThreshold_
Critical volume fraction / site density for percolation.
virtual doublereal McMillanFactor(doublereal porosity)
The McMillan number is the ratio of the flux-like variable to the value it would have without porous ...
double conductivityExponent_
Conductivity exponent.
virtual TortuosityBase * duplMyselfAsTortuosityBase() const
Duplication operator.
TortuosityPercolation(double percolationThreshold=0.4, double conductivityExponent=2.0)
Default constructor uses Percolation exponent of 1.5.
TortuosityPercolation & operator=(const TortuosityPercolation &right)
Assignment operator.