mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: master-only-reading : did not transfer headerClassName
This commit is contained in:
@ -561,10 +561,6 @@ int main(int argc, char *argv[])
|
|||||||
mkDir(args.path());
|
mkDir(args.path());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Switch timeStamp checking to one which does not do any
|
|
||||||
// parallel sync for same reason
|
|
||||||
regIOobject::fileModificationChecking = regIOobject::timeStamp;
|
|
||||||
|
|
||||||
# include "createTime.H"
|
# include "createTime.H"
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -66,6 +66,11 @@ void Foam::IOdictionary::readFile(const bool masterOnly)
|
|||||||
: Pstream::treeCommunication()
|
: Pstream::treeCommunication()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Master reads headerclassname from file. Make sure this gets
|
||||||
|
// transfered as well as contents.
|
||||||
|
word masterClassName = headerClassName();
|
||||||
|
Pstream::scatter(comms, masterClassName);
|
||||||
|
|
||||||
|
|
||||||
// Get my communication order
|
// Get my communication order
|
||||||
const Pstream::commsStruct& myComm = comms[Pstream::myProcNo()];
|
const Pstream::commsStruct& myComm = comms[Pstream::myProcNo()];
|
||||||
@ -89,6 +94,7 @@ void Foam::IOdictionary::readFile(const bool masterOnly)
|
|||||||
IOstream::ASCII
|
IOstream::ASCII
|
||||||
);
|
);
|
||||||
IOdictionary::readData(fromAbove);
|
IOdictionary::readData(fromAbove);
|
||||||
|
const_cast<word&>(headerClassName()) = masterClassName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send to my downstairs neighbours
|
// Send to my downstairs neighbours
|
||||||
|
|||||||
@ -201,6 +201,11 @@ bool Foam::regIOobject::read()
|
|||||||
: Pstream::treeCommunication()
|
: Pstream::treeCommunication()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Master reads headerclassname from file. Make sure this gets
|
||||||
|
// transfered as well as contents.
|
||||||
|
word masterClassName = headerClassName();
|
||||||
|
Pstream::scatter(comms, masterClassName);
|
||||||
|
|
||||||
|
|
||||||
// Get my communication order
|
// Get my communication order
|
||||||
const Pstream::commsStruct& myComm = comms[Pstream::myProcNo()];
|
const Pstream::commsStruct& myComm = comms[Pstream::myProcNo()];
|
||||||
@ -226,6 +231,7 @@ bool Foam::regIOobject::read()
|
|||||||
IOstream::ASCII
|
IOstream::ASCII
|
||||||
);
|
);
|
||||||
ok = readData(fromAbove);
|
ok = readData(fromAbove);
|
||||||
|
const_cast<word&>(headerClassName()) = masterClassName;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Send to my downstairs neighbours
|
// Send to my downstairs neighbours
|
||||||
|
|||||||
@ -84,7 +84,11 @@ Foam::solution::solution
|
|||||||
dictName,
|
dictName,
|
||||||
obr.time().system(),
|
obr.time().system(),
|
||||||
obr,
|
obr,
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
(
|
||||||
|
obr.readOpt() == IOobject::MUST_READ
|
||||||
|
? IOobject::MUST_READ_IF_MODIFIED
|
||||||
|
: obr.readOpt()
|
||||||
|
),
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
@ -94,7 +98,14 @@ Foam::solution::solution
|
|||||||
defaultRelaxationFactor_(0),
|
defaultRelaxationFactor_(0),
|
||||||
solvers_(ITstream("solvers", tokenList())())
|
solvers_(ITstream("solvers", tokenList())())
|
||||||
{
|
{
|
||||||
read(solutionDict());
|
if
|
||||||
|
(
|
||||||
|
readOpt() == IOobject::MUST_READ
|
||||||
|
|| readOpt() == IOobject::MUST_READ_IF_MODIFIED
|
||||||
|
)
|
||||||
|
{
|
||||||
|
read(solutionDict());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -256,7 +256,11 @@ Foam::fvSchemes::fvSchemes(const objectRegistry& obr)
|
|||||||
"fvSchemes",
|
"fvSchemes",
|
||||||
obr.time().system(),
|
obr.time().system(),
|
||||||
obr,
|
obr,
|
||||||
IOobject::MUST_READ_IF_MODIFIED,
|
(
|
||||||
|
obr.readOpt() == IOobject::MUST_READ
|
||||||
|
? IOobject::MUST_READ_IF_MODIFIED
|
||||||
|
: obr.readOpt()
|
||||||
|
),
|
||||||
IOobject::NO_WRITE
|
IOobject::NO_WRITE
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
@ -364,7 +368,14 @@ Foam::fvSchemes::fvSchemes(const objectRegistry& obr)
|
|||||||
// persistent settings across reads is incorrect
|
// persistent settings across reads is incorrect
|
||||||
clear();
|
clear();
|
||||||
|
|
||||||
read(schemesDict());
|
if
|
||||||
|
(
|
||||||
|
readOpt() == IOobject::MUST_READ
|
||||||
|
|| readOpt() == IOobject::MUST_READ_IF_MODIFIED
|
||||||
|
)
|
||||||
|
{
|
||||||
|
read(schemesDict());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user