Skip to content

Handling of zero input parameters #530

Description

@nkoukpaizan

Several phasor dynamics models currently use != 0, == 0, != ZERO<RealT> or == ZERO<RealT> for some input parameters to enable/disable some features. This is ill advised for floating point values.

The models currently affected are:

  • ESDC1A
  • HYGOV
  • IEEEST
  • IEEET1
  • REECB
  • REPCA

isEqual with a tolerance or splitting == into isfinite(), <= and >= are inadequate here. The desired behavior really is to check if the value is zero, and the underlying purpose is to enable/disable some options.

One proposed solution is to expose the enabled/disabled options directly as integers (e.g., order for a stabilizer or booleans (e.g. saturation_disabled for an exciter). While this duplicates some information in the input file, this should make the model implementation cleaner. As long as the enabled/disabled features don't change during the simulation, it can be argued that we are mathematically dealing with different models.

cc @pelesh @superwhiskers

Metadata

Metadata

Assignees

Labels

cleanupquestionFurther information is requested

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions