mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Adding support for two phases Euler solver to heatTransferModel FO
This commit is contained in:
@ -18,7 +18,8 @@ EXE_INC = \
|
|||||||
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/chemistryModel/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
-I$(LIB_SRC)/thermophysicalModels/reactionThermo/lnInclude \
|
||||||
-I$(LIB_SRC)/thermophysicalModels/specie/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 = \
|
LIB_LIBS = \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
@ -37,4 +38,5 @@ LIB_LIBS = \
|
|||||||
-lcompressibleTurbulenceModels \
|
-lcompressibleTurbulenceModels \
|
||||||
-lchemistryModel \
|
-lchemistryModel \
|
||||||
-lreactionThermophysicalModels \
|
-lreactionThermophysicalModels \
|
||||||
-lpairPatchAgglomeration
|
-lpairPatchAgglomeration \
|
||||||
|
-lreactingPhaseSystem
|
||||||
|
|||||||
@ -30,6 +30,7 @@ License
|
|||||||
#include "fluidThermo.H"
|
#include "fluidThermo.H"
|
||||||
#include "turbulentTransportModel.H"
|
#include "turbulentTransportModel.H"
|
||||||
#include "turbulentFluidThermoModel.H"
|
#include "turbulentFluidThermoModel.H"
|
||||||
|
#include "phaseSystem.H"
|
||||||
|
|
||||||
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
|
||||||
|
|
||||||
@ -90,6 +91,28 @@ Foam::heatTransferCoeffModel::q() const
|
|||||||
q[patchi] = alphabf[patchi]*hebf[patchi].snGrad();
|
q[patchi] = alphabf[patchi]*hebf[patchi].snGrad();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (mesh_.foundObject<phaseSystem>("phaseProperties"))
|
||||||
|
{
|
||||||
|
const phaseSystem& fluid =
|
||||||
|
(
|
||||||
|
mesh_.lookupObject<phaseSystem>("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
|
else
|
||||||
{
|
{
|
||||||
FatalErrorInFunction
|
FatalErrorInFunction
|
||||||
|
|||||||
@ -61,6 +61,41 @@ adjustTimeStep yes;
|
|||||||
|
|
||||||
functions
|
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) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ************************************************************************* //
|
// ************************************************************************* //
|
||||||
|
|||||||
Reference in New Issue
Block a user