OpSim has its own built in unit converter. The unit converter allows conversion from an to different physical quantities. The units are also classified as being part of one of the following unit systems:
The default setting of the unit system can be set in the settings window. Once set, the model will display its variables that are linked to a unit according to the default unit system. Within OpSim each numerical variable is always linked to a unit system.
The unit converter stores for each unit the multiplier and bias to get to the base unit, which is always defined as the first unit. A variable in OpSim is defined in an arbitrary unit that is defined on creation of the variable. When the user selects a different unit, OpSim will convert the unit from the internal defined unit to the desired unit and display this in the user interface. Internally OpSim will reamin calculating in the defined unit, until the definition of the variable changes.
Checking the box Unit difference enables you to convert the units of a difference. As an example the unit conversion is given of a temperature and of a temperature difference:
A temperature of 1C = 274K or 1C = 33.8F A temperature difference of 1C = 1K or 1C = 1.8F
Some units might be missing while they are actually available. For instance when doing a heat transfer coefficient unit conversion and you would like to convert 1 kW/m2/K to Btu/hr/ft2/F the last unit does not exist. In this case Btu/hr/ft2/R can be used. Zero degree on both Kelvin and Rankine scale are the absolute zero. Celsius scales with Kelvin as Fahrenheit scales with Rankine. Therefore:
1 kW/m2/K = 1 kW/m2/C (unit is not available)
1 kW/m2/K = 176 Btu/hr/ft2/R (unit is available)
176 Btu/hr/ft2/R = 176 Btu/hr/ft2/F (unit is not available)
Unit conversions definitions can changed and added by adjusting the be unit script that is being loaded at startup of OpSim. The script is written in xxx and defines a conversion in the following way.
UNC_define_conversion(quantity, unit: string; multiplier, bias: double; flag: word);
The provided flag can be anything of the following;
UNC_FLAG_METRIC UNC_FLAG_IMPERIAL UNC_FLAG_US_CUSTOMARY
The flags can be
ORed to assign the defined unit to multiple unit systems.