STYLE: use explicit REGISTER option when storing fields

This commit is contained in:
Mark Olesen 2023-04-24 12:05:55 +02:00
parent d9533e561b
commit ee39e3d276
37 changed files with 239 additions and 186 deletions

View File

@ -302,8 +302,9 @@ Foam::label Foam::parLagrangianDistributor::readFields
objectName,
cloud.time().timeName(),
cloud,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE
IOobject::LAZY_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
),
label(0)
);

View File

@ -103,7 +103,7 @@ Foam::codedBase::codeDict
const word& dictName
)
{
IOdictionary* dictptr = obr.getObjectPtr<IOdictionary>(dictName);
auto* dictptr = obr.getObjectPtr<IOdictionary>(dictName);
if (!dictptr)
{
@ -114,7 +114,7 @@ Foam::codedBase::codeDict
dictName,
obr.time().system(),
obr,
IOobject::MUST_READ_IF_MODIFIED,
IOobject::READ_MODIFIED,
IOobject::NO_WRITE,
IOobject::REGISTER
)

View File

@ -37,20 +37,18 @@ Foam::IOField<Type>& Foam::cloud::createIOField
objectRegistry& obr
)
{
IOField<Type>* fieldPtr
IOField<Type>* fieldPtr = new IOField<Type>
(
new IOField<Type>
IOobject
(
IOobject
(
fieldName,
obr.time().timeName(),
obr,
IOobject::NO_READ,
IOobject::AUTO_WRITE
),
nParticle
)
fieldName,
obr.time().timeName(),
obr,
IOobject::NO_READ,
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
nParticle
);
fieldPtr->store();

View File

@ -297,13 +297,14 @@ class DEShybrid
const word factorName(IOobject::scopedName(typeName, "Factor"));
const fvMesh& mesh = this->mesh();
const IOobject factorIO
IOobject factorIO
(
factorName,
mesh.time().timeName(),
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
);
if (blendedSchemeBaseName::debug)
@ -335,7 +336,9 @@ class DEShybrid
}
else
{
const volScalarField factor
factorIO.registerObject(IOobjectOption::NO_REGISTER);
volScalarField factor
(
factorIO,
max(sigmaMax_*tanh(pow(A, CH1_)), sigmaMin_)

View File

@ -80,7 +80,10 @@ bool Foam::functionObjects::ObukhovLength::calcOL()
);
result1->store();
}
if (!result2)
{
result2 = new volScalarField
(
IOobject

View File

@ -60,7 +60,8 @@ Foam::volScalarField& Foam::fv::atmPlantCanopyTurbSource::getOrReadField
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh_
);

View File

@ -61,7 +61,8 @@ Foam::volScalarField& Foam::fv::atmPlantCanopyUSource::getOrReadField
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh_
);

View File

@ -83,24 +83,20 @@ void Foam::polyMeshFilter::copySets
{
const SetType& set = *iter();
SetType* origSet =
auto* setPtr =
newMesh.objectRegistry::getObjectPtr<SetType>(set.name());
if (origSet)
if (setPtr)
{
(*origSet) = set;
(*origSet).sync(newMesh);
(*setPtr) = set;
}
else
{
SetType* newSet
(
new SetType(newMesh, set.name(), set, set.writeOpt())
);
newSet->store();
newSet->sync(newMesh);
setPtr = new SetType(newMesh, set.name(), set, set.writeOpt());
setPtr->store();
}
setPtr->sync(newMesh);
}
}

View File

@ -47,7 +47,7 @@ bool Foam::functionObjects::columnAverage::columnAverageField
const word resultName(averageName(fieldName));
fieldType* resPtr = obr_.getObjectPtr<fieldType>(resultName);
auto* resPtr = obr_.getObjectPtr<fieldType>(resultName);
if (!resPtr)
{
@ -59,7 +59,8 @@ bool Foam::functionObjects::columnAverage::columnAverageField
fld.mesh().time().timeName(),
fld.mesh(),
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
fld
);

View File

@ -68,7 +68,8 @@ Foam::volScalarField& Foam::histogramModel::getOrReadField
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh_
);

View File

@ -129,28 +129,28 @@ bool Foam::functionObjects::mapFields::mapFieldType() const
const VolFieldType& field = lookupObject<VolFieldType>(fieldName);
if (!mapRegion.foundObject<VolFieldType>(fieldName))
auto* mapFieldPtr = mapRegion.getObjectPtr<VolFieldType>(fieldName);
if (!mapFieldPtr)
{
VolFieldType* tmappedField =
new VolFieldType
mapFieldPtr = new VolFieldType
(
IOobject
(
IOobject
(
fieldName,
time_.timeName(),
mapRegion,
IOobject::NO_READ,
IOobject::NO_WRITE
),
fieldName,
time_.timeName(),
mapRegion,
dimensioned<Type>(field.dimensions(), Zero)
);
IOobject::NO_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
),
mapRegion,
dimensioned<Type>(field.dimensions(), Zero)
);
tmappedField->store();
mapFieldPtr->store();
}
VolFieldType& mappedField =
mapRegion.template lookupObjectRef<VolFieldType>(fieldName);
auto& mappedField = *mapFieldPtr;
mappedField = interpPtr_->mapTgtToSrc(field);

View File

@ -94,8 +94,7 @@ Foam::functionObjects::proudmanAcousticPower::a() const
(
scopedName("a"),
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ
mesh_
),
mesh_,
aRef_
@ -170,7 +169,8 @@ Foam::functionObjects::proudmanAcousticPower::proudmanAcousticPower
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh_,
dimensionedScalar(dimPower/dimVolume, Zero)
@ -189,7 +189,8 @@ Foam::functionObjects::proudmanAcousticPower::proudmanAcousticPower
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh_,
dimensionedScalar(dimless, Zero)

View File

@ -111,7 +111,8 @@ bool Foam::functionObjects::readFields::execute()
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
);
const bool ok =

View File

@ -99,8 +99,9 @@ bool Foam::resolutionIndexModel::read(const dictionary& dict)
resultName_,
mesh_.time().timeName(),
mesh_,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE
IOobject::LAZY_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh_,
dimensionedScalar(dimless, Zero),

View File

@ -48,7 +48,8 @@ GeoFieldType& Foam::resolutionIndexModel::getOrReadField
mesh_.time().timeName(),
mesh_,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh_
);

View File

@ -67,7 +67,8 @@ Foam::functionObjects::stabilityBlendingFactor::indicator()
time_.timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh_,
dimensionedScalar(dimless, Zero),
@ -558,7 +559,8 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor
mesh_.time().constant(),
mesh_,
IOobject::MUST_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
);
if (fieldHeader.typeHeaderOk<volScalarField>(true, true, false))
@ -587,7 +589,8 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor
mesh_.time().constant(),
mesh_,
IOobject::MUST_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
);
if (fieldHeader.typeHeaderOk<volScalarField>(true, true, false))
@ -614,7 +617,8 @@ Foam::functionObjects::stabilityBlendingFactor::stabilityBlendingFactor
mesh_.time().constant(),
mesh_,
IOobject::MUST_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
);
if (fieldHeader.typeHeaderOk<volScalarField>(true, true, false))

View File

@ -49,21 +49,21 @@ void Foam::functionObjects::turbulenceFields::processField
}
else
{
obr_.store
fldPtr = new FieldType
(
new FieldType
IOobject
(
IOobject
(
localName,
obr_.time().timeName(),
obr_,
IOobject::READ_IF_PRESENT,
IOobject::NO_WRITE
),
tvalue
)
localName,
obr_.time().timeName(),
obr_,
IOobject::LAZY_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
),
tvalue
);
obr_.store(fldPtr);
}
}

View File

@ -76,7 +76,8 @@ Foam::volVectorField& Foam::functionObjects::forceCoeffs::forceCoeff()
time_.timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh_,
dimensionedVector(dimless, Zero)
@ -104,7 +105,8 @@ Foam::volVectorField& Foam::functionObjects::forceCoeffs::momentCoeff()
time_.timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh_,
dimensionedVector(dimless, Zero)

View File

@ -101,7 +101,8 @@ Foam::volVectorField& Foam::functionObjects::forces::force()
time_.timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh_,
dimensionedVector(dimForce, Zero)
@ -128,7 +129,8 @@ Foam::volVectorField& Foam::functionObjects::forces::moment()
time_.timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh_,
dimensionedVector(dimForce*dimLength, Zero)

View File

@ -102,7 +102,8 @@ void Foam::functionObjects::solverInfo::createResidualField
mesh_.time().timeName(),
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
Field<scalar>(mesh_.nCells(), Zero)
);

View File

@ -64,25 +64,28 @@ void Foam::HeatTransferCoeff<CloudType>::postEvolve
const auto& tc =
static_cast<const ThermoCloud<KinematicCloud<Cloud<parcelType>>>&>(c);
if (!c.template foundObject<IOField<scalar>>("htc"))
auto* htcPtr = c.template getObjectPtr<IOField<scalar>>("htc");
if (!htcPtr)
{
auto* htcPtr =
new IOField<scalar>
htcPtr = new IOField<scalar>
(
IOobject
(
IOobject
(
"htc",
c.time().timeName(),
c,
IOobject::NO_READ
)
);
"htc",
c.time().timeName(),
c,
IOobject::NO_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
)
);
htcPtr->store();
}
auto& htc = *htcPtr;
auto& htc = c.template lookupObjectRef<IOField<scalar>>("htc");
htc.setSize(c.size());
htc.resize(c.size());
const auto& heatTransfer = tc.heatTransfer();
typename parcelType::trackingData& nctd =

View File

@ -61,25 +61,28 @@ void Foam::KinematicReynoldsNumber<CloudType>::postEvolve
{
auto& c = this->owner();
if (!c.template foundObject<IOField<scalar>>("Re"))
auto* RePtr = c.template getObjectPtr<IOField<scalar>>("Re");
if (!RePtr)
{
auto* RePtr =
new IOField<scalar>
RePtr = new IOField<scalar>
(
IOobject
(
IOobject
(
"Re",
c.time().timeName(),
c,
IOobject::NO_READ
)
);
"Re",
c.time().timeName(),
c,
IOobject::NO_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
)
);
RePtr->store();
}
auto& Re = *RePtr;
auto& Re = c.template lookupObjectRef<IOField<scalar>>("Re");
Re.setSize(c.size());
Re.resize(c.size());
label parceli = 0;
forAllConstIters(c, parcelIter)

View File

@ -64,25 +64,28 @@ void Foam::NusseltNumber<CloudType>::postEvolve
const auto& tc =
static_cast<const ThermoCloud<KinematicCloud<Cloud<parcelType>>>&>(c);
if (!c.template foundObject<IOField<scalar>>("Nu"))
auto* NuPtr = c.template getObjectPtr<IOField<scalar>>("Nu");
if (!NuPtr)
{
auto* NuPtr =
new IOField<scalar>
NuPtr = new IOField<scalar>
(
IOobject
(
IOobject
(
"Nu",
c.time().timeName(),
c,
IOobject::NO_READ
)
);
"Nu",
c.time().timeName(),
c,
IOobject::NO_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
)
);
NuPtr->store();
}
auto& Nu = *NuPtr;
auto& Nu = c.template lookupObjectRef<IOField<scalar>>("Nu");
Nu.setSize(c.size());
Nu.resize(c.size());
const auto& heatTransfer = tc.heatTransfer();
typename parcelType::trackingData& nctd =

View File

@ -64,24 +64,26 @@ void Foam::ParticleDose<CloudType>::postEvolve
{
auto& c = this->owner();
if (!c.template foundObject<IOField<scalar>>("D"))
auto* DPtr = c.template getObjectPtr<IOField<scalar>>("D");
if (!DPtr)
{
auto* DPtr =
new IOField<scalar>
DPtr = new IOField<scalar>
(
IOobject
(
IOobject
(
"D",
c.time().timeName(),
c,
IOobject::NO_READ
)
);
"D",
c.time().timeName(),
c,
IOobject::NO_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
)
);
DPtr->store();
}
auto& D = c.template lookupObjectRef<IOField<scalar>>("D");
auto& D = *DPtr;
D.resize(c.size(), Zero);

View File

@ -62,25 +62,28 @@ void Foam::ThermoReynoldsNumber<CloudType>::postEvolve
{
auto& c = this->owner();
if (!c.template foundObject<IOField<scalar>>("Re"))
auto* RePtr = c.template getObjectPtr<IOField<scalar>>("Re");
if (!RePtr)
{
auto* RePtr =
new IOField<scalar>
RePtr = new IOField<scalar>
(
IOobject
(
IOobject
(
"Re",
c.time().timeName(),
c,
IOobject::NO_READ
)
);
"Re",
c.time().timeName(),
c,
IOobject::NO_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
)
);
RePtr->store();
}
auto& Re = *RePtr;
auto& Re = c.template lookupObjectRef<IOField<scalar>>("Re");
Re.setSize(c.size());
Re.resize(c.size());
typename parcelType::trackingData& nctd =
const_cast<typename parcelType::trackingData&>(td);

View File

@ -62,25 +62,28 @@ void Foam::WeberNumberReacting<CloudType>::postEvolve
{
const auto& c = this->owner();
if (!c.template foundObject<IOField<scalar>>("We"))
auto* WePtr = c.template getObjectPtr<IOField<scalar>>("We");
if (!WePtr)
{
IOField<scalar>* WePtr =
new IOField<scalar>
WePtr = new IOField<scalar>
(
IOobject
(
IOobject
(
"We",
c.time().timeName(),
c,
IOobject::NO_READ
)
);
"We",
c.time().timeName(),
c,
IOobject::NO_READ,
IOobject::NO_WRITE,
IOobject::REGISTER
)
);
WePtr->store();
}
auto& We = *WePtr;
auto& We = c.template lookupObjectRef<IOField<scalar>>("We");
We.setSize(c.size());
We.resize(c.size());
const auto& thermo = c.db().template lookupObject<SLGThermo>("SLGThermo");
const auto& liquids = thermo.liquids();

View File

@ -1158,7 +1158,8 @@ void Foam::triSurfaceMesh::setField(const labelList& values)
meshSubDir, // local
*this,
IOobject::NO_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
*this,
dimless,

View File

@ -112,9 +112,11 @@ Foam::word Foam::cellCellStencil::baseName(const word& name)
const Foam::labelIOList& Foam::cellCellStencil::zoneID(const fvMesh& mesh)
{
if (!mesh.foundObject<labelIOList>("zoneID"))
labelIOList* zoneIDPtr = mesh.getObjectPtr<labelIOList>("zoneID");
if (!zoneIDPtr)
{
labelIOList* zoneIDPtr = new labelIOList
zoneIDPtr = new labelIOList
(
IOobject
(
@ -123,11 +125,15 @@ const Foam::labelIOList& Foam::cellCellStencil::zoneID(const fvMesh& mesh)
polyMesh::meshSubDir,
mesh,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
mesh.nCells()
);
labelIOList& zoneID = *zoneIDPtr;
zoneIDPtr->store();
auto& zoneID = *zoneIDPtr;
volScalarField volZoneID
(
@ -146,10 +152,9 @@ const Foam::labelIOList& Foam::cellCellStencil::zoneID(const fvMesh& mesh)
{
zoneID[celli] = label(volZoneID[celli]);
}
zoneIDPtr->store();
}
return mesh.lookupObject<labelIOList>("zoneID");
return *zoneIDPtr;
}

View File

@ -101,7 +101,8 @@ bool Foam::functionObjects::filmFlux::execute()
time_.timeName(),
filmMesh,
IOobject::NO_READ,
IOobject::NO_WRITE
IOobject::NO_WRITE,
IOobject::REGISTER
),
filmMesh,
dimensionedScalar(dimMass/dimTime, Zero)

View File

@ -108,7 +108,8 @@ Foam::humidityTemperatureCoupledMixedFvPatchScalarField::thicknessField
mesh.time().timeName(),
mesh,
IOobject::NO_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh,
dimensionedScalar(dimless, Zero)

View File

@ -256,7 +256,8 @@ Foam::volScalarField& Foam::basicThermo::lookupOrConstruct
mesh.time().timeName(),
mesh,
IOobject::MUST_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh
);

View File

@ -121,9 +121,10 @@ Foam::speciesSorptionFvPatchScalarField::field
(
fieldName,
mesh.time().timeName(),
mesh,
mesh.thisDb(),
IOobject::NO_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh,
dimensionedScalar(dim, Zero)

View File

@ -156,10 +156,10 @@ Foam::isoAdvection::isoAdvection
if (porosityEnabled_)
{
if (mesh_.foundObject<volScalarField>("porosity"))
{
porosityPtr_ = mesh_.getObjectPtr<volScalarField>("porosity");
porosityPtr_ = mesh_.getObjectPtr<volScalarField>("porosity");
if (porosityPtr_)
{
if
(
gMin(porosityPtr_->primitiveField()) <= 0

View File

@ -25,8 +25,7 @@ cellZoneID
// but is fairly low overhead anyhow
volScalarField* getZoneField(const fvMesh& mesh)
{
volScalarField* volZonePtr =
mesh.getObjectPtr<volScalarField>(fieldName);
auto* volZonePtr = mesh.getObjectPtr<volScalarField>(fieldName);
const cellZoneMesh& zones = mesh.cellZones();
@ -34,16 +33,22 @@ cellZoneID
{
if (!volZonePtr)
{
volZonePtr = &regIOobject::store
volZonePtr = new volScalarField
(
volScalarField::New
IOobject
(
fieldName,
mesh,
dimless,
fvPatchScalarField::zeroGradientType()
)
mesh.time().timeName(),
mesh.thisDb(),
IOobject::NO_READ,
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh,
dimless,
fvPatchFieldBase::zeroGradientType()
);
regIOobject::store(volZonePtr);
Info<< "Creating " << fieldName
<< " field for postProcessing" << nl;

View File

@ -89,7 +89,8 @@ functions
mesh().time().timeName(),
mesh(),
IOobject::NO_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh(),
dimless

View File

@ -114,7 +114,8 @@ functions
mesh().time().timeName(),
mesh(),
IOobject::NO_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh(),
sqr(dimLength)/pow3(dimTime)

View File

@ -114,7 +114,8 @@ functions
mesh().time().timeName(),
mesh(),
IOobject::NO_READ,
IOobject::AUTO_WRITE
IOobject::AUTO_WRITE,
IOobject::REGISTER
),
mesh(),
sqr(dimLength)/pow3(dimTime)