mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: turbulenceFields: unset duplicate already-registered fields
This commit is contained in:
committed by
Andrew Heather
parent
be7d6b3afb
commit
2e703543ff
@ -90,6 +90,27 @@ const Foam::word Foam::functionObjects::turbulenceFields::modelName_
|
|||||||
|
|
||||||
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
// * * * * * * * * * * * * Protected Member Functions * * * * * * * * * * * //
|
||||||
|
|
||||||
|
void Foam::functionObjects::turbulenceFields::initialise()
|
||||||
|
{
|
||||||
|
for (const word& f : fieldSet_)
|
||||||
|
{
|
||||||
|
const word scopedName(modelName_ + ':' + f);
|
||||||
|
|
||||||
|
if (obr_.found(scopedName))
|
||||||
|
{
|
||||||
|
WarningInFunction
|
||||||
|
<< "Cannot store turbulence field " << scopedName
|
||||||
|
<< " since an object with that name already exists"
|
||||||
|
<< nl << endl;
|
||||||
|
|
||||||
|
fieldSet_.unset(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
initialised_ = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
bool Foam::functionObjects::turbulenceFields::compressible()
|
bool Foam::functionObjects::turbulenceFields::compressible()
|
||||||
{
|
{
|
||||||
if (obr_.foundObject<compressible::turbulenceModel>(modelName_))
|
if (obr_.foundObject<compressible::turbulenceModel>(modelName_))
|
||||||
@ -119,6 +140,7 @@ Foam::functionObjects::turbulenceFields::turbulenceFields
|
|||||||
)
|
)
|
||||||
:
|
:
|
||||||
fvMeshFunctionObject(name, runTime, dict),
|
fvMeshFunctionObject(name, runTime, dict),
|
||||||
|
initialised_(false),
|
||||||
fieldSet_()
|
fieldSet_()
|
||||||
{
|
{
|
||||||
read(dict);
|
read(dict);
|
||||||
@ -155,6 +177,8 @@ bool Foam::functionObjects::turbulenceFields::read(const dictionary& dict)
|
|||||||
Info<< "no fields requested to be stored" << nl << endl;
|
Info<< "no fields requested to be stored" << nl << endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
initialised_ = false;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -164,6 +188,11 @@ bool Foam::functionObjects::turbulenceFields::read(const dictionary& dict)
|
|||||||
|
|
||||||
bool Foam::functionObjects::turbulenceFields::execute()
|
bool Foam::functionObjects::turbulenceFields::execute()
|
||||||
{
|
{
|
||||||
|
if (!initialised_)
|
||||||
|
{
|
||||||
|
initialise();
|
||||||
|
}
|
||||||
|
|
||||||
const bool comp = compressible();
|
const bool comp = compressible();
|
||||||
|
|
||||||
if (comp)
|
if (comp)
|
||||||
|
|||||||
@ -210,12 +210,18 @@ protected:
|
|||||||
|
|
||||||
// Protected Data
|
// Protected Data
|
||||||
|
|
||||||
|
//- Flag to track initialisation
|
||||||
|
bool initialised_;
|
||||||
|
|
||||||
//- Fields to load
|
//- Fields to load
|
||||||
wordHashSet fieldSet_;
|
wordHashSet fieldSet_;
|
||||||
|
|
||||||
|
|
||||||
// Protected Member Functions
|
// Protected Member Functions
|
||||||
|
|
||||||
|
//- Unset duplicate fields already registered by other function objects
|
||||||
|
void initialise();
|
||||||
|
|
||||||
//- Return true if compressible turbulence model is identified
|
//- Return true if compressible turbulence model is identified
|
||||||
bool compressible();
|
bool compressible();
|
||||||
|
|
||||||
|
|||||||
@ -47,13 +47,6 @@ void Foam::functionObjects::turbulenceFields::processField
|
|||||||
{
|
{
|
||||||
(*fldPtr) == tvalue();
|
(*fldPtr) == tvalue();
|
||||||
}
|
}
|
||||||
else if (obr_.found(scopedName))
|
|
||||||
{
|
|
||||||
WarningInFunction
|
|
||||||
<< "Cannot store turbulence field " << scopedName
|
|
||||||
<< " since an object with that name already exists"
|
|
||||||
<< nl << endl;
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
obr_.store
|
obr_.store
|
||||||
|
|||||||
Reference in New Issue
Block a user