Add a new Media with constant properties

◼
  • It extends
  • ◼
  • Modelica.Media.Interfaces.PartialSimpleMedium
  • In[]:=
    myConstantMedia[name_String]:=​​Module[​​{data},​​data=ThermodynamicData[name,​​{"IsobaricHeatCapacity","IsochoricHeatCapacity","Density","DynamicViscosity","ThermalConductivity","SoundSpeed","MolarDensity"},​​{"Pressure"->Quantity[1.01325,"Bars"],"Temperature"->Quantity[298,"Kelvins"]}];​​CreateSystemModel["MyMedia."<>name,{},t,​​<|​​"ExtendsModels""Modelica.Media.Interfaces.PartialSimpleMedium",​​"ParameterValues"{​​"mediumName"name,(*Givesuitablenametotheliquidmixture*)​​"cp_const"data["IsobaricHeatCapacity"],(*Constantspecificheatcapacityatconstantpressure*)​​"cv_const"data["IsochoricHeatCapacity"](*Constantspecificheatcapacityatconstantvolume*),​​"d_const"data["Density"](*Constantdensity*),​​"eta_const"data["DynamicViscosity"](*Constantdynamicviscosity*),​​"lambda_const"data["ThermalConductivity"](*Constantthermalconductivity*),​​"a_const"data["SoundSpeed"](*Constantvelocityofsound*),​​"T_min"272(*Minimumtemperaturevalidformediummodel*),​​"T_max"450(*Maximumtemperaturevalidformediummodel*),​​"T0"273.15(*Zeroenthalpytemperature*),​​"MM_const"data["Density"]/data["MolarDensity"](*Molarmass*)​​}​​|>​​]​​]
    Available list of Media:
    In[]:=
    ThermodynamicData[]
    Out[]=
    {Acetone,Air,Ammonia,Argon,Benzene,Butane,Butene,CarbonDioxide,CarbonMonoxide,CarbonylSulfide,CisButene,Cyclohexane,Cyclopentane,Cyclopropane,Decamethylcyclopentasiloxane,Decamethyltetrasiloxane,Decane,Deuterium,DiethylEther,DimethylCarbonate,DimethylEther,Dodecamethylcyclohexasiloxane,Dodecamethylpentasiloxane,Dodecane,Ethane,Ethanol,Ethylbenzene,Ethylene,Fluorine,HeavyWater,Helium,Heptane,Hexamethyldisiloxane,Hexane,Hydrogen,HydrogenChloride,HydrogenSulfide,Isobutane,Isobutene,Isohexane,Isooctane,Isopentane,Krypton,Methane,Methanol,Methylcyclohexane,MethylLinoleate,MethylLinolenate,MethylOleate,MethylPalmitate,MethylStearate,MXylene,Neon,Neopentane,Nitrogen,NitrogenTrifluoride,NitrousOxide,Nonane,Novec649,Octamethylcyclotetrasiloxane,Octamethyltrisiloxane,Octane,Orthohydrogen,Oxygen,OXylene,Parahydrogen,Pentane,Perfluorobutane,Perfluoropentane,Propane,Propylcyclohexane,Propylene,Propyne,PXylene,R11,R113,R114,R115,R116,R12,R1216,R123,R1233zd,R1234yf,R1234ze,R124,R125,R13,R134a,R14,R141b,R142b,R143a,R152a,R161,R21,R218,R22,R227ea,R23,R236ea,R236fa,R245ca,R245fa,R32,R365mfc,R40,R41,RC318,RE143a,RE245cb2,RE245fa2,RE347mcc,SulfurDioxide,SulfurHexafluoride,Tetradecamethylhexasiloxane,Toluene,TransButene,Trifluoroiodomethane,Undecane,Water,Xenon}
    In[]:=
    myConstantMedia["Ammonia"]
    Out[]=
    In[]:=
    SystemModel["MyMedia.Ammonia","ModelicaDisplay"]
    packageAmmonia
    extendsModelica.Media.Interfaces.PartialSimpleMedium(mediumName="Ammonia",cp_const=2164.4750486104185,cv_const=1644.6902142181884,d_const=0.7038823836361794,eta_const=0.000010087091415454042,lambda_const=0.024921069430477286,a_const=432.92319729901925,T_min=272,T_max=450,T0=273.15,MM_const=0.017030260000000002);
    »;
    endAmmonia;