From 59409fb4634c64a0ce77216cb4332b60078b6803 Mon Sep 17 00:00:00 2001 From: Henry Weller Date: Fri, 27 Jan 2023 16:40:22 +0000 Subject: [PATCH] tutorials/modules/incompressibleFluid/pitzDailyScalarTransport: Added coded functionObject which stops the run when the mixing defined as mean(T)/max(T) > 0.9. --- .../system/controlDict | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/tutorials/modules/incompressibleFluid/pitzDailyScalarTransport/system/controlDict b/tutorials/modules/incompressibleFluid/pitzDailyScalarTransport/system/controlDict index 11f296ffa2..3103c5c012 100644 --- a/tutorials/modules/incompressibleFluid/pitzDailyScalarTransport/system/controlDict +++ b/tutorials/modules/incompressibleFluid/pitzDailyScalarTransport/system/controlDict @@ -26,7 +26,7 @@ startTime 0; stopAt endTime; -endTime 0.1; +endTime 0.2; deltaT 0.0001; @@ -51,6 +51,31 @@ runTimeModifiable true; functions { #includeFunc scalarTransport(T, diffusivity=constant, D = 0.01) + + mixingQualityCheck + { + type coded; + libs ("libutilityFunctionObjects.so"); + + codeExecute + #{ + const volScalarField& T + ( + mesh().lookupObject("T") + ); + + const scalar maxT = max(T).value(); + const scalar meanT = T.weightedAverage(mesh().V()).value(); + + const scalar mixingQuality = meanT/maxT; + Info << "mixingQuality = " << mixingQuality << endl; + + if (mixingQuality > 0.9) + { + const_cast(mesh().time()).writeAndEnd(); + } + #}; + } } // ************************************************************************* //