-
Notifications
You must be signed in to change notification settings - Fork 85
Description
The current implementation of ...HeatPumps.ScrollWaterToWater
and ...HeatPumps.ReciprocatingWaterToWater
and the respective python scripts within Resources\src\fluid\heatpumps... .... necessaries to obtain a record / parametrization are limited to the refrigerant R410a.
A lot happened in the last years, with new heat pump models (e.g. ...HeatPumps.ModularReversible) and refrigerants (#1093. Refrigerants are already available in AixLib, see AixLib.Media.Refrigerants). But there is a lack of compatibility between ...HeatPumps.ScrollWaterToWater
and ...HeatPumps.ReciprocatingWaterToWater
and these new refrigerants or other refrigerants implemented in other libraries (e.g. ThermofluidStream)
I think it is worth to put some work on that and allow the utilization of these models with other refrigerants. Opinions on that?
@MassimoCimmino has a working branch named WaterToWaterNewMedia, where he adapted the python scripts and Reciprocating- and ScrollWaterToWater heat pump models to work with CoolProp.
I would suggest follow [WaterToWaterNewMedia] branch approach and adapt the Modelica models to work with standarized functions...
e.g. vSuc = 1/ref.density_pT(pSuc, TSuc) instead
of vSuc = ref.specificVolumeVap_pT(pSuc, TSuc)
, ref.saturationPressure(port_a.T)
instead of ref.pressureSatVap_T(port_a.T)
etc.
To still allow the use of IBPSA.Media.Refrigerants.R410A
the "standard" functions need to be added, and/or existing ones renamed.
The above changes should facilitate the use of available refrigerants within Modelica libraries, but it is still not sufficient.
First, because some parameters T_min
, TCri
, pCri
... are used in the current implementation but, to the best of my knowledge, are not standard, at least not with this names.
We can use fluidConstants[1]. E.g. TCri... can be obtained from different libraries: AixLib.Media.Refrigerants.R410A_HEoS.fluidConstants[1].criticalTemperature
, ExternalMedia.Examples.CO2CoolProp.fluidConstants[1].criticalTemperature
and ThermofluidStream.Media.fluidConstants[1].criticalTemperature
.
similarly for pCri, e.g. AixLib.Media.Refrigerants.R410A_HEoS.fluidConstants[1].criticalPressure
etc.
not sure about T_min...
Again, might be best to try to use "standard" parameters and adapt IBPSA.Media.Refrigerants.R410A
accordingly.
In case, after the modifications the refrigerants cannot be directly used, because a parameter is missing (e.g. T_Min) or function... it will have to be discussed whether the model are further changed, or a "baseclass" is defined to enrich the refrigerant models, i.e. extend a refrigerant and add the missing functions, parameters.
Also to be adapted are the python scripts. The [WaterToWaterNewMedia] branch shows how to do it for CoolProp. In case other fluids are to be used, need to define a way. E.g. using the properties defined in the library itself? if done like this we need then only one implementation (use refrigerants from CoolProp and from direct implementations in Modelica) via an Modelica-python API, to be defined.