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:
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?
@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