Feature parallel
All low-level parallel bits:
- support for surfaceFields
- low-level distributed Field mapping
- complete rewrite of redistributePar
Merge request reports
Activity
Filter activity
mentioned in commit 96728846
264 if (hasLevel0Edge) 265 { 266 // Get master length 267 scalar masterLen = level0EdgePtr_().value(); 268 Pstream::scatter(masterLen); 269 if (!level0EdgePtr_.valid()) 270 { 271 IOobject rio(io); 272 rio.rename("level0Edge"); 273 rio.readOpt() = IOobject::NO_READ; 274 level0EdgePtr_.reset 275 ( 276 new uniformDimensionedScalarField 277 ( 278 rio, 279 dimensionedScalar("zero", dimLength, masterLen) Just stumbled over this. Unfortunately with UniformDimensioned the name gets taken from the dimensioned type instead of the object.
Might need to have this instead:
new uniformDimensionedScalarField ( io, dimensionedScalar(rio.name(), dimLength, masterLen) )
Another option would be to make it all consistent with other DimensionedFields by favouring the regIOObject name. Eg, in UniformDimensionedField itself
virtual const word& name() const { return regIOObject::name(); } virtual void rename(const word& newName) { regIOObject::rename(); dimensioned<Type>::name() = regIOObject::name(); }
And in the constructor:
template<class Type> Foam::UniformDimensionedField<Type>::UniformDimensionedField ( const IOobject& io, const dimensioned<Type>& dt ) : regIOobject(io), dimensioned<Type>(io.name(), dt.dimensions(), dt.value()) { // Read value readHeaderOk(IOstream::BINARY, typeName); } template<class Type> Foam::UniformDimensionedField<Type>::UniformDimensionedField ( const UniformDimensionedField<Type>& rdt ) : regIOobject(rdt), dimensioned<Type>(rdt) { dimensioned<Type>::name() = rdt.name(); // safety }