From 5874cb8a94f196300b1fe424131f76e254c62f70 Mon Sep 17 00:00:00 2001 From: IvBu <st116086@stud.uni-stuttgart.de> Date: Sat, 28 Oct 2023 09:55:23 +0200 Subject: [PATCH] [md][dualnetwork] Rename FancyFactor and add citation to paper --- test/multidomain/dualnetwork/fourierslaw.hh | 14 ++++++++------ test/multidomain/dualnetwork/params.input | 2 +- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/test/multidomain/dualnetwork/fourierslaw.hh b/test/multidomain/dualnetwork/fourierslaw.hh index 1f0e3b2a4f..5550e044df 100644 --- a/test/multidomain/dualnetwork/fourierslaw.hh +++ b/test/multidomain/dualnetwork/fourierslaw.hh @@ -191,7 +191,7 @@ struct FixedFactorFouriersLaw }; template<bool isFluid> -struct FancyFactorFouriersLaw +struct FluidSolidEffectiveAreasFouriersLaw { template<class Problem, class Element, class FVElementGeometry, class ElementVolumeVariables, class ElementFluxVariablesCache> @@ -219,6 +219,7 @@ struct FancyFactorFouriersLaw const typename FVElementGeometry::SubControlVolumeFace& scvf, const ElementFluxVariablesCache& elemFluxVarsCache) { + //For transmissibillity calculation see section 5.2 in Koch et al (2021) https://doi.org/10.1007/s11242-021-01602-5 using Scalar = typename ElementVolumeVariables::VolumeVariables::PrimaryVariables::value_type; const auto& insideScv = fvGeometry.scv(scvf.insideScvIdx()); @@ -270,6 +271,7 @@ struct FancyFactorFouriersLaw const Scalar ApInside = insideVolVars.poreVolume()/(2.0*distanceInside); const Scalar ApOutside = outsideVolVars.poreVolume()/(2.0*distanceOutside); + //For effective areas see figure 3 in Koch et al (2021) https://doi.org/10.1007/s11242-021-01602-5 Scalar effectiveAreaInside = 0.0; Scalar effectiveAreaOutside = 0.0; Scalar At = 0.0; @@ -397,7 +399,7 @@ struct ScalingFouriersLaw template<bool isFluid> struct FlexibleFouriersLaw { - enum class Mode {pyramid, fixedFactor, fancyFactor, tpfa}; + enum class Mode {pyramid, fixedFactor, fluidSolidEffectiveAreas, tpfa}; template<class Problem, class Element, class FVElementGeometry, class ElementVolumeVariables, class ElementFluxVariablesCache> @@ -430,8 +432,8 @@ struct FlexibleFouriersLaw const auto m = getParamFromGroup<std::string>(problem.paramGroup(), "FouriersLaw.ThroatConductionType"); if (m == "Pyramid") return Mode::pyramid; - else if (m == "FancyFactor") - return Mode::fancyFactor; + else if (m == "FluidSolidEffectiveAreas") + return Mode::fluidSolidEffectiveAreas; else if (m == "FixedFactor") return Mode::fixedFactor; else @@ -442,8 +444,8 @@ struct FlexibleFouriersLaw return FluidOrGrainPyramidFouriersLaw<isFluid>::transmissibility(problem, element, fvGeometry, elemVolVars, scvf, elemFluxVarsCache); else if (mode == Mode::fixedFactor) return FixedFactorFouriersLaw<isFluid>::transmissibility(problem, element, fvGeometry, elemVolVars, scvf, elemFluxVarsCache); - else if (mode == Mode::fancyFactor) - return FancyFactorFouriersLaw<isFluid>::transmissibility(problem, element, fvGeometry, elemVolVars, scvf, elemFluxVarsCache); + else if (mode == Mode::fluidSolidEffectiveAreas) + return FluidSolidEffectiveAreasFouriersLaw<isFluid>::transmissibility(problem, element, fvGeometry, elemVolVars, scvf, elemFluxVarsCache); else return 0.0; // TODO implement TPFA } }; diff --git a/test/multidomain/dualnetwork/params.input b/test/multidomain/dualnetwork/params.input index 77b25fed75..db7d4f519a 100644 --- a/test/multidomain/dualnetwork/params.input +++ b/test/multidomain/dualnetwork/params.input @@ -19,7 +19,7 @@ OutletIndex = 6 HeaterIndex = 1 [FouriersLaw] -ThroatConductionType = FancyFactor +ThroatConductionType = FluidSolidEffectiveAreas C0Fluid = 0.1 C0Solid = 0.45 CInfFactorFluid = 1 -- GitLab