Cantera  2.1.2
TortuosityMaxwell.cpp
1 /**
2  * @file TortuosityBase.cpp
3  * 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 #include "TortuosityMaxwell.h"
15 
16 namespace Cantera
17 {
18 
19 //====================================================================================================================
20 // Default constructor
21 TortuosityMaxwell::TortuosityMaxwell(doublereal relativeConductivities) :
23  relativeConductivities_(relativeConductivities)
24 {
25 }
26 //====================================================================================================================
27 // Copy Constructor
28 /*
29  * @param right Object to be copied
30  */
33  relativeConductivities_(right.relativeConductivities_)
34 {
35  *this = right;
36 }
37 //====================================================================================================================
38 // Assignment operator
39 /*
40  * @param right Object to be copied
41  */
43 {
44  if (&right == this) {
45  return *this;
46  }
48 
50 
51  return *this;
52 }
53 //====================================================================================================================
54 // Duplication operator
55 /*
56  * @return Returns a pointer to a duplicate of the current object given a
57  * base class pointer
58  */
60 {
61  return new TortuosityMaxwell(*this);
62 }
63 //====================================================================================================================
64 // The tortuosity factor models the effective increase in the diffusive transport length.
65 /*
66  * This method returns \f$ 1/\tau^2 \f$ in the description of the flux
67  *
68  * \f$ C_T D_i \nabla X_i / \tau^2 \f$.
69  *
70  */
71 doublereal TortuosityMaxwell::tortuosityFactor(doublereal porosity)
72 {
73  return McMillanFactor(porosity) / porosity;
74 }
75 //====================================================================================================================
76 // The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
77 /*
78  * The McMillan number combines the effect of tortuosity
79  * and volume fraction of the transported phase. The net flux
80  * observed is then the product of the McMillan number and the
81  * non-porous transport rate. For a conductivity in a non-porous
82  * media, \f$ \kappa_0 \f$, the conductivity in the porous media
83  * would be \f$ \kappa = (\rm McMillan) \kappa_0 \f$.
84  */
85 doublereal TortuosityMaxwell::McMillanFactor(doublereal porosity)
86 {
87  return 1 + 3 * (1.0 - porosity) * (relativeConductivities_ - 1.0) / (relativeConductivities_ + 2);
88 }
89 //====================================================================================================================
90 }
TortuosityBase & operator=(const TortuosityBase &right)
Assignment operator.
doublereal relativeConductivities_
Relative conductivities of the dispersed and continuous phases,.
Base case to handle tortuosity corrections for diffusive transport in porous media.
virtual TortuosityBase * duplMyselfAsTortuosityBase() const
Duplication operator.
TortuosityMaxwell(double relativeConductivites=0.0)
Default constructor uses Maxwelln exponent of 1.5.
TortuosityMaxwell & operator=(const TortuosityMaxwell &right)
Assignment operator.
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 ...
Maxwell model for tortuosity.
Definitions for the classes that are thrown when Cantera experiences an error condition (also contain...