From 5da9b0e952ff37d382397bd0171d003af0084195 Mon Sep 17 00:00:00 2001 From: Katharina Heck <katharina.heck@iws.uni-stuttgart.de> Date: Tue, 13 Nov 2018 15:08:42 +0100 Subject: [PATCH] [test][cleanup] general cleanup, remove whitespace, indentation --- .../box/fourierslawnonequilibrium.hh | 4 +- .../tpfa/fourierslawnonequilibrium.hh | 6 +- .../1pia/fluidsolidinterfacialareashiwang.hh | 2 +- .../fluidmatrixinteractions/mp/mpadapter.hh | 5 +- .../spatialparams/fvnonequilibrium.hh | 6 +- dumux/porousmediumflow/1pnc/model.hh | 6 +- .../porousmediumflow/mpnc/volumevariables.hh | 14 ++--- .../nonequilibrium/thermal/localresidual.hh | 2 - .../mpnc/implicit/kinetic/problem.hh | 2 +- .../combustionlocalresidual.hh | 61 +++++++++---------- .../implicit/thermalnonequilibrium/problem.hh | 2 +- 11 files changed, 53 insertions(+), 57 deletions(-) diff --git a/dumux/discretization/box/fourierslawnonequilibrium.hh b/dumux/discretization/box/fourierslawnonequilibrium.hh index 5cb128deee..fb569e2a09 100644 --- a/dumux/discretization/box/fourierslawnonequilibrium.hh +++ b/dumux/discretization/box/fourierslawnonequilibrium.hh @@ -103,8 +103,8 @@ public: //solid phase else { - insideLambda += insideVolVars.solidThermalConductivity()*(1-insideVolVars.porosity()); - outsideLambda +=outsideVolVars.solidThermalConductivity()*(1-outsideVolVars.porosity()); + insideLambda += insideVolVars.solidThermalConductivity()*(1.0-insideVolVars.porosity()); + outsideLambda += outsideVolVars.solidThermalConductivity()*(1.0-outsideVolVars.porosity()); } // scale by extrusion factor diff --git a/dumux/discretization/cellcentered/tpfa/fourierslawnonequilibrium.hh b/dumux/discretization/cellcentered/tpfa/fourierslawnonequilibrium.hh index f2c6e4acdb..df203a6d33 100644 --- a/dumux/discretization/cellcentered/tpfa/fourierslawnonequilibrium.hh +++ b/dumux/discretization/cellcentered/tpfa/fourierslawnonequilibrium.hh @@ -95,7 +95,7 @@ public: else //temp solid { tInside += elemVolVars[scvf.insideScvIdx()].temperatureSolid(); - tOutside += elemVolVars[scvf.outsideScvIdx()].temperatureSolid(); + tOutside += elemVolVars[scvf.outsideScvIdx()].temperatureSolid(); } Scalar tij = calculateTransmissibility(problem, element, fvGeometry, elemVolVars, scvf, phaseIdx); @@ -134,7 +134,7 @@ public: //solid phase else { - insideLambda += insideVolVars.solidThermalConductivity()*(1-insideVolVars.porosity()); + insideLambda += insideVolVars.solidThermalConductivity()*(1.0-insideVolVars.porosity()); } const Scalar ti = computeTpfaTransmissibility(scvf, insideScv, insideLambda, insideVolVars.extrusionFactor()); @@ -167,7 +167,7 @@ public: //solid phase else { - outsideLambda +=outsideVolVars.solidThermalConductivity()*(1-outsideVolVars.porosity()); + outsideLambda +=outsideVolVars.solidThermalConductivity()*(1.0-outsideVolVars.porosity()); } Scalar tj; if (dim == dimWorld) diff --git a/dumux/material/fluidmatrixinteractions/1pia/fluidsolidinterfacialareashiwang.hh b/dumux/material/fluidmatrixinteractions/1pia/fluidsolidinterfacialareashiwang.hh index ece673473b..77a9e6332d 100644 --- a/dumux/material/fluidmatrixinteractions/1pia/fluidsolidinterfacialareashiwang.hh +++ b/dumux/material/fluidmatrixinteractions/1pia/fluidsolidinterfacialareashiwang.hh @@ -45,7 +45,7 @@ public: */ static Scalar fluidSolidInterfacialArea(const Scalar porosity, const Scalar characteristicLength) - { return 6*(1-porosity)/characteristicLength; } + { return 6.0*(1.0-porosity)/characteristicLength; } }; } #endif diff --git a/dumux/material/fluidmatrixinteractions/mp/mpadapter.hh b/dumux/material/fluidmatrixinteractions/mp/mpadapter.hh index 698615cb5e..2754859c6d 100644 --- a/dumux/material/fluidmatrixinteractions/mp/mpadapter.hh +++ b/dumux/material/fluidmatrixinteractions/mp/mpadapter.hh @@ -28,6 +28,8 @@ #define DUMUX_MP_2P_ADAPTER_HH #include <algorithm> +#include <cassert> +#include <dumux/common/typetraits/typetraits.hh> namespace Dumux { @@ -58,10 +60,10 @@ public: const FluidState &state, const int wPhaseIdx) { + assert(values.size() == 2); const int nPhaseIdx = 1 - wPhaseIdx; // non-wetting phase gets the capillary pressure added values[nPhaseIdx] = 0; - // wetting phase does not get anything added values[wPhaseIdx] = - MaterialLaw::pc(params, state.saturation(wPhaseIdx)); } @@ -78,6 +80,7 @@ public: const FluidState &state, const int wPhaseIdx) { + assert(values.size() == 2); const int nPhaseIdx = 1 - wPhaseIdx; values[wPhaseIdx] = MaterialLaw::krw(params, state.saturation(wPhaseIdx)); values[nPhaseIdx] = MaterialLaw::krn(params, state.saturation(wPhaseIdx)); diff --git a/dumux/material/spatialparams/fvnonequilibrium.hh b/dumux/material/spatialparams/fvnonequilibrium.hh index 73ed50d919..c2cf3be556 100644 --- a/dumux/material/spatialparams/fvnonequilibrium.hh +++ b/dumux/material/spatialparams/fvnonequilibrium.hh @@ -34,17 +34,13 @@ namespace Dumux { */ template<class FVGridGeometry, class Scalar, class Implementation> class FVNonEquilibriumSpatialParams -: public FVSpatialParams<FVGridGeometry, - Scalar, - Implementation> +: public FVSpatialParams<FVGridGeometry, Scalar, Implementation> { - using ParentType = FVSpatialParams<FVGridGeometry, Scalar, Implementation>; using GridView = typename FVGridGeometry::GridView; using FVElementGeometry = typename FVGridGeometry::LocalView; using SubControlVolume = typename FVGridGeometry::SubControlVolume; using Element = typename GridView::template Codim<0>::Entity; - using GlobalPosition = typename Element::Geometry::GlobalCoordinate; public: diff --git a/dumux/porousmediumflow/1pnc/model.hh b/dumux/porousmediumflow/1pnc/model.hh index 73c1b5adf8..856bfdd716 100644 --- a/dumux/porousmediumflow/1pnc/model.hh +++ b/dumux/porousmediumflow/1pnc/model.hh @@ -249,7 +249,7 @@ public: } // end namespace Properties template<class OnePNCModelTraits> -struct OnePNCNonequilibriumModelTraits : public OnePNCModelTraits +struct OnePNCUnconstrainedModelTraits : public OnePNCModelTraits { static constexpr int numConstraintEq() { return 0; } }; @@ -262,6 +262,7 @@ namespace TTag { struct OnePNCNonEquil { using InheritsFrom = std::tuple<NonEquilibrium, OnePNC>; }; } // end namespace TTag + ///////////////////////////////////////////////// // Properties for the non-equilibrium OnePNC model ///////////////////////////////////////////////// @@ -289,6 +290,7 @@ private: public: using type = NonEquilTraits; }; + // by default chemical non equilibrium is enabled in the nonequil model, switch that off here template<class TypeTag> struct EnableChemicalNonEquilibrium<TypeTag, TTag::OnePNCNonEquil> { static constexpr bool value = false; }; @@ -301,7 +303,7 @@ private: using FluidSystem = GetPropType<TypeTag, Properties::FluidSystem>; using EquilibriumTraits = OnePNCModelTraits<FluidSystem::numComponents, getPropValue<TypeTag, Properties::UseMoles>(), getPropValue<TypeTag, Properties::ReplaceCompEqIdx>()>; public: - using type = OnePNCNonequilibriumModelTraits<EquilibriumTraits>; + using type = OnePNCUnconstrainedModelTraits<EquilibriumTraits>; }; //! in case we do not assume full non-equilibrium one needs a thermal conductivity diff --git a/dumux/porousmediumflow/mpnc/volumevariables.hh b/dumux/porousmediumflow/mpnc/volumevariables.hh index d2291213d8..1abb9cf00a 100644 --- a/dumux/porousmediumflow/mpnc/volumevariables.hh +++ b/dumux/porousmediumflow/mpnc/volumevariables.hh @@ -188,7 +188,7 @@ public: const auto& materialParams = problem.spatialParams().materialLawParams(element, scv, elemSol); // capillary pressures - Scalar capPress[numPhases()]; + std::vector<Scalar> capPress(numPhases()); using MaterialLaw = typename Problem::SpatialParams::MaterialLaw; using MPAdapter = MPAdapter<MaterialLaw, numPhases()>; MPAdapter::capillaryPressures(capPress, materialParams, fluidState, wPhaseIdx); @@ -494,7 +494,7 @@ protected: std::array<std::array<Scalar, numFluidComps-1>, numPhases()> diffCoefficient_; Scalar porosity_; //!< Effective porosity within the control volume - Scalar relativePermeability_[numPhases()]; //!< Effective relative permeability within the control volume + std::array<Scalar, ModelTraits::numPhases()> relativePermeability_; //!< Effective relative permeability within the control volume PermeabilityType permeability_; //! Mass fractions of each component within each phase @@ -568,9 +568,9 @@ public: using MaterialLaw = typename Problem::SpatialParams::MaterialLaw; using MPAdapter = MPAdapter<MaterialLaw, numPhases()>; MPAdapter::relativePermeabilities(relativePermeability_, - materialParams, - fluidState_, - wPhaseIdx); + materialParams, + fluidState_, + wPhaseIdx); typename FluidSystem::ParameterCache paramCache; paramCache.updateAll(fluidState_); if (enableDiffusion) @@ -643,7 +643,7 @@ public: problem.spatialParams().materialLawParams(element, scv, elemSol); const int wPhaseIdx = problem.spatialParams().template wettingPhase<FluidSystem>(element, scv, elemSol); // capillary pressures - Scalar capPress[numPhases()]; + std::vector<Scalar> capPress(numPhases()); using MaterialLaw = typename Problem::SpatialParams::MaterialLaw; using MPAdapter = MPAdapter<MaterialLaw, numPhases()>; MPAdapter::capillaryPressures(capPress, materialParams, fluidState, wPhaseIdx); @@ -1007,7 +1007,7 @@ protected: } std::array<std::array<Scalar, numFluidComps-1>, numPhases()> diffCoefficient_; - Scalar relativePermeability_[numPhases()]; //!< Effective relative permeability within the control volume + std::array<Scalar, ModelTraits::numPhases()> relativePermeability_; //!< Effective relative permeability within the control volume PermeabilityType permeability_; Scalar xEquil_[numPhases()][numFluidComps]; diff --git a/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh b/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh index 01db8cbafb..b55b9e0e0d 100644 --- a/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh +++ b/dumux/porousmediumflow/nonequilibrium/thermal/localresidual.hh @@ -148,9 +148,7 @@ public: flux[energyEq0Idx] += fluxVars.heatConductionFlux(0); //heat conduction for the solid phases for(int sPhaseIdx=0; sPhaseIdx<numEnergyEqSolid; ++sPhaseIdx) - { flux[energyEqSolidIdx+sPhaseIdx] += fluxVars.heatConductionFlux(numPhases + sPhaseIdx); - } } /*! diff --git a/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh b/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh index b934ea5dd2..cfdbbda08f 100644 --- a/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh +++ b/test/porousmediumflow/mpnc/implicit/kinetic/problem.hh @@ -456,7 +456,7 @@ private: const auto &materialParams = this->spatialParams().materialLawParamsAtPos(globalPos); - Scalar capPress[numPhases]; + std::vector<Scalar> capPress(numPhases); //get the index for the wettingphase const int wPhaseIdx = this->spatialParams().template wettingPhaseAtPos<FluidSystem>(globalPos); //obtain pc according to saturation diff --git a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/combustionlocalresidual.hh b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/combustionlocalresidual.hh index 418c5dd470..4810977f3f 100644 --- a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/combustionlocalresidual.hh +++ b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/combustionlocalresidual.hh @@ -87,23 +87,22 @@ public: const Scalar as = volVars.fluidSolidInterfacialArea(); //temperature fluid is the same for both fluids - const Scalar TFluid = volVars.temperatureFluid(0); - const Scalar TSolid = volVars.temperatureSolid(); + const Scalar TFluid = volVars.temperatureFluid(0); + const Scalar TSolid = volVars.temperatureSolid(); - const Scalar satW = fs.saturation(0) ; - const Scalar satN = fs.saturation(1) ; + const Scalar satW = fs.saturation(0) ; + const Scalar satN = fs.saturation(1) ; const Scalar eps = 1e-6 ; Scalar solidToFluidEnergyExchange ; Scalar fluidConductivity ; - if (satW < 1.0 - eps) - fluidConductivity = volVars.fluidThermalConductivity(1) ; - else if (satW >= 1.0 - eps) - fluidConductivity = volVars.fluidThermalConductivity(0) ; - else - DUNE_THROW(Dune::NotImplemented, - "wrong range"); + if (satW < 1.0 - eps) + fluidConductivity = volVars.fluidThermalConductivity(1) ; + else if (satW >= 1.0 - eps) + fluidConductivity = volVars.fluidThermalConductivity(0) ; + else + DUNE_THROW(Dune::NotImplemented, "wrong range"); const Scalar factorEnergyTransfer = volVars.factorEnergyTransfer() ; @@ -112,7 +111,7 @@ public: if (satW < (0 + eps) ) { - solidToFluidEnergyExchange *= volVars.nusseltNumber(1) ; + solidToFluidEnergyExchange *= volVars.nusseltNumber(1) ; } else if ( (satW >= 0 + eps) and (satW < 1.0-eps) ) { @@ -125,11 +124,11 @@ public: QBoilFunc(volVars, 0.0), QBoilFunc(volVars, epsRegul), // y1, y2 0.0,dQBoil_dSw(volVars, epsRegul)); // m1, m2 - qBoil = sp.eval(satW) ; + qBoil = sp.eval(satW); } else if (satW>= (1.0-epsRegul) ) - {// regularize + { // regularize typedef Dumux::Spline<Scalar> Spline; Spline sp(1.0-epsRegul, 1.0, // x1, x2 QBoilFunc(volVars, 1.0-epsRegul), 0.0, // y1, y2 @@ -140,7 +139,7 @@ public: else { qBoil = QBoilFunc(volVars, satW) ; - } + } solidToFluidEnergyExchange += qBoil; } @@ -149,8 +148,7 @@ public: solidToFluidEnergyExchange *= volVars.nusseltNumber(0) ; } else - DUNE_THROW(Dune::NotImplemented, - "wrong range"); + DUNE_THROW(Dune::NotImplemented, "wrong range"); using std::isfinite; if (!isfinite(solidToFluidEnergyExchange)) @@ -184,27 +182,26 @@ public: { // using saturation as input (instead of from volVars) // in order to make regularization (evaluation at different points) easyer - const auto& fs = volVars.fluidState() ; - const Scalar g( 9.81 ) ; - const Scalar gamma(0.0589) ; - const Scalar TSolid = volVars.temperatureSolid(); - const Scalar characteristicLength = volVars.characteristicLength() ; + const auto& fs = volVars.fluidState(); + const Scalar g( 9.81 ); + const Scalar gamma(0.0589); + const Scalar TSolid = volVars.temperatureSolid(); using std::pow; - const Scalar as = 6.0 * (1.0-volVars.porosity()) / characteristicLength ; - const Scalar mul = fs.viscosity(0) ; + const Scalar as = volVars.fluidSolidInterfacialArea(); + const Scalar mul = fs.viscosity(0); const Scalar deltahv = fs.enthalpy(1) - fs.enthalpy(0); - const Scalar deltaRho = fs.density(0) - fs.density(1) ; + const Scalar deltaRho = fs.density(0) - fs.density(1); const Scalar firstBracket = pow(g * deltaRho / gamma, 0.5); - const Scalar cp = FluidSystem::heatCapacity(fs, 0) ; + const Scalar cp = FluidSystem::heatCapacity(fs, 0); // This use of Tsat is only justified if the fluid is always boiling (tsat equals boiling conditions) // If a different state is to be simulated, please use the actual fluid temperature instead. const Scalar Tsat = FluidSystem::vaporTemperature(fs, 1 ) ; - const Scalar deltaT = TSolid - Tsat ; - const Scalar secondBracket = pow( (cp *deltaT / (0.006 * deltahv) ) , 3.0 ) ; - const Scalar Prl = volVars.prandtlNumber(0) ; - const Scalar thirdBracket = pow( 1/Prl , (1.7/0.33) ); - const Scalar QBoil = satW * as * mul * deltahv * firstBracket * secondBracket * thirdBracket ; - return QBoil; + const Scalar deltaT = TSolid - Tsat; + const Scalar secondBracket = pow( (cp *deltaT / (0.006 * deltahv) ) , 3.0 ); + const Scalar Prl = volVars.prandtlNumber(0); + const Scalar thirdBracket = pow( 1/Prl , (1.7/0.33)); + const Scalar QBoil = satW * as * mul * deltahv * firstBracket * secondBracket * thirdBracket; + return QBoil; } /*! \brief Calculate the derivative of the energy transfer function during boiling. Needed for regularization. diff --git a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/problem.hh b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/problem.hh index 302a7d8f56..5784778fda 100644 --- a/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/problem.hh +++ b/test/porousmediumflow/mpnc/implicit/thermalnonequilibrium/problem.hh @@ -449,7 +449,7 @@ private: ////////////////////////////////////// priVars[energyEq0Idx] = thisTemperature; priVars[energyEqSolidIdx] = thisTemperature; - Scalar capPress[numPhases]; + std::vector<Scalar> capPress(numPhases); //obtain pc according to saturation const auto &materialParams = -- GitLab