From 9beabb1735dac3d7c1b9bc72179cc258d6e36f84 Mon Sep 17 00:00:00 2001 From: Bernd Flemisch <bernd@iws.uni-stuttgart.de> Date: Mon, 2 Sep 2013 08:35:15 +0000 Subject: [PATCH] use the mew effective diffusivity model also for el1p2c git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@11329 2fb0f335-1f38-0410-981e-8018bf24f1b0 --- dumux/geomechanics/el1p2c/el1p2cfluxvariables.hh | 15 ++++++++++++--- .../geomechanics/el1p2c/el1p2cpropertydefaults.hh | 9 +++++++++ dumux/implicit/1p2c/1p2cfluxvariables.hh | 2 +- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/dumux/geomechanics/el1p2c/el1p2cfluxvariables.hh b/dumux/geomechanics/el1p2c/el1p2cfluxvariables.hh index b3107b2566..3d9268c447 100644 --- a/dumux/geomechanics/el1p2c/el1p2cfluxvariables.hh +++ b/dumux/geomechanics/el1p2c/el1p2cfluxvariables.hh @@ -59,6 +59,7 @@ namespace Dumux typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem; typedef typename GET_PROP_TYPE(TypeTag, VolumeVariables) VolumeVariables; typedef typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables) ElementVolumeVariables; + typedef typename GET_PROP_TYPE(TypeTag, EffectiveDiffusivityModel) EffectiveDiffusivityModel; typedef typename GET_PROP_TYPE(TypeTag, GridView) GridView; typedef typename GridView::template Codim<0>::Entity Element; @@ -257,9 +258,17 @@ namespace Dumux const VolumeVariables &volVarsI = elemVolVars[face().i]; const VolumeVariables &volVarsJ = elemVolVars[face().j]; - // Effective diffusion coefficient in the porous medium - diffCoeffPM_ = effPorosity_ * harmonicMean(volVarsI.tortuosity() * volVarsI.diffCoeff(), - volVarsJ.tortuosity() * volVarsJ.diffCoeff()); + const Scalar diffCoeffI = + EffectiveDiffusivityModel::effectiveDiffusivity(volVarsI.porosity(), + /*sat=*/1.0, + volVarsI.diffCoeff()); + + const Scalar diffCoeffJ = + EffectiveDiffusivityModel::effectiveDiffusivity(volVarsJ.porosity(), + /*sat=*/1.0, + volVarsJ.diffCoeff()); + + diffCoeffPM_ = harmonicMean(diffCoeffI, diffCoeffJ); } /*! diff --git a/dumux/geomechanics/el1p2c/el1p2cpropertydefaults.hh b/dumux/geomechanics/el1p2c/el1p2cpropertydefaults.hh index 130dbdbeff..15c3b72d38 100644 --- a/dumux/geomechanics/el1p2c/el1p2cpropertydefaults.hh +++ b/dumux/geomechanics/el1p2c/el1p2cpropertydefaults.hh @@ -41,6 +41,7 @@ #include "el1p2celementvolumevariables.hh" #include "el1p2cvolumevariables.hh" #include "el1p2cindices.hh" +#include <dumux/material/fluidmatrixinteractions/2p/diffusivitymillingtonquirk.hh> namespace Dumux @@ -102,6 +103,14 @@ SET_BOOL_PROP(BoxElasticOnePTwoC, ProblemEnableGravity, true); // enable gravity by default SET_BOOL_PROP(BoxElasticOnePTwoC, ImplicitWithStabilization, true); +//! The model after Millington (1961) is used for the effective diffusivity +SET_PROP(BoxElasticOnePTwoC, EffectiveDiffusivityModel) +{ private : + typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; + public: + typedef DiffusivityMillingtonQuirk<Scalar> type; +}; + // write the stress and displacement output according to rock mechanics sign convention (compressive stresses > 0) SET_BOOL_PROP(BoxElasticOnePTwoC, VtkRockMechanicsSignConvention, false); } diff --git a/dumux/implicit/1p2c/1p2cfluxvariables.hh b/dumux/implicit/1p2c/1p2cfluxvariables.hh index f42f198968..c6c0b8781f 100644 --- a/dumux/implicit/1p2c/1p2cfluxvariables.hh +++ b/dumux/implicit/1p2c/1p2cfluxvariables.hh @@ -437,7 +437,7 @@ protected: const VolumeVariables &volVarsJ = elemVolVars[face().j]; const Scalar diffCoeffI = EffectiveDiffusivityModel::effectiveDiffusivity(volVarsI.porosity(), - /*sat=*/1.0, + /*sat=*/1.0, volVarsI.diffCoeff()); const Scalar diffCoeffJ = EffectiveDiffusivityModel::effectiveDiffusivity(volVarsJ.porosity(), -- GitLab