version 3.9.0
Loading...
Searching...
No Matches
diffusivitymillingtonquirk.hh
Go to the documentation of this file.
1
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2
// vi: set et ts=4 sw=4 sts=4:
3
//
4
// SPDX-FileCopyrightInfo: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5
// SPDX-License-Identifier: GPL-3.0-or-later
6
//
7
#ifndef DUMUX_MATERIAL_DIFFUSIVITY_MILLINGTON_QUIRK_HH
8
#define DUMUX_MATERIAL_DIFFUSIVITY_MILLINGTON_QUIRK_HH
9
10
#include <cmath>
11
#include <algorithm>
12
13
namespace
Dumux
{
14
35
template
<
class
Scalar>
36
class
DiffusivityMillingtonQuirk
37
{
38
public
:
51
template
<
class
VolumeVariables>
52
static
Scalar
effectiveDiffusionCoefficient
(
const
VolumeVariables& volVars,
53
const
int
phaseIdx,
54
const
int
compIdxI,
55
const
int
compIdxJ)
56
{
57
// instead of D_eff = phi S tau D = phi S 1/phi^2 (phi S)^(7/3) D
58
// we implement more efficiently D_eff = phi S^3 cubicroot(phi S) D
59
using
std::cbrt;
60
using
std::max;
61
const
Scalar diffCoeff = volVars.diffusionCoefficient(phaseIdx, compIdxI, compIdxJ);
62
const
Scalar porosity = volVars.porosity();
63
const
Scalar sat = max<Scalar>(volVars.saturation(phaseIdx), 0.0);
64
return
porosity * (sat*sat*sat) * cbrt(porosity * sat) * diffCoeff;
65
}
66
};
67
68
}
// end namespace Dumux
69
70
#endif
Dumux::DiffusivityMillingtonQuirk
Relation for the effective diffusion coefficient after Millington and Quirk.
Definition
diffusivitymillingtonquirk.hh:37
Dumux::DiffusivityMillingtonQuirk::effectiveDiffusionCoefficient
static Scalar effectiveDiffusionCoefficient(const VolumeVariables &volVars, const int phaseIdx, const int compIdxI, const int compIdxJ)
Returns the effective diffusion coefficient ( )
Definition
diffusivitymillingtonquirk.hh:52
Dumux
Definition
adapt.hh:17
dumux
material
fluidmatrixinteractions
diffusivitymillingtonquirk.hh
© Copyright 2010-
DuMux project contributors
(doc pages:
CC-BY 4.0
/ code examples:
GPLv3 or later
)
3.9.0 Generated by
1.12.0