RWTH-EBC/AixLib

Non-standard annotation

maltelenz opened this issue · 5 comments

This seems to be using a non-standard annotation without a vendor prefix, making it invalid Modelica:

radioButtons=true));

There are many more cases spread out across the library.

This affects 38 models. 10 are already obsolete, 7 will be fixed due to the heat pump move to IBPSA. Remaining models are mostly HOM. However, the current HOM implementation should be using enumerations anyway, in my opinion.
Example:
if calcMethodOut == 1 or calcMethodOut == 2 then
What does this mean?
if calcMethodOut == calcMethodOut.DIN6946 or calcMethodOut == calcMethodOut.ASHRAEFundamentals then
is much clearer to read and understand.
For enumerations, Dymola does not support radio-button. This means using Enums would make the use obsolete.
@larissakuehn @StGoebel @KremerMartin @LauraMaier : As you are among the users of the HOM, are you in favor or against removing the buttons?

The UI would change something like this:
image

Instead of this:
image

@maltelenz : Is there an option in OM to warn about wrong annotations?

I would be fine with a drop-down menu instead of radioButtons as it is only a visual element. I would also agree with @FWuellhorst to use enumerations for better code readability.

@maltelenz : Is there an option in OM to warn about wrong annotations?

I don't know, I represent Wolfram System Modeler (which currently doesn't have a good general way to find invalid annotations).

All lot of the radioButtons were used in HOM. This was fixed in issue #1440 . Also the radioButtons in the BoundaryConditions were changed.

Remaining RadioButtons in the following 16 files:

  • D:\phe\Git\AixLib\AixLib\Controls\HeatPump\AntiLegionella.mo

  • D:\phe\Git\AixLib\AixLib\Controls\HeatPump\HPControl.mo

  • D:\phe\Git\AixLib\AixLib\Controls\SetPoints\HeatingCurve.mo


  • D:\phe\Git\AixLib\AixLib\Fluid\HeatExchangers\ActiveWalls\BaseClasses\PanelHeatingSegment.mo

  • D:\phe\Git\AixLib\AixLib\Fluid\HeatExchangers\ActiveWalls\PanelHeating.mo

  • D:\phe\Git\AixLib\AixLib\Fluid\HeatExchangers\EvaporatorCondenserWithCapacity.mo


  • D:\phe\Git\AixLib\AixLib\Systems\HeatPumpSystems\BaseClasses\HPSystemController.mo

  • D:\phe\Git\AixLib\AixLib\Systems\HeatPumpSystems\BaseClasses\PartialHeatPumpSystem.mo

  • D:\phe\Git\AixLib\AixLib\Systems\HeatPumpSystems\HeatPumpSystem.mo


  • D:\phe\Git\AixLib\AixLib\ThermalZones\ReducedOrder\Multizone\BaseClasses\AirFlowRateSplit.mo

  • D:\phe\Git\AixLib\AixLib\ThermalZones\ReducedOrder\Multizone\BaseClasses\AirFlowRateSum.mo

  • D:\phe\Git\AixLib\AixLib\ThermalZones\ReducedOrder\Multizone\BaseClasses\PartialMultizone.mo

  • D:\phe\Git\AixLib\AixLib\ThermalZones\ReducedOrder\ThermalZone\ThermalZone.mo


  • D:\phe\Git\AixLib\AixLib\Utilities\Sources\HeaterCooler\HeaterCoolerPI.mo

  • D:\phe\Git\AixLib\AixLib\Utilities\Sources\HeaterCooler\PartialHeaterCoolerPI.mo

  • D:\phe\Git\AixLib\AixLib\Utilities\Time\DaytimeSwitch.mo