version 3.10.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-FileCopyrightText: Copyright © DuMux Project contributors, see AUTHORS.md in root folder
5
// SPDX-License-Identifier: GPL-3.0-or-later
6
//
12
13
#ifndef DUMUX_MATERIAL_DIFFUSIVITY_MILLINGTON_QUIRK_HH
14
#define DUMUX_MATERIAL_DIFFUSIVITY_MILLINGTON_QUIRK_HH
15
16
#include <cmath>
17
#include <algorithm>
18
19
namespace
Dumux
{
20
25
41
template
<
class
Scalar>
42
class
DiffusivityMillingtonQuirk
43
{
44
public
:
57
template
<
class
VolumeVariables>
58
static
Scalar
effectiveDiffusionCoefficient
(
const
VolumeVariables& volVars,
59
const
int
phaseIdx,
60
const
int
compIdxI,
61
const
int
compIdxJ)
62
{
63
// instead of D_eff = phi S tau D = phi S 1/phi^2 (phi S)^(7/3) D
64
// we implement more efficiently D_eff = phi S^3 cubicroot(phi S) D
65
using
std::cbrt;
66
using
std::max;
67
const
Scalar diffCoeff = volVars.diffusionCoefficient(phaseIdx, compIdxI, compIdxJ);
68
const
Scalar porosity = volVars.porosity();
69
const
Scalar sat = max<Scalar>(volVars.saturation(phaseIdx), 0.0);
70
return
porosity * (sat*sat*sat) * cbrt(porosity * sat) * diffCoeff;
71
}
72
};
73
74
}
// end namespace Dumux
75
76
#endif
Dumux::DiffusivityMillingtonQuirk
Relation for the effective diffusion coefficient after Millington and Quirk.
Definition
diffusivitymillingtonquirk.hh:43
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:58
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.10.0 Generated by
1.13.2