Cantera  2.1.2
TortuosityBruggeman.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 "TortuosityBruggeman.h"
15 
16 namespace Cantera
17 {
18 
19 //====================================================================================================================
20 // Default constructor
23  expBrug_(setPower)
24 {
25 }
26 //====================================================================================================================
27 // Copy Constructor
28 /*
29  * @param right Object to be copied
30  */
33  expBrug_(right.expBrug_)
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 
49  expBrug_ = right.expBrug_;
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 TortuosityBruggeman(*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  */
72 doublereal TortuosityBruggeman::tortuosityFactor(doublereal porosity)
73 {
74  return pow(porosity, expBrug_ - 1.0);
75 }
76 //====================================================================================================================
77 // The McMillan number is the ratio of the flux-like variable to the value it would have without porous flow.
78 /*
79  * The McMillan number combines the effect of tortuosity
80  * and volume fraction of the transported phase. The net flux
81  * observed is then the product of the McMillan number and the
82  * non-porous transport rate. For a conductivity in a non-porous
83  * media, \f$ \kappa_0 \f$, the conductivity in the porous media
84  * would be \f$ \kappa = (\rm McMillan) \kappa_0 \f$.
85  */
86 doublereal TortuosityBruggeman::McMillanFactor(doublereal porosity)
87 {
88  return pow(porosity, expBrug_);
89 }
90 //====================================================================================================================
91 }
virtual doublereal McMillanFactor(doublereal porosity)
The McMillan number is the ratio of the flux-like variable to the value it would have without porous ...
TortuosityBase & operator=(const TortuosityBase &right)
Assignment operator.
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.
Class to compute the increase in diffusive path length in porous media assuming the Bruggeman exponen...
Definitions for the classes that are thrown when Cantera experiences an error condition (also contain...