BUG: MappedFile: different fieldTable names are not possible in parallel or restart runs
Summary
In MappedFile.C, fieldTableName_
is written outside the Coeffs
block when MappedFile
writes out its metadata, say for decomposePar
/redistributePar
executions.
This does not cause any issues when fieldTableName_
does not differ from the entryName
, which is the default value.
However, when the simulation is being run in parallel or is being restarted, fieldTable
entry is not being read by the caller, but the default value only. Therefore, any parallel or restart run in such configuration becomes problematic.
os.writeEntryIfDifferent
(
"fieldTable",
this->name(),
fieldTableName_
);
os.beginBlock(word(this->name() + "Coeffs"));
//--> fieldTableName_ should be written herein.
writeEntries(os);
os.endBlock();
Environment information
base0 = base
base1 = develop
api = 2112
patch = 0
HEAD = 34e226dfe3
version = com
compiler = Clang (system)
= clang version 9.0.1
mpi = SYSTEMOPENMPI
= mpirun (Open MPI) 1.10.7.0.5e373bf1fd
OS = Description: openSUSE Leap 15.3
opts = linux64ClangDPInt32Opt
Possible fixes
A tested potential-fix patch (FYI: @mark ): 0001-BUG-MappedFile-ensure-correct-fieldTableName-can-be-.patch