From f036f5a761a72d8f0fccdf6b49466cab5ea64414 Mon Sep 17 00:00:00 2001 From: andy <andy> Date: Mon, 12 Nov 2012 11:00:03 +0000 Subject: [PATCH] ENH: Added optional temperature limiting to thermo film model --- .../thermoSingleLayer/thermoSingleLayer.C | 14 +++++++++++++- .../thermoSingleLayer/thermoSingleLayer.H | 9 +++++++++ .../thermoSingleLayer/thermoSingleLayerI.H | 9 +++++++-- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C index 9f0c18c0cce..417274da8e2 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C @@ -514,8 +514,20 @@ thermoSingleLayer::thermoSingleLayer heatTransferModel::New(*this, coeffs().subDict("lowerSurfaceModels")) ), phaseChange_(phaseChangeModel::New(*this, coeffs())), - radiation_(filmRadiationModel::New(*this, coeffs())) + radiation_(filmRadiationModel::New(*this, coeffs())), + Tmin_(-VGREAT), + Tmax_(VGREAT) { + if (coeffs().readIfPresent("Tmin", Tmin_)) + { + Info<< " limiting minimum temperature to " << Tmin_ << endl; + } + + if (coeffs().readIfPresent("Tmax", Tmax_)) + { + Info<< " limiting maximum temperature to " << Tmax_ << endl; + } + if (thermo_.hasMultiComponentCarrier()) { YPrimary_.setSize(thermo_.carrier().species().size()); diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.H b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.H index bce30b44837..c67a6ef6b5b 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.H +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.H @@ -166,6 +166,15 @@ protected: PtrList<volScalarField> YPrimary_; + // Limits + + //- Minimum temperature limit (optional) + scalar Tmin_; + + //- Maximum temperature limit (optional) + scalar Tmax_; + + // Sub-models //- Heat transfer coefficient bewteen film surface and primary diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H index 73dc08496b6..c8ba48f9849 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayerI.H @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2012 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -88,7 +88,7 @@ inline tmp<volScalarField> thermoSingleLayer::T const volScalarField& hs ) const { - return tmp<volScalarField> + tmp<volScalarField> tT ( new volScalarField ( @@ -104,6 +104,11 @@ inline tmp<volScalarField> thermoSingleLayer::T zeroGradientFvPatchScalarField::typeName ) ); + + tT().min(Tmax_); + tT().max(Tmin_); + + return tT; } -- GitLab