Some custom BCs, trying to read case dictionaries in their constructors:
Foam::BCType::BCType
(
const fvPatch& p,
const DimensionedField<scalar, volMesh>& iF,
const dictionary& dict
)
{
/// Here try to read transportProperties for example <-
}
Observed behavior
The reading is not reliable, at least with a custom solver that is a variant of one of GeoChemFoam solvers.
Expected behavior
File I/O should be not be affected by the load balancer.
Discussion
I can see the load balancer invalidating the this->db() or iF.mesh() as databases to register the IOdictionary to; but if it's the case; OpenFOAM should fail. Current behavior (OF2312) is to silently give a bad (and empty) IOdictionary on some processors, while the reading succeeds on some other processors.
Some custom BCs, trying to read case dictionaries in their constructors:
Foam::BCType::BCType ( const fvPatch& p, const DimensionedField<scalar, volMesh>& iF, const dictionary& dict ) { /// Here try to read transportProperties for example <- }Observed behavior
The reading is not reliable, at least with a custom solver that is a variant of one of GeoChemFoam solvers.
Expected behavior
File I/O should be not be affected by the load balancer.
Discussion
I can see the load balancer invalidating the
this->db()oriF.mesh()as databases to register the IOdictionary to; but if it's the case; OpenFOAM should fail. Current behavior (OF2312) is to silently give a bad (and empty) IOdictionary on some processors, while the reading succeeds on some other processors.