diff --git a/src/functionObjects/field/Make/options b/src/functionObjects/field/Make/options index 57ea31c1cf..1146a65d49 100644 --- a/src/functionObjects/field/Make/options +++ b/src/functionObjects/field/Make/options @@ -18,7 +18,8 @@ EXE_INC = \ -I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \ -I$(LIB_SRC)/thermophysicalModels/specie/lnInclude \ - -I$(LIB_SRC)/fvAgglomerationMethods/pairPatchAgglomeration/lnInclude + -I$(LIB_SRC)/fvAgglomerationMethods/pairPatchAgglomeration/lnInclude \ + -I$(LIB_SRC)/phaseSystemModels/reactingEulerFoam/phaseSystems/lnInclude LIB_LIBS = \ -lfiniteVolume \ @@ -37,4 +38,5 @@ LIB_LIBS = \ -lcompressibleTurbulenceModels \ -lchemistryModel \ -lreactionThermophysicalModels \ - -lpairPatchAgglomeration + -lpairPatchAgglomeration \ + -lreactingPhaseSystem diff --git a/src/functionObjects/field/heatTransferCoeff/heatTransferCoeffModels/heatTransferCoeffModel/heatTransferCoeffModel.C b/src/functionObjects/field/heatTransferCoeff/heatTransferCoeffModels/heatTransferCoeffModel/heatTransferCoeffModel.C index c72aefc0bd..38abbd3ba6 100644 --- a/src/functionObjects/field/heatTransferCoeff/heatTransferCoeffModels/heatTransferCoeffModel/heatTransferCoeffModel.C +++ b/src/functionObjects/field/heatTransferCoeff/heatTransferCoeffModels/heatTransferCoeffModel/heatTransferCoeffModel.C @@ -30,6 +30,7 @@ License #include "fluidThermo.H" #include "turbulentTransportModel.H" #include "turbulentFluidThermoModel.H" +#include "phaseSystem.H" // * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // @@ -90,6 +91,28 @@ Foam::heatTransferCoeffModel::q() const q[patchi] = alphabf[patchi]*hebf[patchi].snGrad(); } } + else if (mesh_.foundObject("phaseProperties")) + { + const phaseSystem& fluid = + ( + mesh_.lookupObject("phaseProperties") + ); + + for (label patchi : patchSet_) + { + forAll(fluid.phases(), phasei) + { + const phaseModel& phase = fluid.phases()[phasei]; + const fvPatchScalarField& alpha = + phase.boundaryField()[patchi]; + const volScalarField& he = phase.thermo().he(); + const volScalarField::Boundary& hebf = he.boundaryField(); + + q[patchi] += + alpha*phase.alphaEff(patchi)()*hebf[patchi].snGrad(); + } + } + } else { FatalErrorInFunction diff --git a/tutorials/heatTransfer/chtMultiRegionTwoPhaseEulerFoam/solidQuenching2D/system/controlDict b/tutorials/heatTransfer/chtMultiRegionTwoPhaseEulerFoam/solidQuenching2D/system/controlDict index cde3e6c6d7..84de3e466e 100644 --- a/tutorials/heatTransfer/chtMultiRegionTwoPhaseEulerFoam/solidQuenching2D/system/controlDict +++ b/tutorials/heatTransfer/chtMultiRegionTwoPhaseEulerFoam/solidQuenching2D/system/controlDict @@ -61,6 +61,41 @@ adjustTimeStep yes; functions { + htc + { + type heatTransferCoeff; + libs ("libfieldFunctionObjects.so"); + region water; + field T.liquid; + writeControl outputTime; + writeInterval 1; + htcModel fixedReferenceTemperature; + patches (water_to_solid); + TRef 373; + } + + htcSurfaceFieldValue + { + type surfaceFieldValue; + libs (fieldFunctionObjects); + log on; + enabled true; + + writeControl outputTime; + writeInterval 1; + + writeFields false; + surfaceFormat none; + writeArea false; + + region water; + regionType patch; + name water_to_solid; + + operation areaAverage; + + fields ( heatTransferCoeff(T.liquid) ); + } } // ************************************************************************* //