- Timestamp:
- 01/29/08 12:57:27 (7 months ago)
- Location:
- trunk/Modelica
- Files:
-
- 4 modified
-
Media/IdealGases/Common/package.mo (modified) (3 diffs)
-
Media/Water/IF97_Utilities.mo (modified) (4 diffs)
-
Media/package.mo (modified) (1 diff)
-
SIunits.mo (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Modelica/Media/IdealGases/Common/package.mo
r1016 r1018 353 353 extends Modelica.Icons.Function; 354 354 algorithm 355 a := sqrt( data.R*state.T*cp_T(data, state.T)/specificHeatCapacityCv(state));355 a := sqrt(max(0,data.R*state.T*cp_T(data, state.T)/specificHeatCapacityCv(state))); 356 356 end velocityOfSound; 357 357 … … 598 598 parameter Real Const2_SI=131.3/1000.0 599 599 "Constant in formula for mur converted to SI units"; 600 parameterReal mur=Const2_SI*mu/sqrt(Vc*Tc)600 Real mur=Const2_SI*mu/sqrt(Vc*Tc) 601 601 "Dimensionless dipole moment of gas molecule"; 602 parameterReal Fc=1 - 0.2756*w + 0.059035*mur^4 + k602 Real Fc=1 - 0.2756*w + 0.059035*mur^4 + k 603 603 "Factor to account for molecular shape and polarities of gas"; 604 604 Real Tstar "Dimensionless temperature defined by equation below"; … … 1025 1025 input ThermodynamicState state "properties at upstream location"; 1026 1026 algorithm 1027 a := sqrt( gasConstant(state)*state.T*specificHeatCapacityCp(state)/specificHeatCapacityCv(state));1027 a := sqrt(max(0,gasConstant(state)*state.T*specificHeatCapacityCp(state)/specificHeatCapacityCv(state))); 1028 1028 end velocityOfSound; 1029 1029 -
trunk/Modelica/Media/Water/IF97_Utilities.mo
r887 r1018 3416 3416 Real[49] o "vector of auxiliary variables"; 3417 3417 algorithm 3418 pi := p*data.IPSTAR;3418 pi := max(Modelica.Constants.small,p*data.IPSTAR); 3419 3419 o[1] := pi^0.75; 3420 3420 o[2] := 1/o[1]; … … 6818 6818 algorithm 6819 6819 // dp/drho at constant s 6820 v_sound := if aux.region == 3 then sqrt( (aux.pd*aux.rho*aux.rho*aux.cv + aux.pt*aux.pt*aux.T)/(aux.rho*aux.rho*aux.cv)) else6820 v_sound := if aux.region == 3 then sqrt(max(0,(aux.pd*aux.rho*aux.rho*aux.cv + aux.pt*aux.pt*aux.T)/(aux.rho*aux.rho*aux.cv))) else 6821 6821 if aux.region == 4 then 6822 sqrt( 1/((aux.rho*(aux.rho*aux.cv/aux.dpT + 1.0)/(aux.dpT*aux.T)) - 1/aux.rho*aux.rho*aux.rho/(aux.dpT*aux.T))) else6823 sqrt( -aux.cp/(aux.rho*aux.rho*(aux.vp*aux.cp+aux.vt*aux.vt*aux.T)));6822 sqrt(max(0,1/((aux.rho*(aux.rho*aux.cv/aux.dpT + 1.0)/(aux.dpT*aux.T)) - 1/aux.rho*aux.rho*aux.rho/(aux.dpT*aux.T)))) else 6823 sqrt(max(0,-aux.cp/(aux.rho*aux.rho*(aux.vp*aux.cp+aux.vt*aux.vt*aux.T)))); 6824 6824 end velocityOfSound_props_ph; 6825 6825 … … 7234 7234 algorithm 7235 7235 // dp/drho at constant s 7236 v_sound := if aux.region == 3 then sqrt( (aux.pd*aux.rho*aux.rho*aux.cv + aux.pt*aux.pt*aux.T)/(aux.rho*aux.rho*aux.cv)) else7237 sqrt( -aux.cp/(aux.rho*aux.rho*(aux.vp*aux.cp+aux.vt*aux.vt*aux.T)));7236 v_sound := if aux.region == 3 then sqrt(max(0,(aux.pd*aux.rho*aux.rho*aux.cv + aux.pt*aux.pt*aux.T)/(aux.rho*aux.rho*aux.cv))) else 7237 sqrt(max(0,-aux.cp/(aux.rho*aux.rho*(aux.vp*aux.cp+aux.vt*aux.vt*aux.T)))); 7238 7238 end velocityOfSound_props_pT; 7239 7239 … … 7640 7640 algorithm 7641 7641 // dp/drho at constant s 7642 v_sound := if aux.region == 3 then sqrt( (aux.pd*aux.rho*aux.rho*aux.cv + aux.pt*aux.pt*aux.T)/(aux.rho*aux.rho*aux.cv)) else7642 v_sound := if aux.region == 3 then sqrt(max(0,((aux.pd*aux.rho*aux.rho*aux.cv + aux.pt*aux.pt*aux.T)/(aux.rho*aux.rho*aux.cv)))) else 7643 7643 if aux.region == 4 then 7644 sqrt( 1/((aux.rho*(aux.rho*aux.cv/aux.dpT + 1.0)/(aux.dpT*aux.T)) - 1/aux.rho*aux.rho*aux.rho/(aux.dpT*aux.T))) else7645 sqrt( -aux.cp/(aux.rho*aux.rho*(aux.vp*aux.cp+aux.vt*aux.vt*aux.T)));7644 sqrt(max(0,1/((aux.rho*(aux.rho*aux.cv/aux.dpT + 1.0)/(aux.dpT*aux.T)) - 1/aux.rho*aux.rho*aux.rho/(aux.dpT*aux.T)))) else 7645 sqrt(max(0,-aux.cp/(aux.rho*aux.rho*(aux.vp*aux.cp+aux.vt*aux.vt*aux.T)))); 7646 7646 end velocityOfSound_props_dT; 7647 7647 -
trunk/Modelica/Media/package.mo
r1016 r1018 4963 4963 extends Modelica.Icons.Function; 4964 4964 algorithm 4965 a := sqrt( 1/(kappa_const*density(state) -beta_const*beta_const*state.T/cp_const));4965 a := sqrt(max(0,1/(kappa_const*density(state) -beta_const*beta_const*state.T/cp_const))); 4966 4966 end velocityOfSound; 4967 4967 -
trunk/Modelica/SIunits.mo
r1004 r1018 1381 1381 final unit="mol", 1382 1382 min=0); 1383 type MolarMass = Real (final quantity="MolarMass", final unit="kg/mol" );1384 type MolarVolume = Real (final quantity="MolarVolume", final unit="m3/mol" );1383 type MolarMass = Real (final quantity="MolarMass", final unit="kg/mol",min=0); 1384 type MolarVolume = Real (final quantity="MolarVolume", final unit="m3/mol", min=0); 1385 1385 type MolarInternalEnergy = Real (final quantity="MolarInternalEnergy", final unit 1386 1386 = "J/mol");
