Commit bb1c4ce6 authored by Klaus Mosthaf's avatar Klaus Mosthaf
Browse files

some work on the documentation


git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@7669 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent a854d37a
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*****************************************************************************
* Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf *
* Copyright (C) 2010-2011 by Katherina Baber, Klaus Mosthaf *
* Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser *
* Institute for Modelling Hydraulic and Environmental Systems *
* University of Stuttgart, Germany *
......@@ -24,7 +24,7 @@
* \file
*
* \brief This file contains the data which is required to calculate
* the fluxes of the fluid phase over a face of a finite volume.
* the fluxes of the Stokes model over a face of a finite volume.
*
* This means pressure gradients, phase densities at the integration point, etc.
*/
......@@ -44,10 +44,10 @@ namespace Dumux
* \ingroup BoxFluxVariables
* \brief This template class contains the data which is required to
* calculate the fluxes of the fluid phase over a face of a
* finite volume for the Stokes model.
* finite volume for the Stokes box model.
*
* This means pressure and concentration gradients, phase densities at
* the intergration point, etc.
* This means pressure gradients, phase densities and viscosities, etc. at
* the integration point of the sub-control-volume face
*/
template <class TypeTag>
class StokesFluxVariables
......@@ -125,7 +125,7 @@ protected:
// pressure gradient including influence of gravity
pressureGradAtIP_ -= tmp;
// the velocity gradients
// the velocity gradients and divergence
for (int dimIdx = 0; dimIdx<dim; ++dimIdx)
{
tmp = face().grad[idx];
......@@ -254,7 +254,6 @@ public:
bool onBoundary() const
{ return onBoundary_; }
protected:
const FVElementGeometry &fvGeom_;
const bool onBoundary_;
......
......@@ -55,18 +55,18 @@ struct StokesCommonIndices
static const int momentumZIdx = PVOffset + 2; //!< Index of the z-component of the momentum equation
static const int lastMomentumIdx = momentumXIdx+dim-1; //!< Index of the last component of the momentum equation
static const int dimXIdx = 0;
static const int dimYIdx = 1;
static const int dimZIdx = 2;
static const int dimXIdx = 0; //!< Index of the x-component of a vector of size dim
static const int dimYIdx = 1; //!< Index of the y-component of a vector of size dim
static const int dimZIdx = 2; //!< Index of the z-component of a vector of size dim
static const int massBalanceIdx = dim; //!< Index of the pressure in a solution vector
static const int massBalanceIdx = dim; //!< Index of the mass balance equation
static const int pressureIdx = massBalanceIdx;
static const int velocityXIdx = momentumXIdx;
static const int velocityYIdx = momentumYIdx;
static const int velocityZIdx = momentumZIdx;
static const int pressureIdx = massBalanceIdx; //!< Index of the pressure in a solution vector
static const int velocityXIdx = momentumXIdx; //!< Index of the x-component of the velocity
static const int velocityYIdx = momentumYIdx; //!< Index of the y-component of the velocity
static const int velocityZIdx = momentumZIdx; //!< Index of the z-component of the velocity
static const int phaseIdx = 0; //!< Index of the phase (required to use the same fluid system in coupled models)
static const int phaseIdx = 0; //!< Index of the fluid phase (required to use the same fluid system in coupled models)
};
} // end namespace
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*****************************************************************************
* Copyright (C) 2008-2009 by Klaus Mosthaf *
* Copyright (C) 2010-2011 by Klaus Mosthaf *
* Copyright (C) 2007-2009 by Bernd Flemisch *
* Institute for Modelling Hydraulic and Environmental Systems *
* University of Stuttgart, Germany *
......@@ -22,14 +22,13 @@
*****************************************************************************/
/*!
* \file
* \brief Caculates the jacobian of models based on the box scheme element-wise.
* \brief Element-wise calculation of the jacobian of the stokes box model.
*/
#ifndef DUMUX_STOKES_LOCAL_JACOBIAN_HH
#define DUMUX_STOKES_LOCAL_JACOBIAN_HH
#include "stokesproperties.hh"
#include <dumux/boxmodels/common/boxlocaljacobian.hh>
#include <dune/istl/matrix.hh>
#include "stokesproperties.hh"
#include <dumux/boxmodels/common/boxlocaljacobian.hh>
namespace Dumux
......@@ -39,7 +38,7 @@ namespace Dumux
* \brief Element-wise calculation of the jacobian matrix for models
* based on the box scheme.
*
* \todo Please doc me more!
* This overloads the numericEpsilon method of the boxlocaljacobian
*/
template<class TypeTag>
class StokesLocalJacobian : public BoxLocalJacobian<TypeTag>
......
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
// vi: set et ts=4 sw=4 sts=4:
/*****************************************************************************
* Copyright (C) 2009-2011 by Katherina Baber, Klaus Mosthaf *
* Copyright (C) 2009-2012 by Katherina Baber, Klaus Mosthaf *
* Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser *
* Institute for Modelling Hydraulic and Environmental Systems *
* University of Stuttgart, Germany *
......@@ -48,10 +48,10 @@ namespace Dumux
/*!
* \ingroup BoxStokesModel
* \ingroup BoxLocalResidual
* \brief Element-wise calculation of the Jacobian matrix for problems
* \brief Element-wise calculation of the local Jacobian matrix for problems
* using the stokes box model.
*
* This class is also used for the non-isothermal and the stokes transport
* This class is also used for the non-isothermal and the compositional stokes
* model, which means that it uses static polymorphism.
*/
template<class TypeTag>
......@@ -72,10 +72,10 @@ protected:
};
enum {
massBalanceIdx = Indices::massBalanceIdx, //!< Index of the mass balance
momentumXIdx = Indices::momentumXIdx, //!< Index of the x-component of the momentum balance
lastMomentumIdx = Indices::lastMomentumIdx //!< Index of the last component of the momentum balance
};
enum { pressureIdx = Indices::pressureIdx }; //!< Index of the pressure in a solution vector
typedef Dune::GenericReferenceElements<Scalar, dim> ReferenceElements;
typedef Dune::GenericReferenceElement<Scalar, dim> ReferenceElement;
......@@ -95,7 +95,7 @@ protected:
public:
/*!
* \brief Constructor. Sets the upwind weight.
* \brief Constructor. Sets the upwind weight and the stabilization parameters.
*/
StokesLocalResidual()
{
......@@ -109,7 +109,7 @@ protected:
/*!
* \brief Evaluate the amount all conservation quantities
* (e.g. phase mass) within a sub-control volume.
* (mass and momentum) within a sub-control volume.
*
* The result should be averaged over the volume (e.g. phase mass
* inside a sub control volume divided by the volume)
......@@ -166,7 +166,7 @@ protected:
/*!
* \brief Evaluates the advective fluxes over
* a face of a subcontrol volume.
* a face of a sub-control volume.
*
* \param flux The advective flux over the sub-control-volume face for each component
* \param fluxVars The flux variables at the current SCV
......@@ -260,12 +260,12 @@ protected:
{ }
/*!
* \brief Calculate the source term of the equation,
* compute the pressure gradient at the center of a SCV
* and evaluate the gravity term
* \brief Calculates the source term of the equation,
* computes the pressure gradient at the center of a SCV
* and evaluates the gravity term
*
* \param q The source/sink in the sub control volume for each component
* \param localVertexIdx The index of the sub control volume
* \param localVertexIdx The index of the sub-control volume
*/
void computeSource(PrimaryVariables &q, int localVertexIdx)
{
......@@ -392,10 +392,9 @@ protected:
} // end loop over face vertices
} // end loop over intersections
// replace defect at the corner points of the grid
// by the interpolation of the primary variables
if(!bcTypes.isDirichlet(massBalanceIdx))
{
// replace the mass balance by the sum of the residua of the momentum balance
if (momentumBalanceDirichlet_(bcTypes))
replaceMassbalanceResidual_(momentumResidual, averagedNormal, vertexIdx);
else // de-stabilize (remove alpha*grad p - alpha div f
......@@ -413,7 +412,7 @@ protected:
protected:
/*!
* \brief Add Neumann boundary conditions for a single sub-control
* \brief Evaluate and add Neumann boundary conditions for a single sub-control
* volume face to the local residual.
*/
void evalNeumannSegment_(const IntersectionIterator &isIt,
......@@ -423,7 +422,6 @@ protected:
{
const BoundaryTypes &bcTypes = this->bcTypes_(scvIdx);
// deal with neumann boundaries
if (bcTypes.hasNeumann())
{
// call evalNeumannSegment_() of the base class first
......@@ -448,35 +446,40 @@ protected:
// calculate mu grad v t t
// center in the face of the reference element
FieldVector tangent;
const FieldVector& elementUnitNormal = isIt->centerUnitOuterNormal();
tangent[0] = elementUnitNormal[1]; //TODO: 3D
tangent[1] = -elementUnitNormal[0];
FieldVector tangentialVelGrad;
boundaryVars.velocityGradAtIP().mv(tangent, tangentialVelGrad);
tangentialVelGrad *= boundaryVars.viscosityAtIP();
this->residual_[scvIdx][massBalanceIdx] -= stabilizationBeta_*0.5*
this->curVolVars_(scvIdx).pressure();
this->residual_[scvIdx][massBalanceIdx] -= stabilizationBeta_*0.5*
(tangentialVelGrad*tangent);
for (int momentumIdx = momentumXIdx; momentumIdx <= lastMomentumIdx; momentumIdx++)
this->residual_[scvIdx][massBalanceIdx] -= stabilizationBeta_*0.5
* values[momentumIdx]*elementUnitNormal[momentumIdx-momentumXIdx];
if (stabilizationBeta_ != 0)
{
const FieldVector& elementUnitNormal = isIt->centerUnitOuterNormal();
tangent[0] = elementUnitNormal[1]; //TODO: 3D
tangent[1] = -elementUnitNormal[0];
FieldVector tangentialVelGrad;
boundaryVars.velocityGradAtIP().mv(tangent, tangentialVelGrad);
tangentialVelGrad *= boundaryVars.viscosityAtIP();
this->residual_[scvIdx][massBalanceIdx] -= stabilizationBeta_*0.5*
this->curVolVars_(scvIdx).pressure();
this->residual_[scvIdx][massBalanceIdx] -= stabilizationBeta_*0.5*
(tangentialVelGrad*tangent);
for (int momentumIdx = momentumXIdx; momentumIdx <= lastMomentumIdx; momentumIdx++)
this->residual_[scvIdx][massBalanceIdx] -= stabilizationBeta_*0.5
* values[momentumIdx]*elementUnitNormal[momentumIdx-momentumXIdx];
}
Valgrind::CheckDefined(this->residual_);
}
}
}
/*!
* \brief Evaluate outflow boundary conditions for a single sub-control
* volume face.
*/
void evalOutflowSegment_(const IntersectionIterator &isIt,
const int scvIdx,
const int boundaryFaceIdx,
const FluxVariables &boundaryVars)
{
// temporary vector to store the neumann boundary fluxes
const BoundaryTypes &bcTypes = this->bcTypes_(scvIdx);
// deal with outflow boundaries
if (bcTypes.hasOutflow())
{
PrimaryVariables values(0.0);
......@@ -517,47 +520,57 @@ protected:
}
}
/*
* \brief removes the alpha stabilization at boundaries
*/
void removeStabilizationAtBoundary_(const int vertexIdx)
{
// loop over the edges of the element
for (int faceIdx = 0; faceIdx < this->fvElemGeom_().numEdges; faceIdx++)
if (stabilizationAlpha_ != 0)
{
const FluxVariables fluxVars(this->problem_(),
this->elem_(),
this->fvElemGeom_(),
faceIdx,
this->curVolVars_());
// loop over the edges of the element
for (int faceIdx = 0; faceIdx < this->fvElemGeom_().numEdges; faceIdx++)
{
const FluxVariables fluxVars(this->problem_(),
this->elem_(),
this->fvElemGeom_(),
faceIdx,
this->curVolVars_());
const int i = this->fvElemGeom_().subContVolFace[faceIdx].i;
const int j = this->fvElemGeom_().subContVolFace[faceIdx].j;
const int i = this->fvElemGeom_().subContVolFace[faceIdx].i;
const int j = this->fvElemGeom_().subContVolFace[faceIdx].j;
if (i != vertexIdx && j != vertexIdx)
continue;
if (i != vertexIdx && j != vertexIdx)
continue;
const Scalar alphaH2 = stabilizationAlpha_*
fluxVars.averageSCVVolume();
Scalar stabilizationTerm = fluxVars.pressureGradAtIP() *
this->fvElemGeom_().subContVolFace[faceIdx].normal;
const Scalar alphaH2 = stabilizationAlpha_*
fluxVars.averageSCVVolume();
Scalar stabilizationTerm = fluxVars.pressureGradAtIP() *
this->fvElemGeom_().subContVolFace[faceIdx].normal;
stabilizationTerm *= alphaH2;
stabilizationTerm *= alphaH2;
if (vertexIdx == i)
this->residual_[i][massBalanceIdx] += stabilizationTerm;
if (vertexIdx == j)
this->residual_[j][massBalanceIdx] -= stabilizationTerm;
}
if (vertexIdx == i)
this->residual_[i][massBalanceIdx] += stabilizationTerm;
if (vertexIdx == j)
this->residual_[j][massBalanceIdx] -= stabilizationTerm;
}
//destabilize source term
PrimaryVariables q(0.0);
this->problem_().source(q,
this->elem_(),
this->fvElemGeom_(),
vertexIdx);
const Scalar alphaH2 = stabilizationAlpha_*this->fvElemGeom_().subContVol[vertexIdx].volume;
this->residual_[vertexIdx][massBalanceIdx] += alphaH2*q[massBalanceIdx]*
this->fvElemGeom_().subContVol[vertexIdx].volume;
//destabilize source term
PrimaryVariables q(0.0);
this->problem_().source(q,
this->elem_(),
this->fvElemGeom_(),
vertexIdx);
const Scalar alphaH2 = stabilizationAlpha_*this->fvElemGeom_().subContVol[vertexIdx].volume;
this->residual_[vertexIdx][massBalanceIdx] += alphaH2*q[massBalanceIdx]*
this->fvElemGeom_().subContVol[vertexIdx].volume;
}
}
/*
* \brief Interpolates the pressure at corner points of the grid, i.e. it takes
* the degree of freedom there
*/
void interpolateCornerPoints_(const BoundaryTypes &bcTypes, const int vertexIdx)
{
// TODO: 3D
......@@ -565,20 +578,24 @@ protected:
{
if (vertexIdx == 0 || vertexIdx == 3)
this->residual_[vertexIdx][massBalanceIdx] =
this->curPrimaryVars_(0)[massBalanceIdx]-this->curPrimaryVars_(3)[massBalanceIdx];
this->curPrimaryVars_(0)[pressureIdx]-this->curPrimaryVars_(3)[pressureIdx];
if (vertexIdx == 1 || vertexIdx == 2)
this->residual_[vertexIdx][massBalanceIdx] =
this->curPrimaryVars_(1)[massBalanceIdx]-this->curPrimaryVars_(2)[massBalanceIdx];
this->curPrimaryVars_(1)[pressureIdx]-this->curPrimaryVars_(2)[pressureIdx];
}
else
{
if (!bcTypes.isDirichlet(massBalanceIdx)) // do nothing in case of dirichlet
this->residual_[vertexIdx][massBalanceIdx] =
this->curPrimaryVars_(0)[massBalanceIdx]+this->curPrimaryVars_(3)[massBalanceIdx]-
this->curPrimaryVars_(1)[massBalanceIdx]-this->curPrimaryVars_(2)[massBalanceIdx];
this->curPrimaryVars_(0)[pressureIdx]+this->curPrimaryVars_(3)[pressureIdx]-
this->curPrimaryVars_(1)[pressureIdx]-this->curPrimaryVars_(2)[pressureIdx];
}
}
/*
* \brief Replace the residual of the mass balance with the sum of the
* residuals of the momentum balance equation
*/
void replaceMassbalanceResidual_(const FieldVector& momentumResidual,
FieldVector& averagedNormal,
const int vertexIdx)
......@@ -587,7 +604,7 @@ protected:
// divide averagedNormal by its length
averagedNormal /= averagedNormal.two_norm();
// replace the mass balance by the sum of the momentum balances
// replace the mass balance by the sum of the residuals of the momentum balances
this->residual_[vertexIdx][massBalanceIdx] = momentumResidual*averagedNormal;
}
......
......@@ -6,7 +6,7 @@
* Department Simulation of Large Systems *
* University of Stuttgart, Germany *
* *
* Copyright (C) 2010 by Katherina Baber, Klaus Mosthaf *
* Copyright (C) 2010-2012 by Katherina Baber, Klaus Mosthaf *
* Copyright (C) 2008-2009 by Bernd Flemisch, Andreas Lauser *
* Institute for Modelling Hydraulic and Environmental Systems *
* University of Stuttgart, Germany *
......@@ -38,7 +38,7 @@ namespace Dumux
{
/*!
* \ingroup BoxStokesModel
* \brief Adaption of the BOX scheme to the stokes flow model.
* \brief Adaption of the BOX scheme to the stokes box model.
*
* This model implements laminar Stokes flow of a single fluid, solving a momentum balance:
* \f[
......@@ -54,7 +54,7 @@ namespace Dumux
\frac{\partial \varrho_g}{\partial t} + \boldsymbol{\nabla}\boldsymbol{\cdot}\left(\varrho_g {\boldsymbol{v}}_g\right) - q_g = 0
* \f]
*
* This is discretized by a fully-coupled vertex- centered finite volume
* This is discretized by a fully-coupled vertex-centered finite volume
* (box) scheme as spatial and the implicit Euler method
* as temporal discretization.
*/
......
......@@ -33,7 +33,8 @@ namespace Dumux {
/*!
* \ingroup BoxStokesModel
* \ingroup Newton
* \brief A Stokes-specific controller for the newton solver.
* \brief A Stokes-specific controller for the newton solver, which sets
* a different newton parameters.
*/
template <class TypeTag>
class StokesNewtonController : public NewtonController<TypeTag>
......
......@@ -24,7 +24,7 @@
* \file
*
* \brief Contains the quantities which are constant within a
* finite volume in the Stokes model.
* finite volume in the Stokes box model.
*/
#ifndef DUMUX_STOKES_VOLUME_VARIABLES_HH
#define DUMUX_STOKES_VOLUME_VARIABLES_HH
......@@ -41,7 +41,7 @@ namespace Dumux
* \ingroup BoxStokesModel
* \ingroup BoxVolumeVariables
* \brief Contains the quantities which are are constant within a
* finite volume in the Stokes model.
* finite volume in the Stokes box model.
*/
template <class TypeTag>
class StokesVolumeVariables : public BoxVolumeVariables<TypeTag>
......
......@@ -51,7 +51,7 @@ NEW_PROP_TAG(Stokes2cIndices); //!< Enumerations for the compositional stokes mo
* volume for the compositional Stokes model.
*
* This means concentration gradients, diffusion coefficients, mass fractions, etc.
* at the integration point.
* at the integration point of a SCV or boundary face.
*/
template <class TypeTag>
class Stokes2cFluxVariables : public StokesFluxVariables<TypeTag>
......
......@@ -24,7 +24,7 @@
/*!
* \file
*
* \brief Defines the indices required for the compositional Stokes BOX model.
* \brief Defines the indices required for the compositional Stokes box model.
*/
#ifndef DUMUX_STOKES2C_INDICES_HH
#define DUMUX_STOKES2C_INDICES_HH
......@@ -38,7 +38,7 @@ namespace Dumux
/*!
* \ingroup BoxStokes2cModel
* \ingroup BoxIndices
* \brief The common indices for the compositional stokes model.
* \brief The common indices for the compositional Stokes box model.
*
* \tparam PVOffset The first index in a primary variable vector.
*/
......
......@@ -41,8 +41,8 @@ namespace Dumux
* \ingroup BoxStokes2cModel
* \ingroup BoxLocalResidual
* \brief Element-wise calculation of the Jacobian matrix for problems
* using the compositional stokes box model. This is derived
* from the stokes box model.
* using the compositional Stokes box model. This is derived
* from the Stokes box model.
*/
template<class TypeTag>
class Stokes2cLocalResidual : public StokesLocalResidual<TypeTag>
......@@ -53,12 +53,8 @@ class Stokes2cLocalResidual : public StokesLocalResidual<TypeTag>
typedef typename GET_PROP_TYPE(TypeTag, Stokes2cIndices) Indices;
enum { dim = GridView::dimension };
enum {
transportIdx = Indices::transportIdx //!< Index of the transport equation
};
enum {
lCompIdx = Indices::lCompIdx
};
enum { transportIdx = Indices::transportIdx }; //!< Index of the transport equation
enum { lCompIdx = Indices::lCompIdx }; //!< Index of the liquid component
enum { phaseIdx = GET_PROP_VALUE(TypeTag, PhaseIndex)};
typedef typename GET_PROP_TYPE(TypeTag, PrimaryVariables) PrimaryVariables;
......@@ -69,13 +65,7 @@ class Stokes2cLocalResidual : public StokesLocalResidual<TypeTag>
public:
/*!
* \brief Constructor. Sets the upwind weight.
*/
Stokes2cLocalResidual()
{};
/*!
* \brief Evaluate the amount the additional quantities to the stokes model
* \brief Evaluate the stored amount of the additional quantities to the stokes model
* (transport equation).
*
* The result should be averaged over the volume (e.g. phase mass
......
......@@ -23,7 +23,7 @@
/*!
* \file
*
* \brief Adaption of the BOX scheme to the compositional stokes model (with two components).
* \brief Adaptation of the BOX scheme to the compositional stokes model (with two components).
*/
#ifndef DUMUX_STOKES2C_MODEL_HH
#define DUMUX_STOKES2C_MODEL_HH
......@@ -36,11 +36,10 @@
namespace Dumux {
/*!
* \ingroup BoxStokes2cModel
* \brief Adaption of the BOX scheme to the compositional stokes model.
* \brief Adaptation of the BOX scheme to the compositional stokes model.
*
* This model implements a non-isothermal two-component Stokes flow of a fluid
* solving a momentum balance, a mass balance, a conservation equation for one component,
* and one balance quation for the energy.
* This model implements an isothermal two-component Stokes flow of a fluid
* solving a momentum balance, a mass balance and a conservation equation for one component.
*
* Momentum Balance:
* \f[
......
......@@ -26,7 +26,7 @@
*
* \file
*
* \brief Defines the properties required for the compositional
* \brief Defines the supplementary properties required for the compositional
* stokes BOX model.
*/
#ifndef DUMUX_STOKES2CPROPERTIES_HH
......
......@@ -27,7 +27,7 @@
* \file
*
* \brief Defines the properties required for the compositional
* stokes BOX model.
* Stokes box model.
*/
#ifndef DUMUX_STOKES2C_PROPERTY_DEFAULTS_HH
#define DUMUX_STOKES2C_PROPERTY_DEFAULTS_HH
......@@ -82,7 +82,7 @@ SET_TYPE_PROP(BoxStokes2c,
LocalResidual,
Stokes2cLocalResidual<TypeTag>);
//! the Model property
//! the model property
SET_TYPE_PROP(BoxStokes2c, Model, Stokes2cModel<TypeTag>);
//! the VolumeVariables property
......@@ -109,7 +109,7 @@ public:
};
//! Choose the considered phase
//! Choose the considered phase (single-phase system); the gas phase is used
SET_PROP(BoxStokes2c, PhaseIndex)
{
typedef typename GET_PROP_TYPE(TypeTag, Stokes2cIndices) Indices;
......
......@@ -38,7 +38,7 @@ namespace Dumux
* \ingroup BoxStokes2cModel
* \ingroup BoxVolumeVariables
* \brief Contains the quantities which are are constant within a
* finite volume in the two-component Stokes model.
* finite volume in the two-component Stokes box model.
*/
template <class TypeTag>
class Stokes2cVolumeVariables : public StokesVolumeVariables<TypeTag>
......@@ -97,7 +97,7 @@ public:
phaseIdx,
lCompIdx,
gCompIdx);
// diffCoeff_ *= GET_RUNTIME_PARAM(TypeTag, Scalar, factor);
Valgrind::CheckDefined(diffCoeff_);
};
......@@ -128,16 +128,12 @@ public:
}
/*!
* \brief Returns the binary diffusion coefficients for a phase
* \brief Returns the binary (mass) diffusion coefficient
*/
Scalar diffusionCoeff() const
{ return diffCoeff_; }