Skip to content

Register equation types to session reader

Thibault Lestang requested to merge register_eqtype into master

Issue/feature addressed

The EqType solver property defined in the session file, as in,

<SOLVERINFO>
  <I PROPERTY="EQTYPE" VALUE="UnsteadyNavierStokes"/>

is not registered to the session reader. As a consequence, method SessionReader::verifySolverInfo will not check validity of EqType values.

See #291 (comment 18973)

Proposed solution

Although an error will eventually be raised from the IncNavierStokes constructor, registering EqType to the session reader would allow SessionReader::verifySolverInfo to also check if the property is registered or not.

Implementation

EqType property along with possible values are registered using SessionReader::RegisterEnumValue method just like other solver properties are, see from instance Driver.cpp.

With this patch, the following

<SOLVERINFO>
  <I PROPERTY="EQTYPE" VALUE="NavierStokes"/>

will cause the session reader to error out with

Value 'NavierStokes' is not valid for property 'EqType'

Tests

Eventually, a test could check error status with bogus session file.

Notes

Please add any other information that could be useful for reviewers.

Checklist

  • Functions and classes, or changes to them, are documented.
  • User guide/documentation is updated.
  • Changelog is updated.
  • Suitable tests added for new functionality.
  • Newly added files are correctly formatted.
  • License added to any new files.
  • No extraneous files have been added (e.g. compiler output or test data files).
Edited by Thibault Lestang

Merge request reports