From f472fe31a4cef656b89410a9aa37212cc271652f Mon Sep 17 00:00:00 2001 From: andy Date: Thu, 16 Sep 2010 13:18:17 +0100 Subject: [PATCH] ENH: moved phase change output to phase change model --- .../noPhaseChange/noPhaseChange.C | 6 ++++++ .../noPhaseChange/noPhaseChange.H | 6 ++++++ .../phaseChangeModel/phaseChangeModel.H | 6 ++++++ .../standardPhaseChange/standardPhaseChange.C | 17 ++++++++++++++++- .../standardPhaseChange/standardPhaseChange.H | 12 ++++++++++++ .../thermoSingleLayer/thermoSingleLayer.C | 11 +++++------ 6 files changed, 51 insertions(+), 7 deletions(-) diff --git a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C index 8e023485b5..99691237dc 100644 --- a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C +++ b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.C @@ -69,4 +69,10 @@ void Foam::surfaceFilmModels::noPhaseChange::correct } +void Foam::surfaceFilmModels::noPhaseChange::info() const +{ + // do nothing +} + + // ************************************************************************* // diff --git a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H index e75a9f78c4..e29cc4df4a 100644 --- a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H +++ b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/noPhaseChange/noPhaseChange.H @@ -90,6 +90,12 @@ public: scalarField& dMass, scalarField& dEnergy ); + + + // Input/output + + //- Output model statistics + virtual void info() const; }; diff --git a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.H b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.H index 63f0c227c1..716f010e10 100644 --- a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.H +++ b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/phaseChangeModel/phaseChangeModel.H @@ -143,6 +143,12 @@ public: scalarField& dMass, scalarField& dEnergy ) = 0; + + + // Input/output + + //- Output model statistics + virtual void info() const = 0; }; diff --git a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C index 910f8fae9c..28335a8b6e 100644 --- a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C +++ b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.C @@ -76,7 +76,9 @@ Foam::surfaceFilmModels::standardPhaseChange::standardPhaseChange phaseChangeModel(typeName, owner, dict), Tb_(readScalar(coeffs_.lookup("Tb"))), deltaMin_(readScalar(coeffs_.lookup("deltaMin"))), - L_(readScalar(coeffs_.lookup("L"))) + L_(readScalar(coeffs_.lookup("L"))), + totalMass_(0.0), + vapourRate_(0.0) {} @@ -191,6 +193,19 @@ void Foam::surfaceFilmModels::standardPhaseChange::correct dEnergy[cellI] = dMass[cellI]*hVap; } } + + const scalar sumdMass = sum(dMass); + totalMass_ += sumdMass; + vapourRate_ = sumdMass/owner().time().deltaTValue(); +} + + +void Foam::surfaceFilmModels::standardPhaseChange::info() const +{ + Info<< indent << "mass phase change = " + << returnReduce(totalMass_, sumOp()) << nl + << indent << "vapourisation rate = " + << returnReduce(vapourRate_, sumOp()) << nl; } diff --git a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.H b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.H index d1633a6f93..bb9e69e4c6 100644 --- a/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.H +++ b/src/surfaceFilmModels/submodels/thermo/phaseChangeModel/standardPhaseChange/standardPhaseChange.H @@ -76,6 +76,12 @@ protected: //- Length scale / [m] const scalar L_; + //- Total mass evolved / [kg] + scalar totalMass_; + + //- Vapouristaion rate / kg/s + scalar vapourRate_; + // Protected member functions @@ -114,6 +120,12 @@ public: scalarField& dMass, scalarField& dEnergy ); + + + // Input/output + + //- Output model statistics + virtual void info() const; }; diff --git a/src/surfaceFilmModels/surfaceFilmModel/thermoSingleLayer/thermoSingleLayer.C b/src/surfaceFilmModels/surfaceFilmModel/thermoSingleLayer/thermoSingleLayer.C index 92d09979f1..acff2f41a1 100644 --- a/src/surfaceFilmModels/surfaceFilmModel/thermoSingleLayer/thermoSingleLayer.C +++ b/src/surfaceFilmModels/surfaceFilmModel/thermoSingleLayer/thermoSingleLayer.C @@ -212,7 +212,8 @@ void Foam::surfaceFilmModels::thermoSingleLayer::solveEnergy() fvm::ddt(deltaRho_, hs_) + fvm::div(phi_, hs_) == - fvm::Sp(hsSp_/hs_, hs_) +// fvm::Sp(hsSp_/hs_, hs_) + hsSp_ + q(hs_) - fvm::Sp(massForPrimary_/magSf_/time_.deltaT(), hs_) ); @@ -570,11 +571,9 @@ void Foam::surfaceFilmModels::thermoSingleLayer::info() const kinematicSingleLayer::info(); Info<< indent << "min/max(T) = " << min(T_).value() << ", " - << max(T_).value() << nl - << indent << "mass phase change = " - << returnReduce(totalMassPhaseChange_, sumOp()) << nl - << indent << "vapourisation rate = " - << sum(massPhaseChangeForPrimary_).value()/time_.deltaTValue() << nl; + << max(T_).value() << nl; + + phaseChange_->info(); }