mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: Updated fieldSelection dependent code
This commit is contained in:
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2016 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2018 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2018-2019 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -164,17 +164,22 @@ int main(int argc, char *argv[])
|
||||
functionObjects::fileFieldSelection fields(mesh);
|
||||
if (args.found("fields"))
|
||||
{
|
||||
fields.insert(args.getList<wordRe>("fields"));
|
||||
fields.resetFieldFilters
|
||||
(
|
||||
HashSet<wordRe>(args.getList<wordRe>("fields"))
|
||||
);
|
||||
}
|
||||
if (args.found("field"))
|
||||
{
|
||||
fields.insert(args.opt<wordRe>("field"));
|
||||
fields.resetFieldFilters(args.opt<wordRe>("field"));
|
||||
}
|
||||
|
||||
// Externally stored dictionary for functionObjectList
|
||||
// if not constructed from runTime
|
||||
dictionary functionsDict;
|
||||
|
||||
HashSet<wordRe> fieldFilters(fields.filters());
|
||||
|
||||
// Construct functionObjectList
|
||||
autoPtr<functionObjectList> functionsPtr
|
||||
(
|
||||
@ -183,7 +188,7 @@ int main(int argc, char *argv[])
|
||||
args,
|
||||
runTime,
|
||||
functionsDict,
|
||||
fields
|
||||
fieldFilters // include any additional command-line fields
|
||||
)
|
||||
);
|
||||
|
||||
@ -193,8 +198,6 @@ int main(int argc, char *argv[])
|
||||
|
||||
Info<< "Time = " << runTime.timeName() << endl;
|
||||
|
||||
fields.updateSelection();
|
||||
|
||||
if (mesh.readUpdate() != polyMesh::UNCHANGED)
|
||||
{
|
||||
// Update functionObjectList if mesh changes
|
||||
@ -205,10 +208,14 @@ int main(int argc, char *argv[])
|
||||
args,
|
||||
runTime,
|
||||
functionsDict,
|
||||
fields
|
||||
fieldFilters
|
||||
);
|
||||
}
|
||||
|
||||
fields.resetFieldFilters(fieldFilters);
|
||||
|
||||
fields.updateSelection();
|
||||
|
||||
const bool throwingIOErr = FatalIOError.throwExceptions();
|
||||
|
||||
try
|
||||
@ -218,7 +225,7 @@ int main(int argc, char *argv[])
|
||||
args,
|
||||
runTime,
|
||||
mesh,
|
||||
fields.selection(),
|
||||
fields.selectionNames(),
|
||||
functionsPtr(),
|
||||
timei == timeDirs.size()-1
|
||||
);
|
||||
|
||||
@ -151,7 +151,7 @@ bool Foam::functionObjects::columnAverage::execute()
|
||||
// Make fields up to date with current selection
|
||||
fieldSet_.updateSelection();
|
||||
|
||||
for (const word& fieldName : fieldSet_.selection())
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
columnAverageField<scalar>(fieldName);
|
||||
columnAverageField<vector>(fieldName);
|
||||
@ -166,7 +166,7 @@ bool Foam::functionObjects::columnAverage::execute()
|
||||
|
||||
bool Foam::functionObjects::columnAverage::write()
|
||||
{
|
||||
for (const word& fieldName : fieldSet_.selection())
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
const word resultName("columnAverage(" + fieldName + ")");
|
||||
const regIOobject* obj =
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation | Copyright (C) 2017-2018 OpenCFD Ltd.
|
||||
\\/ M anipulation | Copyright (C) 2017-2019 OpenCFD Ltd.
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
This file is part of OpenFOAM.
|
||||
@ -191,7 +191,7 @@ bool Foam::functionObjects::fieldCoordinateSystemTransform::execute()
|
||||
{
|
||||
fieldSet_.updateSelection();
|
||||
|
||||
for (const word& fieldName : fieldSet_.selection())
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
transform<scalar>(fieldName);
|
||||
transform<vector>(fieldName);
|
||||
@ -210,9 +210,9 @@ bool Foam::functionObjects::fieldCoordinateSystemTransform::execute()
|
||||
|
||||
bool Foam::functionObjects::fieldCoordinateSystemTransform::write()
|
||||
{
|
||||
forAllConstIters(fieldSet_, iter)
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
writeObject(transformFieldName(iter()));
|
||||
writeObject(transformFieldName(fieldName));
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@ -60,9 +60,8 @@ void Foam::functionObjects::fieldExtents::writeFileHeader(Ostream& os)
|
||||
|
||||
writeCommented(os, "Time");
|
||||
|
||||
forAllConstIters(fieldSet_.selection(), iter)
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
const word& fieldName = iter();
|
||||
if (internalField_)
|
||||
{
|
||||
writeTabbed(os, fieldName + "_internal");
|
||||
@ -183,7 +182,7 @@ bool Foam::functionObjects::fieldExtents::write()
|
||||
|
||||
Log << type() << " " << name() << " write:" << nl;
|
||||
|
||||
for (const word& fieldName : fieldSet_.selection())
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
calcFieldExtents<scalar>(fieldName, true);
|
||||
calcFieldExtents<vector>(fieldName);
|
||||
|
||||
@ -90,9 +90,8 @@ void Foam::functionObjects::fieldMinMax::writeFileHeader(Ostream& os)
|
||||
}
|
||||
else
|
||||
{
|
||||
forAllConstIters(fieldSet_.selection(), iter)
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
const word& fieldName = iter();
|
||||
writeTabbed(os, "min(" + fieldName + ')');
|
||||
writeTabbed(os, "max(" + fieldName + ')');
|
||||
}
|
||||
@ -153,7 +152,7 @@ bool Foam::functionObjects::fieldMinMax::write()
|
||||
if (!location_) writeTime(file());
|
||||
Log << type() << " " << name() << " write:" << nl;
|
||||
|
||||
for (const word& fieldName : fieldSet_.selection())
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
calcMinMaxFields<scalar>(fieldName, mdCmpt);
|
||||
calcMinMaxFields<vector>(fieldName, mode_);
|
||||
|
||||
@ -64,7 +64,7 @@ void Foam::functionObjects::residuals::writeFileHeader(Ostream& os)
|
||||
|
||||
writeCommented(os, "Time");
|
||||
|
||||
for (const word& fieldName : fieldSet_.selection())
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
writeFileHeader<scalar>(os, fieldName);
|
||||
writeFileHeader<vector>(os, fieldName);
|
||||
@ -193,7 +193,7 @@ bool Foam::functionObjects::residuals::execute()
|
||||
|
||||
if (writeFields_)
|
||||
{
|
||||
for (const word& fieldName : fieldSet_.selection())
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
initialiseField<scalar>(fieldName);
|
||||
initialiseField<vector>(fieldName);
|
||||
@ -214,7 +214,7 @@ bool Foam::functionObjects::residuals::write()
|
||||
{
|
||||
writeTime(file());
|
||||
|
||||
for (const word& fieldName : fieldSet_.selection())
|
||||
for (const word& fieldName : fieldSet_.selectionNames())
|
||||
{
|
||||
writeResidual<scalar>(fieldName);
|
||||
writeResidual<vector>(fieldName);
|
||||
|
||||
Reference in New Issue
Block a user