BUG: collated format and writing of NURBS3DVolume CPs - see #1947

The if(Pstream::master()) clause in NURBS3DVolume::writeCpsInDict() was
causing the fileName of the regIOobject not to be allocated in all
processors, giving problems when masterUncollatedFileOperation::masterOp
was called by collatedFileOperation::writeObject for the mkDirOp.
This commit is contained in:
Vaggelis Papoutsis
2020-09-10 19:25:44 +03:00
parent ac98e498fe
commit 3b949b66ff

View File

@ -1912,31 +1912,28 @@ void Foam::NURBS3DVolume::writeCps(const fileName& baseName) const
void Foam::NURBS3DVolume::writeCpsInDict() const
{
if (Pstream::master())
{
IOdictionary cpsDict
IOdictionary cpsDict
(
IOobject
(
IOobject
(
name_ + "cpsBsplines" + mesh_.time().timeName(),
mesh_.time().caseConstant(),
cpsFolder_,
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
)
);
name_ + "cpsBsplines" + mesh_.time().timeName(),
mesh_.time().caseConstant(),
cpsFolder_,
mesh_,
IOobject::NO_READ,
IOobject::NO_WRITE,
false
)
);
cpsDict.add("controlPoints", cps_);
cpsDict.add("controlPoints", cps_);
// Always write in ASCII, but allow compression
cpsDict.regIOobject::writeObject
(
IOstreamOption(IOstream::ASCII, mesh_.time().writeCompression()),
true
);
}
// Always write in ASCII, but allow compression
cpsDict.regIOobject::writeObject
(
IOstreamOption(IOstream::ASCII, mesh_.time().writeCompression()),
true
);
}