From 944e09742c383ca2036fec17b47a9dc76a44744c Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 1 Jun 2015 21:53:13 +0100 Subject: [PATCH] solidificationMeltingSource: Removed all need for the "alwaysApply" hack Also removed the underlying structure for "alwaysApply" from fvOption --- src/fvOptions/fvOption/fvOption.C | 13 --- src/fvOptions/fvOption/fvOption.H | 6 -- .../solidificationMeltingSource.C | 93 +++++++------------ .../solidificationMeltingSource.H | 7 -- .../solidificationMeltingSourceTemplates.C | 5 - 5 files changed, 31 insertions(+), 93 deletions(-) diff --git a/src/fvOptions/fvOption/fvOption.C b/src/fvOptions/fvOption/fvOption.C index b75e024e47..ff944d4fe5 100644 --- a/src/fvOptions/fvOption/fvOption.C +++ b/src/fvOptions/fvOption/fvOption.C @@ -38,14 +38,6 @@ namespace Foam } -// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * // - -bool Foam::fv::option::alwaysApply() const -{ - return false; -} - - // * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * // Foam::fv::option::option @@ -115,11 +107,6 @@ bool Foam::fv::option::isActive() Foam::label Foam::fv::option::applyToField(const word& fieldName) const { - if (alwaysApply()) - { - return 0; - } - return findIndex(fieldNames_, fieldName); } diff --git a/src/fvOptions/fvOption/fvOption.H b/src/fvOptions/fvOption/fvOption.H index a3936316aa..364b0e1953 100644 --- a/src/fvOptions/fvOption/fvOption.H +++ b/src/fvOptions/fvOption/fvOption.H @@ -94,12 +94,6 @@ protected: List applied_; - // Protected functions - - //- Flag to bypass the apply flag list checking - virtual bool alwaysApply() const; - - public: //- Runtime type information diff --git a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C index fa4bd7e4bd..f5adc54af4 100644 --- a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C +++ b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.C @@ -65,51 +65,6 @@ const Foam::NamedEnum // * * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * // -bool Foam::fv::solidificationMeltingSource::solveField -( - const word& fieldName -) const -{ - bool result = true; - - switch (mode_) - { - case mdThermo: - { - const basicThermo& thermo = - mesh_.lookupObject("thermophysicalProperties"); - - if (fieldName != thermo.he().name()) - { - result = false; - } - break; - } - case mdLookup: - { - if (fieldName != TName_) - { - result = false; - } - break; - } - default: - { - FatalErrorIn - ( - "bool Foam::fv::solidificationMeltingSource::solveField" - "(" - "const word&" - ") const" - ) - << "Unhandled thermo mode: " << thermoModeTypeNames_[mode_] - << abort(FatalError); - } - } - return result; -} - - Foam::tmp Foam::fv::solidificationMeltingSource::Cp() const { @@ -265,19 +220,40 @@ Foam::fv::solidificationMeltingSource::solidificationMeltingSource curTimeIndex_(-1), deltaT_(cells_.size(), 0) { - fieldNames_.setSize(1, "source"); - applied_.setSize(1, false); + fieldNames_.setSize(2); + fieldNames_[0] = UName_; + + switch (mode_) + { + case mdThermo: + { + const basicThermo& thermo = + mesh_.lookupObject("thermophysicalProperties"); + + fieldNames_[1] = thermo.he().name(); + break; + } + case mdLookup: + { + fieldNames_[1] = TName_; + break; + } + default: + { + FatalErrorIn + ( + "fv::solidificationMeltingSource::solidificationMeltingSource" + ) << "Unhandled thermo mode: " << thermoModeTypeNames_[mode_] + << abort(FatalError); + } + } + + applied_.setSize(2, false); } // * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * // -bool Foam::fv::solidificationMeltingSource::alwaysApply() const -{ - return true; -} - - void Foam::fv::solidificationMeltingSource::addSup ( fvMatrix& eqn, @@ -305,16 +281,9 @@ void Foam::fv::solidificationMeltingSource::addSup const label fieldI ) { - const volVectorField& U = eqn.psi(); - - if (U.name() != UName_) - { - return; - } - if (debug) { - Info<< type() << ": applying source to " << UName_ << endl; + Info<< type() << ": applying source to " << eqn.psi().name() << endl; } const volScalarField Cp(this->Cp()); @@ -350,7 +319,7 @@ void Foam::fv::solidificationMeltingSource::addSup const label fieldI ) { - // momentum source uses a Boussinesq approximation - redirect + // Momentum source uses a Boussinesq approximation - redirect addSup(eqn, fieldI); } diff --git a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.H b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.H index ef963cdf77..552c3d8531 100644 --- a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.H +++ b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSource.H @@ -178,9 +178,6 @@ private: // Private Member Functions - //- Flag to indicate whether to solve for given field - bool solveField(const word& fieldName) const; - //- Return the specific heat capacity field tmp Cp() const; @@ -221,10 +218,6 @@ public: // Member Functions - //- Flag to bypass the apply flag list checking - virtual bool alwaysApply() const; - - // Add explicit and implicit contributions //- Add explicit contribution to enthalpy equation diff --git a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSourceTemplates.C b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSourceTemplates.C index 809753964f..9ad0e24ed3 100644 --- a/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSourceTemplates.C +++ b/src/fvOptions/sources/derived/solidificationMeltingSource/solidificationMeltingSourceTemplates.C @@ -35,11 +35,6 @@ void Foam::fv::solidificationMeltingSource::apply fvMatrix& eqn ) { - if (!solveField(eqn.psi().name())) - { - return; - } - if (debug) { Info<< type() << ": applying source to " << eqn.psi().name() << endl;