Commit e3fa9e4d authored by Dennis Gläser's avatar Dennis Gläser

[discretization] improve docu in folder mpfa

parent 351d69a5
...@@ -228,15 +228,15 @@ public: ...@@ -228,15 +228,15 @@ public:
const auto& tij = fluxVarsCache.advectionTij(); const auto& tij = fluxVarsCache.advectionTij();
const auto& pj = fluxVarsCache.pressures(phaseIdx); const auto& pj = fluxVarsCache.pressures(phaseIdx);
//! compute t_ij*p_j // compute t_ij*p_j
Scalar scvfFlux = tij*pj; Scalar scvfFlux = tij*pj;
//! maybe add gravitational acceleration // maybe add gravitational acceleration
static const bool enableGravity = getParamFromGroup<bool>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Problem.EnableGravity"); static const bool enableGravity = getParamFromGroup<bool>(GET_PROP_VALUE(TypeTag, ModelParameterGroup), "Problem.EnableGravity");
if (enableGravity) if (enableGravity)
scvfFlux += fluxVarsCache.gravity(phaseIdx); scvfFlux += fluxVarsCache.gravity(phaseIdx);
//! switch the sign if necessary // switch the sign if necessary
if (fluxVarsCache.advectionSwitchFluxSign()) if (fluxVarsCache.advectionSwitchFluxSign())
scvfFlux *= -1.0; scvfFlux *= -1.0;
......
...@@ -21,8 +21,8 @@ ...@@ -21,8 +21,8 @@
* \ingroup CCMpfaDiscretization * \ingroup CCMpfaDiscretization
* \brief Class for the index sets of the dual grid in mpfa schemes. * \brief Class for the index sets of the dual grid in mpfa schemes.
*/ */
#ifndef DUMUX_DISCRETIZATION_MPFA_DUALGRID_INDEXSET_BASE_HH #ifndef DUMUX_DISCRETIZATION_MPFA_DUALGRID_INDEX_SET_HH
#define DUMUX_DISCRETIZATION_MPFA_DUALGRID_INDEXSET_BASE_HH #define DUMUX_DISCRETIZATION_MPFA_DUALGRID_INDEX_SET_HH
namespace Dumux namespace Dumux
{ {
......
...@@ -151,7 +151,7 @@ class FicksLawImplementation<TypeTag, DiscretizationMethods::CCMpfa> ...@@ -151,7 +151,7 @@ class FicksLawImplementation<TypeTag, DiscretizationMethods::CCMpfa>
{ {
switchFluxSign_[phaseIdx][compIdx] = localFaceData.isOutside(); switchFluxSign_[phaseIdx][compIdx] = localFaceData.isOutside();
//! store pointer to the mole fraction vector of this iv // store pointer to the mole fraction vector of this iv
xj_[phaseIdx][compIdx] = &dataHandle.moleFractions(phaseIdx, compIdx); xj_[phaseIdx][compIdx] = &dataHandle.moleFractions(phaseIdx, compIdx);
const auto ivLocalIdx = localFaceData.ivLocalScvfIndex(); const auto ivLocalIdx = localFaceData.ivLocalScvfIndex();
......
...@@ -141,7 +141,7 @@ class FouriersLawImplementation<TypeTag, DiscretizationMethods::CCMpfa> ...@@ -141,7 +141,7 @@ class FouriersLawImplementation<TypeTag, DiscretizationMethods::CCMpfa>
{ {
switchFluxSign_ = localFaceData.isOutside(); switchFluxSign_ = localFaceData.isOutside();
//! store pointer to the temperature vector of this iv // store pointer to the temperature vector of this iv
Tj_ = &dataHandle.temperatures(); Tj_ = &dataHandle.temperatures();
const auto ivLocalIdx = localFaceData.ivLocalScvfIndex(); const auto ivLocalIdx = localFaceData.ivLocalScvfIndex();
...@@ -189,7 +189,7 @@ public: ...@@ -189,7 +189,7 @@ public:
const auto& tij = fluxVarsCache.heatConductionTij(); const auto& tij = fluxVarsCache.heatConductionTij();
const auto& Tj = fluxVarsCache.temperatures(); const auto& Tj = fluxVarsCache.temperatures();
//! compute Tij*tj // compute Tij*tj
Scalar flux = tij*Tj; Scalar flux = tij*Tj;
if (fluxVarsCache.heatConductionSwitchFluxSign()) if (fluxVarsCache.heatConductionSwitchFluxSign())
flux *= -1.0; flux *= -1.0;
......
...@@ -475,9 +475,9 @@ public: ...@@ -475,9 +475,9 @@ public:
{ {
case 3: // triangle case 3: // triangle
{ {
//! Only build the maps the first time we encounter a triangle // Only build the maps the first time we encounter a triangle
static const std::uint8_t vo = 1; //!< vertex offset in point vector p static const std::uint8_t vo = 1; // vertex offset in point vector p
static const std::uint8_t eo = 4; //!< edge offset in point vector p static const std::uint8_t eo = 4; // edge offset in point vector p
static const std::uint8_t map[3][4] = static const std::uint8_t map[3][4] =
{ {
{0, eo+1, eo+0, vo+0}, {0, eo+1, eo+0, vo+0},
...@@ -492,9 +492,9 @@ public: ...@@ -492,9 +492,9 @@ public:
} }
case 4: // quadrilateral case 4: // quadrilateral
{ {
//! Only build the maps the first time we encounter a quadrilateral // Only build the maps the first time we encounter a quadrilateral
static const std::uint8_t vo = 1; //!< vertex offset in point vector p static const std::uint8_t vo = 1; // vertex offset in point vector p
static const std::uint8_t eo = 5; //!< face offset in point vector p static const std::uint8_t eo = 5; // face offset in point vector p
static const std::uint8_t map[4][4] = static const std::uint8_t map[4][4] =
{ {
{0, eo+0, eo+2, vo+0}, {0, eo+0, eo+2, vo+0},
......
...@@ -80,7 +80,7 @@ class CCMpfaInteractionVolumeBase ...@@ -80,7 +80,7 @@ class CCMpfaInteractionVolumeBase
using Element = typename GridView::template Codim<0>::Entity; using Element = typename GridView::template Codim<0>::Entity;
public: public:
//! Types required in the assembly of the local eq system // Types required in the assembly of the local eq system
using Problem = typename GET_PROP_TYPE(TypeTag, Problem); using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry); using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry);
using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables); using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables);
......
...@@ -43,7 +43,7 @@ public: ...@@ -43,7 +43,7 @@ public:
template<class TypeTag, class InteractionVolume, bool EnableAdvection> template<class TypeTag, class InteractionVolume, bool EnableAdvection>
class AdvectionDataHandle class AdvectionDataHandle
{ {
//! export matrix & vector types from interaction volume // export matrix & vector types from interaction volume
using Matrix = typename InteractionVolume::Traits::Matrix; using Matrix = typename InteractionVolume::Traits::Matrix;
using Vector = typename InteractionVolume::Traits::Vector; using Vector = typename InteractionVolume::Traits::Vector;
using Scalar = typename Vector::value_type; using Scalar = typename Vector::value_type;
...@@ -172,14 +172,14 @@ private: ...@@ -172,14 +172,14 @@ private:
std::array< Vector, numPhases > p_; //!< The interaction volume-wide phase pressures std::array< Vector, numPhases > p_; //!< The interaction volume-wide phase pressures
std::array< Vector, numPhases > g_; //!< The gravitational acceleration at each scvf (only for enabled gravity) std::array< Vector, numPhases > g_; //!< The gravitational acceleration at each scvf (only for enabled gravity)
std::vector< std::vector<Vector> > outsideT_; //!< The transmissibilities for "outside" faces (only on surface grids) std::vector< std::vector<Vector> > outsideT_; //!< The transmissibilities for "outside" faces (only on surface grids)
std::array< std::vector<Vector>, numPhases > outsideG_; //!< The gravitational acceleration on "outside" faces (only on surface grids) std::array< std::vector<Vector>, numPhases > outsideG_; //!< The gravitational acceleration on "outside" faces (only on surface grids)
}; };
//! Data handle for quantities related to diffusion //! Data handle for quantities related to diffusion
template<class TypeTag, class InteractionVolume, bool EnableDiffusion> template<class TypeTag, class InteractionVolume, bool EnableDiffusion>
class DiffusionDataHandle class DiffusionDataHandle
{ {
//! export matrix & vector types from interaction volume // export matrix & vector types from interaction volume
using Matrix = typename InteractionVolume::Traits::Matrix; using Matrix = typename InteractionVolume::Traits::Matrix;
using Vector = typename InteractionVolume::Traits::Vector; using Vector = typename InteractionVolume::Traits::Vector;
using OutsideTContainer = std::vector< std::vector<Vector> >; using OutsideTContainer = std::vector< std::vector<Vector> >;
...@@ -205,11 +205,11 @@ public: ...@@ -205,11 +205,11 @@ public:
if (pIdx == cIdx) if (pIdx == cIdx)
continue; continue;
//! resize transmissibility matrix & mole fraction vector // resize transmissibility matrix & mole fraction vector
T_[pIdx][cIdx].resize(iv.numFaces(), iv.numKnowns()); T_[pIdx][cIdx].resize(iv.numFaces(), iv.numKnowns());
xj_[pIdx][cIdx].resize(iv.numKnowns()); xj_[pIdx][cIdx].resize(iv.numKnowns());
//! resize outsideTij on surface grids // resize outsideTij on surface grids
if (dim < dimWorld) if (dim < dimWorld)
{ {
outsideT_[pIdx][cIdx].resize(iv.numFaces()); outsideT_[pIdx][cIdx].resize(iv.numFaces());
...@@ -236,8 +236,8 @@ public: ...@@ -236,8 +236,8 @@ public:
private: private:
//! diffusion-related variables //! diffusion-related variables
unsigned int phaseIdx_; //!< The phase index set for the context unsigned int phaseIdx_; //!< The phase index set for the context
unsigned int compIdx_; //!< The component index set for the context unsigned int compIdx_; //!< The component index set for the context
std::array< std::array<Matrix, numComponents>, numPhases > T_; //!< The transmissibilities such that f_i = T_ij*x_j std::array< std::array<Matrix, numComponents>, numPhases > T_; //!< The transmissibilities such that f_i = T_ij*x_j
std::array< std::array<Vector, numComponents>, numPhases > xj_; //!< The interaction volume-wide mole fractions std::array< std::array<Vector, numComponents>, numPhases > xj_; //!< The interaction volume-wide mole fractions
std::array< std::array<OutsideTContainer, numComponents>, numPhases> outsideT_; std::array< std::array<OutsideTContainer, numComponents>, numPhases> outsideT_;
......
...@@ -77,7 +77,7 @@ class InteractionVolumeAssemblerBase ...@@ -77,7 +77,7 @@ class InteractionVolumeAssemblerBase
elemVolVarsPtr_ = &elemVolVars; elemVolVarsPtr_ = &elemVolVars;
} }
//! return functions to the local views & problem // return functions to the local views & problem
const Problem& problem() const { return *problemPtr_; } const Problem& problem() const { return *problemPtr_; }
const FVElementGeometry& fvGeometry() const { return *fvGeometryPtr_; } const FVElementGeometry& fvGeometry() const { return *fvGeometryPtr_; }
const ElementVolumeVariables& elemVolVars() const { return *elemVolVarsPtr_; } const ElementVolumeVariables& elemVolVars() const { return *elemVolVarsPtr_; }
......
...@@ -67,7 +67,7 @@ public: ...@@ -67,7 +67,7 @@ public:
, isOutside_(true) , isOutside_(true)
{} {}
//! Functions to return stored data // Functions to return stored data
LocalIndexType ivLocalScvfIndex() const { return ivLocalScvfIndex_; } LocalIndexType ivLocalScvfIndex() const { return ivLocalScvfIndex_; }
LocalIndexType ivLocalInsideScvIndex() const { return ivLocalInsideScvIndex_; } LocalIndexType ivLocalInsideScvIndex() const { return ivLocalInsideScvIndex_; }
LocalIndexType scvfLocalOutsideScvfIndex() const { assert(isOutside_); return scvfLocalOutsideScvfIndex_; } LocalIndexType scvfLocalOutsideScvfIndex() const { assert(isOutside_); return scvfLocalOutsideScvfIndex_; }
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
/*! /*!
* \file * \file
* \ingroup CCMpfaDiscretization * \ingroup CCMpfaDiscretization
* \brief Classes for the interaction volume of the mpfa-o scheme. * \brief Class for the interaction volume of the mpfa-o scheme.
*/ */
#ifndef DUMUX_DISCRETIZATION_CC_MPFA_O_INTERACTIONVOLUME_HH #ifndef DUMUX_DISCRETIZATION_CC_MPFA_O_INTERACTIONVOLUME_HH
#define DUMUX_DISCRETIZATION_CC_MPFA_O_INTERACTIONVOLUME_HH #define DUMUX_DISCRETIZATION_CC_MPFA_O_INTERACTIONVOLUME_HH
...@@ -135,7 +135,6 @@ public: ...@@ -135,7 +135,6 @@ public:
//! publicly state the mpfa-scheme this interaction volume is associated with //! publicly state the mpfa-scheme this interaction volume is associated with
static constexpr MpfaMethods MpfaMethod = MpfaMethods::oMethod; static constexpr MpfaMethods MpfaMethod = MpfaMethods::oMethod;
//! Types required in the assembly of the local eq system
using Problem = typename GET_PROP_TYPE(TypeTag, Problem); using Problem = typename GET_PROP_TYPE(TypeTag, Problem);
using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry); using FVElementGeometry = typename GET_PROP_TYPE(TypeTag, FVElementGeometry);
using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables); using ElementVolumeVariables = typename GET_PROP_TYPE(TypeTag, ElementVolumeVariables);
...@@ -274,16 +273,19 @@ public: ...@@ -274,16 +273,19 @@ public:
//! returns a reference to the information container on Dirichlet BCs within this iv //! returns a reference to the information container on Dirichlet BCs within this iv
const std::vector<DirichletData>& dirichletData() const { return dirichletData_; } const std::vector<DirichletData>& dirichletData() const { return dirichletData_; }
//! return functions for matrices involved in local system of equations //! returns the matrix associated with face unknowns in local equation system
const Matrix& A() const { return A_; } const Matrix& A() const { return A_; }
Matrix& A() { return A_; } Matrix& A() { return A_; }
//! returns the matrix associated with cell unknowns in local equation system
const Matrix& B() const { return B_; } const Matrix& B() const { return B_; }
Matrix& B() { return B_; } Matrix& B() { return B_; }
//! returns the matrix associated with face unknowns in flux expressions
const Matrix& C() const { return C_; } const Matrix& C() const { return C_; }
Matrix& C() { return C_; } Matrix& C() { return C_; }
//! returns container storing the transmissibilities for each face & coordinate
const std::vector< std::vector< DimVector > >& omegas() const { return wijk_; } const std::vector< std::vector< DimVector > >& omegas() const { return wijk_; }
std::vector< std::vector< DimVector > >& omegas() { return wijk_; } std::vector< std::vector< DimVector > >& omegas() { return wijk_; }
......
...@@ -44,7 +44,7 @@ class CCMpfaOInteractionVolumeLocalScv ...@@ -44,7 +44,7 @@ class CCMpfaOInteractionVolumeLocalScv
{ {
public: public:
//! publicly state some types // export some types
using GridIndexType = typename IvIndexSet::GridIndexType; using GridIndexType = typename IvIndexSet::GridIndexType;
using LocalIndexType = typename IvIndexSet::LocalIndexType; using LocalIndexType = typename IvIndexSet::LocalIndexType;
using GlobalCoordinate = GC; using GlobalCoordinate = GC;
...@@ -134,7 +134,7 @@ struct CCMpfaOInteractionVolumeLocalScvf ...@@ -134,7 +134,7 @@ struct CCMpfaOInteractionVolumeLocalScvf
using LocalIndexContainer = typename IvIndexSet::LocalIndexContainer; using LocalIndexContainer = typename IvIndexSet::LocalIndexContainer;
public: public:
//! export index types // export index types
using GridIndexType = typename IvIndexSet::GridIndexType; using GridIndexType = typename IvIndexSet::GridIndexType;
using LocalIndexType = typename IvIndexSet::LocalIndexType; using LocalIndexType = typename IvIndexSet::LocalIndexType;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment