From 89ed636e171498f0bce7c7ee339f438aebb29249 Mon Sep 17 00:00:00 2001 From: Timo Koch <timo.koch@iws.uni-stuttgart.de> Date: Thu, 3 Mar 2016 18:34:00 +0100 Subject: [PATCH] [fluxvars] Remove flux vars concept Instead of variables we have classes computing fluxes according to laws like darcy's law / fick's law / fourier's law. --- .../cellcentered/tpfa/propertydefaults.hh | 8 +- dumux/implicit/fluxvariables.hh | 185 +++++++++--------- dumux/implicit/properties.hh | 12 +- dumux/implicit/propertydefaults.hh | 24 +-- .../1p/implicit/localresidual.hh | 2 +- .../1p/implicit/propertydefaults.hh | 9 + .../2p/implicit/localresidual.hh | 2 +- .../2p/implicit/propertydefaults.hh | 9 + .../{darcyfluxvariables.hh => darcyslaw.hh} | 12 +- 9 files changed, 135 insertions(+), 128 deletions(-) rename dumux/porousmediumflow/implicit/cellcentered/tpfa/{darcyfluxvariables.hh => darcyslaw.hh} (97%) diff --git a/dumux/implicit/cellcentered/tpfa/propertydefaults.hh b/dumux/implicit/cellcentered/tpfa/propertydefaults.hh index 6e7276f13d..58d02f23b3 100644 --- a/dumux/implicit/cellcentered/tpfa/propertydefaults.hh +++ b/dumux/implicit/cellcentered/tpfa/propertydefaults.hh @@ -34,7 +34,7 @@ #include <dumux/implicit/cellcentered/stencils.hh> #include <dumux/implicit/cellcentered/localresidual.hh> #include <dumux/implicit/cellcentered/properties.hh> -#include <dumux/porousmediumflow/implicit/cellcentered/tpfa/darcyfluxvariables.hh> +#include <dumux/porousmediumflow/implicit/cellcentered/tpfa/darcyslaw.hh> namespace Dumux { @@ -83,14 +83,14 @@ public: }; //! The darcy flux variables -SET_TYPE_PROP(CCTpfaModel, DarcyFluxVariables, Dumux::CCTpfaImplicitDarcyFluxVariables<TypeTag>); +SET_TYPE_PROP(CCTpfaModel, AdvectionType, Dumux::CCTpfaDarcysLaw<TypeTag>); // TODO: Actually implement the diffusion and energy flux variables //! The diffusion flux variables -//SET_TYPE_PROP(CCTpfaModel, DiffusionFluxVariables, TODO); +//SET_TYPE_PROP(CCTpfaModel, MolecularDiffusionType, CCTpfaFicksLaw); //! The energy flux variables -//SET_TYPE_PROP(CCTpfaModel, EnergyFluxVariables, TODO); +//SET_TYPE_PROP(CCTpfaModel, HeatConductionType, CCTpfaFouriersLaw); } // namespace Properties diff --git a/dumux/implicit/fluxvariables.hh b/dumux/implicit/fluxvariables.hh index dd358c3b8b..f7a136ef1c 100644 --- a/dumux/implicit/fluxvariables.hh +++ b/dumux/implicit/fluxvariables.hh @@ -37,13 +37,13 @@ NEW_PROP_TAG(NumComponents); /*! * \ingroup ImplicitModel * \brief Base class for the flux variables - * specializations are provided for combinations of diffusion processes + * specializations are provided for combinations of diffusion_ processes */ -template<class TypeTag, bool darcy, bool diffusion, bool energy> +template<class TypeTag, bool enableAdvection, bool enableMolecularDiffusion, bool enableEnergyBalance> class FluxVariables {}; -// specialization for pure darcy flow +// specialization for pure advective flow (e.g. one-phase darcy equation) template<class TypeTag> class FluxVariables<TypeTag, true, false, false> { @@ -51,38 +51,38 @@ class FluxVariables<TypeTag, true, false, false> using GridView = typename GET_PROP_TYPE(TypeTag, GridView); using IndexType = typename GridView::IndexSet::IndexType; using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace); - using DarcyFluxVariables = typename GET_PROP_TYPE(TypeTag, DarcyFluxVariables); using Stencil = std::set<IndexType>; + using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); public: void update(const Problem& problem, const SubControlVolumeFace &scv) { - darcyFluxVars_.update(problem, scv); + advection_.update(problem, scv); } - const DarcyFluxVariables& darcyFluxVars() const + const AdvectionType& advection() const { - return darcyFluxVars_; + return advection_; } Stencil stencil() const { - return darcyFluxVars().stencil(); + return advection().stencil(); } private: - DarcyFluxVariables darcyFluxVars_; + AdvectionType advection_; }; -// specialization for darcy flow with diffusion +// specialization for isothermal advection diffusion_ equations template<class TypeTag> class FluxVariables<TypeTag, true, true, false> { using Problem = typename GET_PROP_TYPE(TypeTag, Problem); using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace); - using DarcyFluxVariables = typename GET_PROP_TYPE(TypeTag, DarcyFluxVariables); - using DiffusionFluxVariables = typename GET_PROP_TYPE(TypeTag, DiffusionFluxVariables); + using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); + using MolecularDiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); enum { @@ -93,45 +93,45 @@ class FluxVariables<TypeTag, true, true, false> public: void update(const Problem& problem, const SubControlVolumeFace &scv) { - darcyFluxVars_.update(problem, scv); + advection_.update(problem, scv); for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) for (int compIdx = 0; compIdx < numComponents; ++compIdx) - diffusionFluxVariables_.update(problem, scv, phaseIdx, compIdx); + diffusion_.update(problem, scv, phaseIdx, compIdx); } - const DarcyFluxVariables& darcyFluxVars() const + const AdvectionType& advection() const { - return darcyFluxVars_; + return advection_; } - DarcyFluxVariables& darcyFluxVars() + AdvectionType& advection() { - return darcyFluxVars_; + return advection_; } - const DiffusionFluxVariables& diffusionFluxVars(const int phaseIdx, const int compIdx) const + const MolecularDiffusionType& diffusion(const int phaseIdx, const int compIdx) const { - return diffusionFluxVariables_[phaseIdx][compIdx]; + return diffusion_[phaseIdx][compIdx]; } - DiffusionFluxVariables& diffusionFluxVars(const int phaseIdx, const int compIdx) + MolecularDiffusionType& diffusion(const int phaseIdx, const int compIdx) { - return diffusionFluxVariables_[phaseIdx][compIdx]; + return diffusion_[phaseIdx][compIdx]; } private: - DarcyFluxVariables darcyFluxVars_; - std::array< std::array<DiffusionFluxVariables, numComponents>, numPhases> diffusionFluxVariables_; + AdvectionType advection_; + std::array< std::array<MolecularDiffusionType, numComponents>, numPhases> diffusion_; }; -// specialization for pure diffusion +// specialization for pure diffusion_ template<class TypeTag> class FluxVariables<TypeTag, false, true, false> { using Problem = typename GET_PROP_TYPE(TypeTag, Problem); using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace); - using DiffusionFluxVariables = typename GET_PROP_TYPE(TypeTag, DiffusionFluxVariables); + using MolecularDiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); enum { @@ -144,75 +144,75 @@ public: { for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) for (int compIdx = 0; compIdx < numComponents; ++compIdx) - diffusionFluxVariables_.update(problem, scv, phaseIdx, compIdx); + diffusion_.update(problem, scv, phaseIdx, compIdx); } - const DiffusionFluxVariables& diffusionFluxVars(const int phaseIdx, const int compIdx) const + const MolecularDiffusionType& diffusion(const int phaseIdx, const int compIdx) const { - return diffusionFluxVariables_[phaseIdx][compIdx]; + return diffusion_[phaseIdx][compIdx]; } - DiffusionFluxVariables& diffusionFluxVars(const int phaseIdx, const int compIdx) + MolecularDiffusionType& diffusion(const int phaseIdx, const int compIdx) { - return diffusionFluxVariables_[phaseIdx][compIdx]; + return diffusion_[phaseIdx][compIdx]; } private: - std::array< std::array<DiffusionFluxVariables, numComponents>, numPhases> diffusionFluxVariables_; + std::array< std::array<MolecularDiffusionType, numComponents>, numPhases> diffusion_; }; -// specialization for non-isothermal darcy flow +// specialization for non-isothermal advective flow (e.g. non-isothermal one-phase darcy equation) template<class TypeTag> class FluxVariables<TypeTag, true, false, true> { using Problem = typename GET_PROP_TYPE(TypeTag, Problem); using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace); - using DarcyFluxVariables = typename GET_PROP_TYPE(TypeTag, DarcyFluxVariables); - using EnergyFluxVariables = typename GET_PROP_TYPE(TypeTag, EnergyFluxVariables); + using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); + using HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType); public: void update(const Problem& problem, const SubControlVolumeFace &scv) { - darcyFluxVars_.update(problem, scv); - energyFluxVars_.update(problem, scv); + advection_.update(problem, scv); + heatConduction_.update(problem, scv); } - const DarcyFluxVariables& darcyFluxVars() const + const AdvectionType& advection() const { - return darcyFluxVars_; + return advection_; } - DarcyFluxVariables& darcyFluxVars() + AdvectionType& advection() { - return darcyFluxVars_; + return advection_; } - const EnergyFluxVariables& energyFluxVars() const + const HeatConductionType& heatConduction() const { - return energyFluxVars_; + return heatConduction_; } - EnergyFluxVariables& energyFluxVars() + HeatConductionType& heatConduction() { - return energyFluxVars_; + return heatConduction_; } private: - DarcyFluxVariables darcyFluxVars_; - EnergyFluxVariables energyFluxVars_; + AdvectionType advection_; + HeatConductionType heatConduction_; }; -// specialization for non-isothermal darcy flow with diffusion +// specialization for non-isothermal advection diffusion_ equations template<class TypeTag> class FluxVariables<TypeTag, true, true, true> { using Problem = typename GET_PROP_TYPE(TypeTag, Problem); using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace); - using DarcyFluxVariables = typename GET_PROP_TYPE(TypeTag, DarcyFluxVariables); - using DiffusionFluxVariables = typename GET_PROP_TYPE(TypeTag, DiffusionFluxVariables); - using EnergyFluxVariables = typename GET_PROP_TYPE(TypeTag, EnergyFluxVariables); + using AdvectionType = typename GET_PROP_TYPE(TypeTag, AdvectionType); + using MolecularDiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); + using HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType); enum { @@ -223,58 +223,58 @@ class FluxVariables<TypeTag, true, true, true> public: void update(const Problem& problem, const SubControlVolumeFace &scv) { - darcyFluxVars_.update(problem, scv); + advection_.update(problem, scv); for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) for (int compIdx = 0; compIdx < numComponents; ++compIdx) - diffusionFluxVariables_.update(problem, scv, phaseIdx, compIdx); - energyFluxVars_.update(problem, scv); + diffusion_.update(problem, scv, phaseIdx, compIdx); + heatConduction_.update(problem, scv); } - const DarcyFluxVariables& darcyFluxVars() const + const AdvectionType& advection() const { - return darcyFluxVars_; + return advection_; } - DarcyFluxVariables& darcyFluxVars() + AdvectionType& advection() { - return darcyFluxVars_; + return advection_; } - const EnergyFluxVariables& energyFluxVars() const + const HeatConductionType& heatConduction() const { - return energyFluxVars_; + return heatConduction_; } - EnergyFluxVariables& energyFluxVars() + HeatConductionType& heatConduction() { - return energyFluxVars_; + return heatConduction_; } - const DiffusionFluxVariables& diffusionFluxVars(const int phaseIdx, const int compIdx) const + const MolecularDiffusionType& diffusion(const int phaseIdx, const int compIdx) const { - return diffusionFluxVariables_[phaseIdx][compIdx]; + return diffusion_[phaseIdx][compIdx]; } - DiffusionFluxVariables& diffusionFluxVars(const int phaseIdx, const int compIdx) + MolecularDiffusionType& diffusion(const int phaseIdx, const int compIdx) { - return diffusionFluxVariables_[phaseIdx][compIdx]; + return diffusion_[phaseIdx][compIdx]; } private: - DarcyFluxVariables darcyFluxVars_; - std::array< std::array<DiffusionFluxVariables, numComponents>, numPhases> diffusionFluxVariables_; - EnergyFluxVariables energyFluxVars_; + AdvectionType advection_; + std::array< std::array<MolecularDiffusionType, numComponents>, numPhases> diffusion_; + HeatConductionType heatConduction_; }; -// specialization for non-isothermal pure diffusion +// specialization for non-isothermal diffusion_ template<class TypeTag> class FluxVariables<TypeTag, false, true, true> { using Problem = typename GET_PROP_TYPE(TypeTag, Problem); using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace); - using DiffusionFluxVariables = typename GET_PROP_TYPE(TypeTag, DiffusionFluxVariables); - using EnergyFluxVariables = typename GET_PROP_TYPE(TypeTag, EnergyFluxVariables); + using MolecularDiffusionType = typename GET_PROP_TYPE(TypeTag, MolecularDiffusionType); + using HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType); enum { @@ -287,63 +287,64 @@ public: { for (int phaseIdx = 0; phaseIdx < numPhases; ++phaseIdx) for (int compIdx = 0; compIdx < numComponents; ++compIdx) - diffusionFluxVariables_.update(problem, scv, phaseIdx, compIdx); - energyFluxVars_.update(problem, scv); + diffusion_.update(problem, scv, phaseIdx, compIdx); + heatConduction_.update(problem, scv); } - const EnergyFluxVariables& energyFluxVars() const + const HeatConductionType& heatConduction() const { - return energyFluxVars_; + return heatConduction_; } - EnergyFluxVariables& energyFluxVars() + HeatConductionType& heatConduction() { - return energyFluxVars_; + return heatConduction_; } - const DiffusionFluxVariables& diffusionFluxVars(const int phaseIdx, const int compIdx) const + const MolecularDiffusionType& diffusion(const int phaseIdx, const int compIdx) const { - return diffusionFluxVariables_[phaseIdx][compIdx]; + return diffusion_[phaseIdx][compIdx]; } - DiffusionFluxVariables& diffusionFluxVars(const int phaseIdx, const int compIdx) + MolecularDiffusionType& diffusion(const int phaseIdx, const int compIdx) { - return diffusionFluxVariables_[phaseIdx][compIdx]; + return diffusion_[phaseIdx][compIdx]; } private: - std::array< std::array<DiffusionFluxVariables, numComponents>, numPhases> diffusionFluxVariables_; - EnergyFluxVariables energyFluxVars_; + std::array< std::array<MolecularDiffusionType, numComponents>, numPhases> diffusion_; + HeatConductionType heatConduction_; }; -// specialization for pure heat transport +// specialization for pure heat conduction (e.g. the heat equation) template<class TypeTag> class FluxVariables<TypeTag, false, false, true> { using Problem = typename GET_PROP_TYPE(TypeTag, Problem); using SubControlVolumeFace = typename GET_PROP_TYPE(TypeTag, SubControlVolumeFace); - using EnergyFluxVariables = typename GET_PROP_TYPE(TypeTag, EnergyFluxVariables); + using HeatConductionType = typename GET_PROP_TYPE(TypeTag, HeatConductionType); public: void update(const Problem& problem, const SubControlVolumeFace &scv) { - energyFluxVars_.update(problem, scv); + heatConduction_.update(problem, scv); } - const EnergyFluxVariables& energyFluxVars() const + const HeatConductionType& heatConduction() const { - return energyFluxVars_; + return heatConduction_; } - EnergyFluxVariables& energyFluxVars() + HeatConductionType& heatConduction() { - return energyFluxVars_; + return heatConduction_; } private: - EnergyFluxVariables energyFluxVars_; + HeatConductionType heatConduction_; }; + } // end namespace #endif diff --git a/dumux/implicit/properties.hh b/dumux/implicit/properties.hh index 184177e1c2..ebc7114dc2 100644 --- a/dumux/implicit/properties.hh +++ b/dumux/implicit/properties.hh @@ -79,12 +79,12 @@ NEW_PROP_TAG(BoundaryVariables); //!< Data required to calculate fluxes over bou // Specify the forms of fluxes that should be considered in the model // also, specify their corresponding flux variables -NEW_PROP_TAG(DarcyFluxes); //! specifies if darcy fluxes are considered in the model -NEW_PROP_TAG(DarcyFluxVariables); //! The type for the calculation of the darcy fluxes -NEW_PROP_TAG(DiffusiveFluxes); //! specifies if diffusive fluxes are considered in the model -NEW_PROP_TAG(DiffusionFluxVariables); //! The type that handles the calculation of the molecular diffusion fluxes -NEW_PROP_TAG(EnergyFluxes); //! specifies if the model consideres heat transport phenomena -NEW_PROP_TAG(EnergyFluxVariables); //! The type for the heat flux calculation +NEW_PROP_TAG(EnableAdvection); //! specifies if advection is considered in the model +NEW_PROP_TAG(AdvectionType); //! The type for the calculation the advective fluxes +NEW_PROP_TAG(EnableMolecularDiffusion); //! specifies if molecular diffusive fluxes are considered in the model +NEW_PROP_TAG(MolecularDiffusionType); //! The type for the calculation of the molecular diffusion fluxes +NEW_PROP_TAG(EnableEnergyBalance); //! Specifies if the model solves an energy equation +NEW_PROP_TAG(HeatConductionType); //! The type for the calculation of the heat conduction fluxes // stencils NEW_PROP_TAG(Stencils); //! The stencils container type diff --git a/dumux/implicit/propertydefaults.hh b/dumux/implicit/propertydefaults.hh index 2bfb39ab18..c63c3b9da6 100644 --- a/dumux/implicit/propertydefaults.hh +++ b/dumux/implicit/propertydefaults.hh @@ -102,32 +102,20 @@ SET_TYPE_PROP(ImplicitBase, VolumeVariablesVector, Dumux::VolumeVariablesVector< //! The global volume variables vector class SET_TYPE_PROP(ImplicitBase, StencilsVector, Dumux::StencilsVector<TypeTag>); -//! Set darcy fluxes as the default fluxes to be considered -SET_BOOL_PROP(ImplicitBase, DarcyFluxes, true); - -//! By default diffusive fluxes are switched off -SET_BOOL_PROP(ImplicitBase, DiffusiveFluxes, false); - -//! By default energy fluxes are not considered -SET_BOOL_PROP(ImplicitBase, EnergyFluxes, false); +//! The global volume variables vector class +SET_TYPE_PROP(ImplicitBase, FluxVariablesVector, Dumux::FluxVariablesVector<TypeTag>); // //! The class that contains the different flux variables (i.e. darcy, diffusion, energy) SET_PROP(ImplicitBase, FluxVariables) { private: - enum - { - darcy = GET_PROP_VALUE(TypeTag, DarcyFluxes), - diffusion = GET_PROP_VALUE(TypeTag, DiffusiveFluxes), - energy = GET_PROP_VALUE(TypeTag, EnergyFluxes) - }; + static constexpr bool advection = GET_PROP_VALUE(TypeTag, EnableAdvection); + static constexpr bool diffusion = GET_PROP_VALUE(TypeTag, EnableMolecularDiffusion); + static constexpr bool energy = GET_PROP_VALUE(TypeTag, EnableEnergyBalance); public: - typedef FluxVariables<TypeTag, darcy, diffusion, energy> type; + typedef Dumux::FluxVariables<TypeTag, advection, diffusion, energy> type; }; -//! The global volume variables vector class -SET_TYPE_PROP(ImplicitBase, FluxVariablesVector, Dumux::FluxVariablesVector<TypeTag>); - //! The local jacobian operator SET_TYPE_PROP(ImplicitBase, LocalJacobian, ImplicitLocalJacobian<TypeTag>); diff --git a/dumux/porousmediumflow/1p/implicit/localresidual.hh b/dumux/porousmediumflow/1p/implicit/localresidual.hh index 98292d8929..77c2e60930 100644 --- a/dumux/porousmediumflow/1p/implicit/localresidual.hh +++ b/dumux/porousmediumflow/1p/implicit/localresidual.hh @@ -111,7 +111,7 @@ public: { return (up.density(0)*massWeight + dn.density(0)*(1-massWeight)) *(up.mobility(0)*mobWeight + dn.mobility(0)*(1-mobWeight)); }; - auto flux = fluxVars.darcyFluxVars().computeFlux(0, upwindRule); + auto flux = fluxVars.advection().flux(0, upwindRule); return flux; } diff --git a/dumux/porousmediumflow/1p/implicit/propertydefaults.hh b/dumux/porousmediumflow/1p/implicit/propertydefaults.hh index 6bb3aad3e7..3b57481c71 100644 --- a/dumux/porousmediumflow/1p/implicit/propertydefaults.hh +++ b/dumux/porousmediumflow/1p/implicit/propertydefaults.hh @@ -62,6 +62,15 @@ SET_TYPE_PROP(OneP, Model, OnePModel<TypeTag>); //! the VolumeVariables property SET_TYPE_PROP(OneP, VolumeVariables, OnePVolumeVariables<TypeTag>); +//! Enable advection +SET_BOOL_PROP(OneP, EnableAdvection, true); + +//! The one-phase model has no molecular diffusion +SET_BOOL_PROP(OneP, EnableMolecularDiffusion, false); + +//! Isothermal model by default +SET_BOOL_PROP(OneP, EnableEnergyBalance, false); + //! The indices required by the isothermal single-phase model SET_TYPE_PROP(OneP, Indices, OnePIndices); diff --git a/dumux/porousmediumflow/2p/implicit/localresidual.hh b/dumux/porousmediumflow/2p/implicit/localresidual.hh index 29e67f0260..5ef5fc0673 100644 --- a/dumux/porousmediumflow/2p/implicit/localresidual.hh +++ b/dumux/porousmediumflow/2p/implicit/localresidual.hh @@ -127,7 +127,7 @@ public: *(up.mobility(phaseIdx)*mobWeight + dn.mobility(phaseIdx)*(1-mobWeight)); }; auto eqIdx = (phaseIdx == wPhaseIdx) ? contiWEqIdx : contiNEqIdx; - flux[eqIdx] = fluxVars.darcyFluxVars().computeFlux(phaseIdx, upwindRule); + flux[eqIdx] = fluxVars.advection().flux(phaseIdx, upwindRule); } return flux; diff --git a/dumux/porousmediumflow/2p/implicit/propertydefaults.hh b/dumux/porousmediumflow/2p/implicit/propertydefaults.hh index 9f553690de..630339f4ac 100644 --- a/dumux/porousmediumflow/2p/implicit/propertydefaults.hh +++ b/dumux/porousmediumflow/2p/implicit/propertydefaults.hh @@ -72,6 +72,15 @@ SET_TYPE_PROP(TwoP, Model, TwoPModel<TypeTag>); //! the VolumeVariables property SET_TYPE_PROP(TwoP, VolumeVariables, TwoPVolumeVariables<TypeTag>); +//! Enable advection +SET_BOOL_PROP(TwoP, EnableAdvection, true); + +//! The two-phase model has no molecular diffusion +SET_BOOL_PROP(TwoP, EnableMolecularDiffusion, false); + +//! Isothermal model by default +SET_BOOL_PROP(TwoP, EnableEnergyBalance, false); + //! the upwind weight for the mass conservation equations. SET_SCALAR_PROP(TwoP, ImplicitMassUpwindWeight, 1.0); diff --git a/dumux/porousmediumflow/implicit/cellcentered/tpfa/darcyfluxvariables.hh b/dumux/porousmediumflow/implicit/cellcentered/tpfa/darcyslaw.hh similarity index 97% rename from dumux/porousmediumflow/implicit/cellcentered/tpfa/darcyfluxvariables.hh rename to dumux/porousmediumflow/implicit/cellcentered/tpfa/darcyslaw.hh index 3067f4dbc5..7929d3409e 100644 --- a/dumux/porousmediumflow/implicit/cellcentered/tpfa/darcyfluxvariables.hh +++ b/dumux/porousmediumflow/implicit/cellcentered/tpfa/darcyslaw.hh @@ -22,8 +22,8 @@ * volume and mass fluxes of fluid phases over a face of a finite volume by means * of the Darcy approximation. */ -#ifndef DUMUX_CC_TPFA_DARCY_FLUX_VARIABLES_HH -#define DUMUX_CC_TPFA_DARCY_FLUX_VARIABLES_HH +#ifndef DUMUX_CC_TPFA_DARCYS_LAW_HH +#define DUMUX_CC_TPFA_DARCYS_LAW_HH #include <dune/common/float_cmp.hh> @@ -44,12 +44,12 @@ NEW_PROP_TAG(ProblemEnableGravity); } /*! - * \ingroup ImplicitFluxVariables + * \ingroup CCTpfaDarcysLaw * \brief Evaluates the normal component of the Darcy velocity * on a (sub)control volume face. */ template <class TypeTag> -class CCTpfaImplicitDarcyFluxVariables +class CCTpfaDarcysLaw { typedef typename GET_PROP_TYPE(TypeTag, Scalar) Scalar; typedef typename GET_PROP_TYPE(TypeTag, Problem) Problem; @@ -90,7 +90,7 @@ public: * \param upwindFunction A function which does the upwinding */ template<typename FunctionType> - Scalar computeFlux(IndexType phaseIdx, FunctionType upwindFunction) const + Scalar flux(IndexType phaseIdx, FunctionType upwindFunction) const { const auto insideScvIdx = scvFace_().insideScvIdx(); const auto& insideScv = problem_().model().fvGeometries().subControlVolume(insideScvIdx); @@ -249,4 +249,4 @@ protected: } // end namespace -#endif // DUMUX_CC_TPFA_DARCY_FLUX_VARIABLES_HH +#endif -- GitLab