BUG: redistributePar: fix global object headerOk. See !605
- mesh/parallel/cavity not yet working since zero-sized mesh not written on new processors.
This commit is contained in:
parent
75790ba540
commit
4609aa38e1
@ -110,7 +110,8 @@ using namespace Foam;
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
const int debug(::Foam::debug::debugSwitch("redistributePar", 0));
|
||||
// Use -verbose -verbose to switch on debug info. TBD.
|
||||
int debug(::Foam::debug::debugSwitch("redistributePar", 0));
|
||||
#define InfoOrPout (::debug ? Pout : Info())
|
||||
|
||||
|
||||
@ -1307,6 +1308,14 @@ int main(int argc, char *argv[])
|
||||
|
||||
if (optVerbose)
|
||||
{
|
||||
if (optVerbose == 2)
|
||||
{
|
||||
WarningInFunction
|
||||
<< "-verbose -verbose switches on full debugging"
|
||||
<< nl << endl;
|
||||
::debug = 1;
|
||||
}
|
||||
|
||||
// Report on output
|
||||
faMeshDistributor::verbose_ = 1;
|
||||
parPointFieldDistributor::verbose_ = 1;
|
||||
|
@ -59,30 +59,58 @@ bool Foam::IOobject::typeHeaderOk
|
||||
|
||||
// Determine local status
|
||||
bool ok = false;
|
||||
fileName fName;
|
||||
|
||||
if (!masterOnly || UPstream::master())
|
||||
{
|
||||
fName = typeFilePath<Type>(*this, search);
|
||||
ok = fp.readHeader(*this, fName, Type::typeName);
|
||||
}
|
||||
|
||||
if (ok && checkType && headerClassName_ != Type::typeName)
|
||||
{
|
||||
ok = false;
|
||||
if (verbose)
|
||||
{
|
||||
WarningInFunction
|
||||
<< "Unexpected class name \"" << headerClassName_
|
||||
<< "\" expected \"" << Type::typeName
|
||||
<< "\" when reading " << fName << endl;
|
||||
}
|
||||
}
|
||||
|
||||
// If masterOnly make sure all processors know about it
|
||||
if (masterOnly)
|
||||
{
|
||||
Pstream::broadcast(ok);
|
||||
if (UPstream::master())
|
||||
{
|
||||
// Force master-only header reading
|
||||
const bool oldParRun = UPstream::parRun(false);
|
||||
const fileName fName(typeFilePath<Type>(*this, search));
|
||||
ok = fp.readHeader(*this, fName, Type::typeName);
|
||||
UPstream::parRun(oldParRun);
|
||||
|
||||
if (ok && checkType && headerClassName_ != Type::typeName)
|
||||
{
|
||||
ok = false;
|
||||
if (verbose)
|
||||
{
|
||||
WarningInFunction
|
||||
<< "Unexpected class name \"" << headerClassName_
|
||||
<< "\" expected \"" << Type::typeName
|
||||
<< "\" when reading " << fName << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If masterOnly make sure all processors know about the read
|
||||
// information. Note: should ideally be inside fileHandler...
|
||||
Pstream::broadcasts
|
||||
(
|
||||
fp.comm(),
|
||||
ok,
|
||||
headerClassName_,
|
||||
note_
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
const fileName fName(typeFilePath<Type>(*this, search));
|
||||
|
||||
// All read header
|
||||
ok = fp.readHeader(*this, fName, Type::typeName);
|
||||
|
||||
if (ok && checkType && headerClassName_ != Type::typeName)
|
||||
{
|
||||
ok = false;
|
||||
if (verbose)
|
||||
{
|
||||
WarningInFunction
|
||||
<< "Unexpected class name \"" << headerClassName_
|
||||
<< "\" expected \"" << Type::typeName
|
||||
<< "\" when reading " << fName << endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ok;
|
||||
|
Loading…
Reference in New Issue
Block a user