adjointOptimisation uses IOdictionary with processor-local scope
Summary
adjointOptimisation uses localIOdictionary instead of plain IOdictionary
This is from visual inspection. The difference between the two is subtle and only in parallel : localIOdictionary is used to e.g. read a (decomposed) field, plain IOdictionary is used to read e.g. system/controlDict. The two versions have different IO behaviour - plain IOdictionary will look in the undecomposed directory, localIOdictionary will only look in the processorXXX directory. Can the IOdictionaries be different on different processors?
What is the current bug behaviour?
We've seen this when using changeDictionary in parallel with -fileHandler collated
- it does not change the correct file. Maybe it is not a problem for the adjointOptimisation.
Environment information
- OpenFOAM version : v2206
Possible fixes
Use IOdictionary instead?