Cantera  2.0
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  //! Default destructor for TortuosityPercolation
40  virtual ~TortuosityPercolation();
41 
42  //! Assignment operator
43  /*!
44  * @param right Object to be copied
45  */
47 
48  //! Duplication operator
49  /*!
50  * @return Returns a pointer to a duplicate of the current object given a
51  * base class pointer
52  */
54 
55  //! The tortuosity factor models the effective increase in the
56  //! diffusive transport length.
57  /*!
58  * This method returns \f$ 1/\tau^2 \f$ in the description of the flux
59  *
60  * \f$ C_T D_i \nabla X_i / \tau^2 \f$.
61  *
62  *
63  */
64  virtual doublereal tortuosityFactor(doublereal porosity);
65 
66  //! The McMillan number is the ratio of the flux-like
67  //! variable to the value it would have without porous flow.
68  /*!
69  * The McMillan number combines the effect of tortuosity
70  * and volume fraction of the transported phase. The net flux
71  * observed is then the product of the McMillan number and the
72  * non-porous transport rate. For a conductivity in a non-porous
73  * media, \f$ \kappa_0 \f$, the conductivity in the porous media
74  * would be \f$ \kappa = (\rm McMillan) \kappa_0 \f$.
75  */
76  virtual doublereal McMillanFactor(doublereal porosity);
77 
78 
79 protected:
80 
81  //! Critical volume fraction / site density for percolation
83 
84  //! Conductivity exponent
85  /*!
86  * The McMillan number (ratio of effective conductivity to non-porous conductivity) is
87  * \f[ \kappa/\kappa_0 = ( \phi - \phi_c )^\mu \f]
88  * where \f$ \mu \f$ is the conductivity exponent (typical values range from 1.6 to 2.0) and \f$ \phi_c \f$
89  * is the percolation threshold.
90  */
92 
93 
94 };
95 
96 
97 
98 }
99 
100 #endif
101