The ExternalMedia library provides a framework for interfacing external codes computing fluid properties to Modelica.Media-compatible component models.
53
stars
36
forks
source link
Incompressible package runs in OpenModelica but not Dymola #101
I am using ExternalMedia.Media.IncompressibleCoolPropMedium to define a water/ethylene-glycol mixture (AEG). A defined substance and subsequent test of it works in OpenModelica but not Dymola.
//
package MyAEG "CoolProp model of Water-EthyleneGlycol"
extends ExternalMedia.Media.IncompressibleCoolPropMedium(
mediumName = "MyAEG",
substanceNames = {"AEG[0.5]"},
ThermoStates = Modelica.Media.Interfaces.Choices.IndependentVariables.pT,
Temperature(start = 0 + 273.15));
//ExternalMedia.Media.IncompressibleCoolPropMedium
//Modelica.Media.Interfaces.PartialMedium
end MyAEG;
//
model Test_AEG
//Medium//
replaceable package medium = MyAEG constrainedby Modelica.Media.Interfaces.PartialMedium;
//Parameters//
parameter Modelica.Units.SI.Temperature T = -30 + 273.15 "Temperature";
parameter Modelica.Units.SI.Pressure P1 = 101325 "Pressure";
//States//
medium.ThermodynamicState state_A = medium.setState_pT(p = P1, T = T);
equation
//T = medium.temperature_ph(p = P1, h = h1);
//x = medium.vapourQuality(state_A);
end Test_AEG;
Error shown in Dymola only:
Class or component 'criticalTemperature' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
Class or component 'criticalPressure' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
Class or component 'criticalMolarVolume' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
Class or component 'acentricFactor' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
Class or component 'triplePointTemperature' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
Class or component 'triplePointPressure' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
Class or component 'meltingPoint' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
Class or component 'normalBoilingPoint' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
Class or component 'dipoleMoment' not found in constraining class of FluidConstants externalFluidConstants
File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18
Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants
Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium
Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.
Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2
Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.
I am using ExternalMedia.Media.IncompressibleCoolPropMedium to define a water/ethylene-glycol mixture (AEG). A defined substance and subsequent test of it works in OpenModelica but not Dymola. // package MyAEG "CoolProp model of Water-EthyleneGlycol" extends ExternalMedia.Media.IncompressibleCoolPropMedium( mediumName = "MyAEG", substanceNames = {"AEG[0.5]"}, ThermoStates = Modelica.Media.Interfaces.Choices.IndependentVariables.pT, Temperature(start = 0 + 273.15)); //ExternalMedia.Media.IncompressibleCoolPropMedium //Modelica.Media.Interfaces.PartialMedium end MyAEG; // model Test_AEG //Medium// replaceable package medium = MyAEG constrainedby Modelica.Media.Interfaces.PartialMedium; //Parameters// parameter Modelica.Units.SI.Temperature T = -30 + 273.15 "Temperature"; parameter Modelica.Units.SI.Pressure P1 = 101325 "Pressure"; //States// medium.ThermodynamicState state_A = medium.setState_pT(p = P1, T = T); equation //T = medium.temperature_ph(p = P1, h = h1); //x = medium.vapourQuality(state_A); end Test_AEG; Error shown in Dymola only: Class or component 'criticalTemperature' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants. Class or component 'criticalPressure' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants. Class or component 'criticalMolarVolume' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants. Class or component 'acentricFactor' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants. Class or component 'triplePointTemperature' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants. Class or component 'triplePointPressure' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants. Class or component 'meltingPoint' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants. Class or component 'normalBoilingPoint' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants. Class or component 'dipoleMoment' not found in constraining class of FluidConstants externalFluidConstants File: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 18 Component context: ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium.externalFluidConstants Component declared as FluidConstants externalFluidConstants in Modelica.Media.Interfaces.PartialMedium Attempted modification in ExternalMedia.Media.BaseClasses.ExternalTwoPhaseMedium. Near file: C:/Users/s141301/Documents/Dymola/ExternalMedia/Media/BaseClasses/ExternalTwoPhaseMedium.mo, line 2 Definition missing in Modelica.Media.Interfaces.Types.Basic.FluidConstants.