Skip to content

solidBody motionSolver does not use optional sub dictionary

Summary

All motionSolvers should be able to either supply dictionaries inline or in a sub dictionary:

motionSolver    solidBody;
solidBodyCoeffs
{
    cellZone   rotor;
    solidBodyMotionFunction  rotatingMotion;
    origin      (0 0 0);
    axis        (0 1 0);
    omega       158; // rad/s
}

This does not work for solidBody anymore.

Steps to reproduce

Attached case. testcase-zone-ignored.tgz

What is the current bug behaviour?

Does not read the selection of cells from the 'Coeffs' subdictionary. Instead applies motion to whole mesh.

What is the expected correct behavior?

Same behaviour, independent of dictionary supplied in-line or a a 'solidBodyCoeffs' subdictionary.

Environment information

  • OpenFOAM version :v1912 .. v2206
  • Operating system :
  • Hardware info :
  • Compiler :

Possible fixes