From baceaf8457421f181a77bd4b1d4dffea35ff499d Mon Sep 17 00:00:00 2001 From: andy Date: Wed, 30 Apr 2014 16:55:03 +0100 Subject: [PATCH] ENH: surface film - updates to help smooth restart behaviour --- .../kinematicSingleLayer.C | 23 +++++++++++++++---- .../thermoSingleLayer/thermoSingleLayer.C | 18 ++++++++++++++- 2 files changed, 36 insertions(+), 5 deletions(-) diff --git a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C index 928f65da..78e6d189 100644 --- a/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C +++ b/src/regionModels/surfaceFilmModels/kinematicSingleLayer/kinematicSingleLayer.C @@ -2,7 +2,7 @@ ========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | - \\ / A nd | Copyright (C) 2011-2013 OpenFOAM Foundation + \\ / A nd | Copyright (C) 2011-2014 OpenFOAM Foundation \\/ M anipulation | ------------------------------------------------------------------------------- License @@ -581,11 +581,11 @@ kinematicSingleLayer::kinematicSingleLayer "phi", time().timeName(), regionMesh(), - IOobject::READ_IF_PRESENT, + IOobject::NO_READ, IOobject::AUTO_WRITE ), regionMesh(), - dimLength*dimMass/dimTime + dimensionedScalar("0", dimLength*dimMass/dimTime, 0.0) ), primaryMassTrans_ @@ -795,7 +795,22 @@ kinematicSingleLayer::kinematicSingleLayer correctThermoFields(); deltaRho_ == delta_*rho_; - phi_ = fvc::interpolate(deltaRho_*U_) & regionMesh().Sf(); + + surfaceScalarField phi0 + ( + IOobject + ( + "phi", + time().timeName(), + regionMesh(), + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE, + false + ), + fvc::interpolate(deltaRho_*U_) & regionMesh().Sf() + ); + + phi_ == phi0; } } diff --git a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C index 68c02bc5..c466759c 100644 --- a/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C +++ b/src/regionModels/surfaceFilmModels/thermoSingleLayer/thermoSingleLayer.C @@ -554,8 +554,24 @@ thermoSingleLayer::thermoSingleLayer // Update derived fields hs_ == hs(T_); + deltaRho_ == delta_*rho_; - phi_ = fvc::interpolate(deltaRho_*U_) & regionMesh().Sf(); + + surfaceScalarField phi0 + ( + IOobject + ( + "phi", + time().timeName(), + regionMesh(), + IOobject::READ_IF_PRESENT, + IOobject::AUTO_WRITE, + false + ), + fvc::interpolate(deltaRho_*U_) & regionMesh().Sf() + ); + + phi_ == phi0; // evaluate viscosity from user-model viscosity_->correct(pPrimary_, T_);