JACOBIAN Implementation of EES Library File For SW Properties

You might also like

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 40

# Author: Karan Mistry # Revised: June 22, 2011 # Purpose: JACOBIAN implementation of EES library file for SW properties

# # NOTE: Input units have been changed from EES file: # T [K] or Tc [C] # S [kg/kg] (instead of g/kg) # Output units have been changed from EES file: # [kJ] (instead of J) # [kPa] (instead of Pa) # # Source: Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Thermophysical # properties of seawater: a review of existing correlation s and # data. Desalination and Water Treatment, 16(2010) 354--38 0. # doi no. 10.5004/dwt.2010.1079 ################################################################################ DECLARE TYPE # Define variable types including initial guess, and bounds. # Type Default Min Max Units SW_Density = 1000 : 800 : 1200 UNIT = "kg/m^3" SW_delta_rho = 100 : 0 : 400 UNIT = "kg/m^3" SW_Salinity_rho = 0.035 : 0 : 0.160 UNIT = "kg/kg" SW_Temperature_rho = 300 : 273.15 : 453.15 UNIT = "K" SW_TemperatureC_rho = 27 : 0 : 180 UNIT = "C" SW_SpecificHeat : 4.5 SW_Salinity_cp : 0.180 UNIT = "kJ/kg-K" : 0 : 273.15 : 0 : 0.5e-3 : 0 = 300 "K" = 27 = 0.5 UNIT = "kg/m-s" SW_Salinity_mu : 0 : 273.15 : 0 : 0 : 0 : 273.15 = 4.0 : 3.0

= 0.035 UNIT = "kg/kg" SW_Temperature_cp = 300 : 453.15 UNIT = "K" SW_TemperatureC_cp = 27 : 180 UNIT = "C" SW_Conductivity : 0.8e-3 UNIT = SW_Salinity_k : 0.160 UNIT = "kg/kg" SW_Temperature_k : 453.15 UNIT = SW_TemperatureC_k : 180 UNIT = "C" SW_Viscosity : 3 : 0.150 = 0.6e-3 "kW/m-K" = 0.035

= 0.035 UNIT = "kg/kg" SW_Temperature_mu = 300 : 453.15 UNIT = "K" SW_TemperatureC_mu = 27 : 180 UNIT = "C"

SW_SurfaceTension UNIT = SW_Salinity_sigma : 0.040 UNIT = SW_Temperature_sigma : 313.15 SW_TemperatureC_sigma : 40 UNIT = : 80e-3 SW_PressureSat : 2000 SW_Salinity_Psat : 0.240

= 72e-3 "N/m" = 0.035 "kg/kg" = 300 UNIT = "K" = 27 "C" = 1

: 65e-3 : 0 : 273.15 : 0 : 0.1 = 0.035 : 273.15 : 0 : 0 : 0 : 273.15 : 0 : 1300 : 0 : 273.15 : 0 : 30 : 0 : 283.15 : 10 : 0.05 : 0 : 283.15 : 10 : 0.8 : 0.010 : 273.15 : 0

UNIT = "kPa"

UNIT = "kg/kg" SW_Temperature_Psat = 300 : 473.15 UNIT = "K" SW_TemperatureC_Psat = 27 : 200 UNIT = "C" SW_BPE : 4 SW_Salinity_BPE : 0.120 UNIT = "K" = 1

= 0.035 UNIT = "kg/kg" SW_Temperature_BPE = 300 : 473.15 UNIT = "K" SW_TemperatureC_BPE = 27 : 200 UNIT = "C" SW_hfg : 2600 SW_Salinity_hfg : 0.240 UNIT = "kJ/kg" = 2400

= 0.035 UNIT = "kg/kg" SW_Temperature_hfg = 300 : 473.15 UNIT = "K" SW_TemperatureC_hfg = 27 : 200 UNIT = "C" SW_Enthalpy : 550 SW_Salinity_h : 0.120 UNIT = "kg/kg" UNIT = "kJ/kg" = 0.035 = 200

SW_Temperature_h = 300 : 393.15 UNIT = "K" SW_TemperatureC_h = 27 : 120 UNIT = "C" SW_Entropy : 2 SW_Salinity_s : 0.120 UNIT = "kg/kg" UNIT = "kJ/kg-K" = 0.035 = 1

SW_Temperature_s = 300 : 393.15 UNIT = "K" SW_TemperatureC_s = 27 : 120 UNIT = "C" SW_OsmoticCoefficient = 0.9 UNIT = "-" SW_Salinity_phi = 0.035 : 0.120 UNIT = "kg/kg" SW_Temperature_phi = 300 : 1.1

: 473.15 UNIT = "K" SW_TemperatureC_phi = 27 : 200 UNIT = "C" SW_InternalEnergy = 200 UNIT = "kJ/kg" SW_Salinity_u = 0.035 : 0.120 UNIT = "kg/kg" SW_Temperature_u = 300 : 393.15 UNIT = "K" SW_TemperatureC_u = 27 : 120 UNIT = "C" : 550 SW_Prandtl : 20 SW_Salinity_Pr : 0.150 UNIT = "-" = 3

: 0 : 30 : 0 : 283.15 : 10 : 0 : 0 : 273.15 : 0 : 1e-7 = 0.035 : 0 : 273.15 : 0 : 0 : 0 : 273.15 : 0 : 0 : 0 = 300 : 273.15 : 0 : -1e10 : 0 : 283.15 : 10 : -1e10

= 0.035 UNIT = "kg/kg" SW_Temperature_pr = 300 : 453.15 UNIT = "K" SW_TemperatureC_pr = 27 : 180 UNIT = "C" SW_Diffusivity : 2e-7 UNIT = SW_Salinity_alpha : 0.160 UNIT = SW_Temperature_alpha : 453.15 SW_TemperatureC_alpha : 180 UNIT = SW_KViscosity : 25e-7 SW_Salinity_nu : 0.150 UNIT = "m^2/s" "m^2/s" "kg/kg" = 300 UNIT = "K" = 27 "C" = 5e-7 = 1.6e-7

= 0.035 UNIT = "kg/kg" SW_Temperature_nu = 300 : 453.15 UNIT = "K" SW_TemperatureC_nu = 27 : 180 UNIT = "C" SW_Volume : 0.00125 UNIT = SW_Salinity_v : 0.160 UNIT = "kg/kg" SW_Temperature_v : 453.15 UNIT = SW_TemperatureC_v : 180 UNIT = "C" : 1e10 = 0.001 "m^2/s" = 0.035 "K" = 27

SW_GibbsFreeEnergy = 1 UNIT = "kJ/kg" SW_Salinity_g = 0.035 : 0.120 UNIT = "kg/kg" SW_Temperature_g = 300 : 393.15 UNIT = "K" SW_TemperatureC_g = 27 : 120 UNIT = "C" : 1e10 SW_ChemicalPotential = 1 UNIT = "kJ/kg"

SW_Salinity_mu_i : 0.120 UNIT = "kg/kg" SW_Temperature_mu_i = 300 : 393.15 UNIT = "K" SW_TemperatureC_mu_i = 27 : 120 UNIT = "C" SW_Exergy : 1e3 SW_Salinity_xi : 0.120 UNIT = "kJ/kg" = 1

= 0.035 : 283.15 : 10 : 0 : 0 : 283.15 : 10

: 0

= 0.035 UNIT = "kg/kg" SW_Temperature_xi = 300 : 393.15 UNIT = "K" SW_TemperatureC_xi = 27 : 120 UNIT = "C"

STREAM # SW_Stream IS MassFlowRate, Temperature, Pressure END # Declare ################################################################################ ################################################################################ MODEL SW_Density # SW_Density Density of sea water #========================================================================= # USAGE: rho = SW_Density(T,S) # DESCRIPTION: # Density of seawater at atmospheric pressure (0.1 MPa) using Eq. (8) # given by [1] which best fit the data of [2] and [3]. The pure water # density equation is a best fit to the data of [4]. # Values at temperature higher than the normal boiling temperature are # calculated at the saturation pressure. # # INPUT: # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # rho = density [kg/m^3] # # VALIDITY: 0 < T < 180 C; 0 < S < 160 g/kg; (273.15 < T < 453.15; 0 < S < 0.160 ) # # ACCURACY: 0.1 # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate r Treatment, 2009. # [2] Isdale, and Morris, Desalination, 10(4), 329, 1972. # [3] Millero and Poisson, Deep-Sea Research, 28A (6), 625, 1981 # [4] IAPWS release on the Thermodynamic properties of ordinary water substanc e, 1996. #========================================================================= PARAMETER a, b AS ARRAY(5) OF REAL VARIABLE T Tc AS SW_Temperature_rho AS SW_TemperatureC_rho

S rho_w, rho D_rho STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) b(1) b(2) b(3) b(4) b(5) INTERMEDIATE EQUATION Tc = T - 273.15; := := := := := := := := := := 9.9992293295e+02; 2.0341179217e-02; -6.1624591598e-03; 2.2614664708e-05; -4.6570659168e-08; 8.0200240891e+02; -2.0005183488e+00; 1.6771024982e-02; -3.0600536746e-05; -1.6132224742e-05;

AS SW_Salinity_rho AS SW_Density AS SW_delta_rho

rho_w = a(1) + a(2)*Tc + a(3)*Tc^2 + a(4)*Tc^3 + a(5)*Tc^4; D_rho = b(1)*S + b(2)*S*Tc + b(3)*S*Tc^2 + b(4)*S*Tc^3 + b(5)*S^2*Tc^2; rho = rho_w + D_rho; END # MODEL SW_Density ################################################################################ ################################################################################ MODEL SW_SpecificHeat # SW_SpcHeat Specific heat at constant pressure of seawater #========================================================================= # USAGE: cp = SW_SpcHeat(T,S) # DESCRIPTION: # Specific heat of seawater at 0.1 MPa given by [1] # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # cp = specific heat [kJ/kg-K] # # VALIDITY: 0 < T < 180 C; 0 < S < 180 g/kg; (273.15 < T < 453.15; 0 < S < 0.180 ) # # ACCURACY: 0.28 # # REFERENCES: # [1] D. T. Jamieson, J. S. Tudhope, R. Morris, and G. Cartwright, # Physical properties of sea water solutions: heat capacity, # Desalination, 7(1), 23-30, 1969. #========================================================================= PARAMETER

VARIABLE T Tc S cp STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE T68 := 1.00024*T; S_P := S / (1.00472*1e-3); A B C D := := := :=

AS AS AS AS

SW_Temperature_cp SW_TemperatureC_cp SW_Salinity_cp SW_SpecificHeat

#convert from T_90 to T_68 #convert from S to S_P

5.328 - 9.760E-02*S_P + 4.040E-04*S_P^2; -6.913E-03 + 7.351E-04*S_P - 3.150E-06*S_P^2; 9.600E-06 - 1.927E-06*S_P + 8.230E-09*S_P^2; 2.500E-09 + 1.666E-09*S_P - 7.125E-12*S_P^2;

EQUATION Tc = T - 273.15; cp = A + B*T68 + C*T68^2 + D*T68^3; END # MODEL SW_SpecificHeat ################################################################################ ################################################################################ MODEL SW_Conductivity # SW_Conductivity Thermal conductivity of seawater #========================================================================= # USAGE: k = SW_Conductivity(T,S) # # DESCRIPTION: # Thermal conductivity of seawater at 0.1 MPa given by [1] # # INPUT: # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # k = thermal conductivity [kW/m-K] # # VALIDITY: 0 < T < 180 C; 0 < S < 160 g/kg (273.15 < T < 453.15; 0 < S < 0.160) # # ACCURACY: 3.0 # # REFERENCES: # [1] D. T. Jamieson, and J. S. Tudhope, Desalination, 8, 393-401, 1970. #========================================================================= PARAMETER VARIABLE T Tc S k AS AS AS AS SW_Temperature_k SW_TemperatureC_k SW_Salinity_k SW_Conductivity

STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE T68 := 1.00024*T; S_P := S / (1.00472*1e-3); EQUATION Tc = T - 273.15; k = 1e-6*(10^(log10(240+0.0002*S_P)+0.434*(2.3-(343.5+0.037*S_P)/(T68))* ((1-(T68)/(647.3+0.03*S_P)))^(1/3))); END # MODEL SW_Conductivity ################################################################################ ################################################################################ MODEL SW_Viscosity # SW_Viscosity Dynamic viscosity of seawater #========================================================================= # USAGE: mu = SW_Viscosity(T,S) # # DESCRIPTION: # Dynamic viscosity of seawater at atmospheric pressure (0.1 MPa) using # Eq. (22) given in [1] which best fit the data of [2], [3] and [4]. # The pure water viscosity equation is a best fit to the data of [5]. # Values at temperature higher than the normal boiling temperature # are calculated at the saturation pressure. # # INPUT: (all must have same dimensions) # T = temperature [k] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # mu = dynamic viscosity [kg/m-s] # # VALIDITY: 0 < T < 180 C and 0 < S < 150 g/kg; (273.15 < T < 453.15; 0 < S < 0. 150) # # ACCURACY: 1.5 # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate r Treatment, 2010 # [2] B. M. Fabuss, A. Korosi, and D. F. Othmer, J., Chem. Eng. Data 14(2), 19 2, 1969. # [3] J. D. Isdale, C. M. Spence, and J. S. Tudhope, Desalination, 10(4), 319 - 328, 1972 # [4] F. J. Millero, The Sea, Vol. 5, 3 ?80, John Wiley, New York, 1974 # [5] IAPWS release on the viscosity of ordinary water substance 2008 #========================================================================= PARAMETER a AS ARRAY(10) OF REAL VARIABLE T Tc AS SW_Temperature_mu AS SW_TemperatureC_mu #convert from T_90 to T_68 #convert from S to S_P

S mu_w, mu STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10) := := := := := := := := := := 1.5700386464e-01; 6.4992620050e+01; -9.1296496657e+01; 4.2844324477e-05; 1.5409136040e+00; 1.9981117208e-02; -9.5203865864e-05; 7.9739318223e+00; -7.5614568881e-02; 4.7237011074e-04;

AS SW_Salinity_mu AS SW_Viscosity

INTERMEDIATE C := a(5) + a(6)*Tc + a(7)*Tc^2; B := a(8) + a(9)*Tc + a(10)*Tc^2; EQUATION Tc = T - 273.15; mu_w = a(4) + 1/(a(1)*(Tc+a(2))^2+a(3)); mu = mu_w*(1 + C*S + B*S^2); END # MODEL SW_Viscosity ################################################################################ ################################################################################ MODEL SW_SurfaceTension # SW_SurfaceTension Surface tension of seawater #========================================================================= # USAGE: sigma = SW_SurfaceTension(T,S) # # DESCRIPTION: # Surface tension of seawater at atmospheric pressure (0.1 MPa) using Eq. (28) # given by [1] which best fit the data of [2] and [3]. The pure water # surface tension is given by [4]. Values at temperature higher than # the normal boiling temperature are calculated at the saturation pressure. # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # sigma = surface tension [N/m] # # VALIDITY: 0 < T < 40 C, 0 < S < 40 g/kg; (273.15 < T < 313.15; 0 < S < 0.040) # # ACCURACY: 0.18 # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate r Treatment, 2009. # [2] O. Krummel, Wiss. Meeresunters. der Kieler Komm., Bd. 5, Heft 2, 1900.

# [3] C. Guohua, S. Jingzeng, G. Ling, and Z. Lijun, Study on the surface ten sion of seawater, # Oceanologia et Limnologia Sinica, 25(3), 306-311, 1994. # [4] IAPWS, Release on the Surface Tension of Ordinary Water Substance, 1994. #========================================================================= PARAMETER a AS ARRAY(3) OF REAL VARIABLE T Tc S sigma_w, sigma STREAM # FluidStream : m, T, P AS WaterStream SET a(1) := 2.2637334337e-04; a(2) := 9.4579521377e-03; a(3) := 3.3104954843e-02; INTERMEDIATE EQUATION Tc = T - 273.15; sigma_w = 0.2358*((1-(T/647.096))^1.256)*(1-0.625*(1-(T/647.096))); sigma = sigma_w*(1+(a(1)*Tc+a(2))*log(1+a(3)*S*1e3)); END # MODEL SW_SurfaceTension ################################################################################ ################################################################################ MODEL SW_Psat # SW_Psat Saturation (vapor) pressure of seawater #========================================================================= # USAGE: Pv = SW_Psat(T,S) # # DESCRIPTION: # Vapor pressure of seawater given by [1] based on Raoult's law. # The pure water vapor pressure is given by [2] # # INPUT: (all must have same dimensions) # T = temperature [degree C] (ITS-90) # S = salinity [g/kg] (reference-composition salinity) # # OUTPUT: # Pv = vapor pressure [kN/m^2] = [kPa] # # VALIDITY: 0 < T < 200 C; 0 < S < 240 g/kg; (273.15 < T < 473.15; 0 < S < 0.240 ) # # ACCURACY: 0.1 # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate r Treatment, 2009. # [2] ASHRAE handbook: Fundamentals, ASHRAE; 2005. AS AS AS AS SW_Temperature_sigma SW_TemperatureC_sigma SW_Salinity_sigma SW_SurfaceTension

#========================================================================= PARAMETER a AS ARRAY(6) OF REAL VARIABLE T Tc S Pv_w, Psat STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) a(6) INTERMEDIATE EQUATION Tc = T - 273.15; Pv_w = exp( a(1)/T + a(2) + a(3)*T + a(4)*T^2 + a(5)*T^3 + a(6)*log(T) ) /1000; Psat = Pv_w/(1+0.57357*(S/(1-S))); END # MODEL SW_Psat ################################################################################ ################################################################################ MODEL SW_BPE # SW_BPE Boiling point elevation of seawater #========================================================================= # USAGE: BPE = SW_BPE(T,S) # # DESCRIPTION: # Boiling point elevation of seawater using Eq. (36) given in [1] # which best fit the data of [2]. # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # BPE = boiling point elevation [K] # # VALIDITY: 0 < T < 200 C; 0 < S < 120 g/kg (273.15 < T < 473.15; 0 < S < 0.120) # # ACCURACY: 0.018 K # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate r Treatment, 2009. # [2] L. A. Bromley, D. Singh, P. Ray, S. Sridhar, and S. M. Read, Thermodynam ic properties of sea salt solutions, AIChE Journal 20, 326-335, 1974. := := := := := := -5.8002206e+03; 1.3914993e+00; -4.8640239e-02; 4.1764768e-05; -1.4452093e-08; 6.5459673e+00; AS AS AS AS SW_Temperature_Psat SW_TemperatureC_Psat SW_Salinity_Psat SW_PressureSat

#========================================================================= PARAMETER a AS ARRAY(6) OF REAL VARIABLE T Tc S BPE STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) a(6) := := := := := := -4.5838530457e-04; 2.8230948284e-01; 1.7945189194e+01; 1.5361752708e-04; 5.2669058133e-02; 6.5604855793e+00; AS AS AS AS SW_Temperature_BPE SW_TemperatureC_BPE SW_Salinity_BPE SW_BPE

INTERMEDIATE C := a(1)*Tc^2 + a(2)*Tc + a(3); B := a(4)*Tc^2 + a(5)*Tc + a(6); EQUATION Tc = T - 273.15; BPE = C*S^2 + B*S; END # MODEL SW_BPE ################################################################################ ################################################################################ MODEL SW_LatentHeat # SW_LatentHeat Latent Heat of vaporization of seawater #========================================================================= # USAGE: hfg = SW_LatentHeat(T,S) # # DESCRIPTION: # Latent heat of vaporization of seawater using Eq. (37) given by [1]. # The pure water latent heat is a best fit to the data of [2]. # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # hfg = Latent heat of vaporization [kJ/kg] # # VALIDITY: 0 < T < 200 C; 0 < S < 240 g/kg (273.15 < T < 473.15; 0 < S < 0.240) # # ACCURACY: 0.01 # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate r Treatment, 2010. # [3] IAPWS release on the Thermodynamic properties of ordinary water substanc e, 1996.

#========================================================================= PARAMETER a AS ARRAY(5) OF REAL VARIABLE T Tc S hfg_w, hfg STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) INTERMEDIATE EQUATION Tc = T - 273.15; hfg_w = (a(1) + a(2)*Tc + a(3)*Tc^2 + a(4)*Tc^3 + a(5)*Tc^4)/1000; hfg = hfg_w*(1-S); END # MODEL SW_LatentHeat ################################################################################ ################################################################################ MODEL SW_Enthalpy # SW_Enthalpy Specific enthalpy of seawater #========================================================================= # USAGE: h = SW_Enthalpy(T,S) # # DESCRIPTION: # Specific enthalpy of seawater at atmospheric pressure (0.1 MPa) using Eq. (4 3) # given by [1] which best fit the data of [2]. The pure water specific # enthalpy equation is a best fit to the data of [3]. # Values at temperature higher than the normal boiling temperature are # calculated at the saturation pressure. # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # h = specific enthalpy [kJ/kg] # # VALIDITY: 10 < T < 120 C, 0 < S < 120 g/kg; (273.15 < T < 393.15; 0 < S < 0.12 0) # # ACCURACY: 1.5 # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate := := := := := 2.5008991412e+06; -2.3691806479e+03; 2.6776439436e-01; -8.1027544602e-03; -2.0799346624e-05; AS AS AS AS SW_Temperature_hfg SW_TemperatureC_hfg SW_Salinity_hfg SW_hfg

r Treatment, 2010. # [2] L. A. Bromley, A. E. Diamond, E. Salami, and D. G. Wilkins, # Heat capacities and enthalpies of sea salt solutions to 200 degree C. J. Chem. Eng. Data 15, 246?53, 1970. # [3] IAPWS release on the Thermodynamic properties of ordinary water substanc e, 1996. #========================================================================= PARAMETER b AS ARRAY(10) OF REAL VARIABLE T Tc S h_w, h STREAM # FluidStream : m, T, P AS WaterStream SET b(1) b(2) b(3) b(4) b(5) b(6) b(7) b(8) b(9) b(10) INTERMEDIATE EQUATION Tc = T - 273.15; h_w = (141.355 + 4202.07*Tc - 0.535*Tc^2 + 0.004*Tc^3)/1000; h = h_w - S*(b(1) + b(2)*S + b(3)*S^2 + b(4)*S^3 + b(5)*Tc + b(6)*Tc^2 + b(7)*Tc^3 + b(8)*S*Tc + b(9)*S^2*Tc + b(10)*S*Tc^2)/1000; END # MODEL SW_Enthalpy ################################################################################ ################################################################################ MODEL SW_Entropy # SW_Entropy Specific entropy of seawater #========================================================================= # USAGE: s = SW_Entropy(T,S) # # DESCRIPTION: # Specific entropy of seawater at atmospheric pressure (0.1 MPa) using Eq. (46 ) # given in [1] which best fit the data of [2]. The pure water specific # entropy equation is a best fit to the data of [3]. # Values at temperature higher than the normal boiling temperature are # calculated at the saturation pressure. # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) := := := := := := := := := := -2.34825e+04; 3.15183e+05; 2.80269e+06; -1.44606e+07; 7.82607e+03; -4.41733e+01; 2.13940e-01; -1.99108e+04; 2.77846e+04; 9.72801e+01; AS AS AS AS SW_Temperature_h SW_TemperatureC_h SW_Salinity_h SW_Enthalpy

# S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # s = specific entropy [kJ/kg-K] # # VALIDITY: 10 < T < 120 C, 0 < S < 120 g/kg; (273.15 < T < 393.15; 0 < S < 0.12 0) # # ACCURACY: 0.5 # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate r Treatment, 2010. # [2] IAPWS release on the thermodynamic properties of seawater, 2008 # [3] IAPWS release on the Thermodynamic properties of ordinary water substanc e, 1996. #========================================================================= PARAMETER a b VARIABLE T Tc S s_w, s_SW STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) b(1) b(2) b(3) b(4) b(5) b(6) b(7) b(8) b(9) b(10) INTERMEDIATE EQUATION Tc = T - 273.15; s_w = (a(1) + a(2)*Tc + a(3)*Tc^2 + a(4)*Tc^3 + a(5)*Tc^4)/1000; s_SW = s_w - S*(b(1) + b(2)*S + b(3)*S^2 + b(4)*S^3 + b(5)*Tc + b(6)*Tc^ 2 + b(7)*Tc^3 + b(8)*S*Tc + b(9)*S^2*Tc + b(10)*S*Tc^2)/1000; END # MODEL SW_Entropy := := := := := := := := := := := := := := := 1.5432265080e-01; 1.5382700241e+01; -2.9963211781e-02; 8.1929151062e-05; -1.3699640311e-07; -4.2307343871e+02; 1.4630334922e+04; -9.8796297642e+04; 3.0946224962e+05; 2.5623880831e+01; -1.4432346624e-01; 5.8790568541e-04; -6.1106764270e+01; 8.0408001971e+01; 3.0354282687e-01; AS ARRAY(5) OF REAL AS ARRAY(10) OF REAL AS AS AS AS SW_Temperature_s SW_TemperatureC_s SW_Salinity_s SW_Entropy

################################################################################ ################################################################################ MODEL SW_Osmotic # SW_Osmotic Osmotic coefficient of seawater #========================================================================= # USAGE: phi = SW_Osmotic(T,S) # # DESCRIPTION: # Osmotic coefficient of seawater using Eq.(49) given by [1] which # best fit the data of [2]. # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # phi = osmotic coefficient [-] # # VALIDITY: 0 < T < 200 C, 10 < S < 120 g/kg; (273.15 < T < 473.15; 10 < S < 0.1 20) # # ACCURACY: 1.4 # # REFERENCES: # [1] Sharqawy M. H., Lienhard J. H., and Zubair, S. M., Desalination and Wate r Treatment, 2010. # [2] L. A. Bromley, D. Singh, P. Ray, S. Sridhar, and S. M. Read, # Thermodynamic properties of sea salt solutions, AIChE Journal 20, 326-33 5, 1974. #========================================================================= PARAMETER a AS ARRAY(10) OF REAL VARIABLE T Tc S phi STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10) := := := := := := := := := := 8.9453233003e-01; 4.1560737424e-04; -4.6262121398e-06; 2.2211195897e-11; -1.1445456438e-04; -1.4783462366e-06; -1.3526263499e-11; 7.0132355546e-06; 5.6960486681e-08; -2.8624032584e-10; AS AS AS AS SW_Temperature_phi SW_TemperatureC_phi SW_Salinity_phi SW_OsmoticCoefficient

INTERMEDIATE Sgkg := S*1000; EQUATION

Tc = T - 273.15; phi = a(1)+a(2)*Tc+a(3)*Tc^2+a(4)*Tc^4+a(5)*Sgkg+a(6)*Tc*Sgkg+a(7)*Sgkg* Tc^3+a(8)*Sgkg^2+a(9)*Sgkg^2*Tc+a(10)*Sgkg^2*Tc^2; END # MODEL SW_Osmotic ################################################################################ ################################################################################ MODEL SW_InternalEnergy # SW_InternalEnergy Internal energy of seawater #========================================================================= # USAGE: u = SW_InternalEnergy(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # u = internal energy [kJ/kg] #========================================================================= PARAMETER UNIT SW_Density SW_Enthalpy SW_Psat VARIABLE T Tc S P u STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Density.T SW_Density.S SW_Enthalpy.T SW_Enthalpy.S SW_Psat.T SW_Psat.S = = = = = = T; S; T; S; T; S; AS SW_Density AS SW_Enthalpy AS SW_Psat AS AS AS AS AS SW_Temperature_u SW_TemperatureC_u SW_Salinity_u SW_PressureSat SW_InternalEnergy

IF (T>373.15) THEN P = SW_Psat.Psat; ELSE P = 101.325; END u = SW_Enthalpy.h - P/SW_Density.rho;

END # MODEL SW_InternalEnergy ################################################################################ ################################################################################ MODEL SW_Prandtl # SW_Prandtl Prandtl number of seawater #========================================================================= # USAGE: Pr = SW_Prandtl(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # Pr = Prandtl number [-] #========================================================================= PARAMETER UNIT SW_SpecificHeat SW_Viscosity SW_Conductivity VARIABLE T Tc S Pr AS SW_SpecificHeat AS SW_Viscosity AS SW_Conductivity AS AS AS AS SW_Temperature_Pr SW_TemperatureC_Pr SW_Salinity_Pr SW_Prandtl

STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_SpecificHeat.T SW_SpecificHeat.S SW_Viscosity.T SW_Viscosity.S SW_Conductivity.T SW_Conductivity.S = = = = = = T; S; T; S; T; S;

Pr = SW_SpecificHeat.cp*SW_Viscosity.mu/SW_Conductivity.k; END # MODEL SW_Prandtl ################################################################################ ################################################################################ MODEL SW_Diffusivity # SW_Diffusivity Thermal diffusivity of seawater #========================================================================= # USAGE: alpha = SW_Diffusivity(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90)

# S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # alpha = thermal diffusivity [m^2/s] #========================================================================= PARAMETER UNIT SW_Density SW_SpecificHeat SW_Conductivity VARIABLE T Tc S alpha STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Density.T SW_Density.S SW_SpecificHeat.T SW_SpecificHeat.S SW_Conductivity.T SW_Conductivity.S = = = = = = T; S; T; S; T; S; AS SW_Density AS SW_SpecificHeat AS SW_Conductivity AS AS AS AS SW_Temperature_alpha SW_TemperatureC_alpha SW_Salinity_alpha SW_Diffusivity

alpha = SW_Conductivity.k/(SW_Density.rho*SW_SpecificHeat.cp); END # MODEL SW_Diffusivity ################################################################################ ################################################################################ MODEL SW_KViscosity # SW_KViscosity Kinematic viscosity of seawater #========================================================================= # USAGE: nu = SW_KViscosity(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # nu = kinematic viscosity [m^2/s] #========================================================================= PARAMETER UNIT SW_Density SW_Viscosity VARIABLE AS SW_Density AS SW_Viscosity

T Tc S nu STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Density.T SW_Density.S SW_Viscosity.T SW_Viscosity.S = = = = T; S; T; S;

AS AS AS AS

SW_Temperature_nu SW_TemperatureC_nu SW_Salinity_nu SW_KViscosity

nu = SW_Viscosity.mu/SW_Density.rho; END # MODEL SW_Kviscosity ################################################################################ ################################################################################ MODEL SW_Volume # SW_Volume Specific volume of seawater #========================================================================= # USAGE: v = SW_Volume(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # v = specific volume [m^3/kg] #========================================================================= PARAMETER UNIT SW_Density VARIABLE T Tc S v STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Density.T SW_Density.S = T; = S; AS SW_Density AS AS AS AS SW_Temperature_v SW_TemperatureC_v SW_Salinity_v SW_Volume

v = 1/SW_Density.rho; END # MODEL SW_Volume ################################################################################ ################################################################################ MODEL SW_GibbsFreeEnergy # SW_GibbsFreeEnergy Gibbs free energy of seawater #========================================================================= # USAGE: g = SW_GibbsFreeEnergy(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # g = SW_GibbsFreeEnergy [kJ/kg] #========================================================================= PARAMETER UNIT SW_Enthalpy SW_Entropy VARIABLE T Tc S g STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Enthalpy.T SW_Enthalpy.S SW_Entropy.T SW_Entropy.S = = = = T; S; T; S; AS SW_Enthalpy AS SW_Entropy AS AS AS AS SW_Temperature_g SW_TemperatureC_g SW_Salinity_g SW_GibbsFreeEnergy

g = SW_Enthalpy.h - T*SW_Entropy.s_SW; END # MODEL SW_GibbsFreeEnergy ################################################################################ ################################################################################ MODEL SW_ChemPot_W # SW_ChemPot_W Chemical potential of water in seawater #========================================================================= # USAGE: mu_w = SW_ChemPot_W(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90)

# S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # mu_w = chemical potential [kJ/kg] #========================================================================= PARAMETER a, b AS ARRAY(10) OF REAL UNIT SW_GibbsFreeEnergy AS SW_GibbsFreeEnergy VARIABLE T Tc S mu_w STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10) b(1) b(2) b(3) b(4) b(5) b(6) b(7) b(8) b(9) b(10) := := := := := := := := := := := := := := := := := := := := -2.34825e+04; 3.15183e+05; 2.80269e+06; -1.44606e+07; 7.82607e+03; -4.41733e+01; 2.13940e-01; -1.99108e+04; 2.77846e+04; 9.72801e+01; -4.2307343871e+02; 1.4630334922e+04; -9.8796297642e+04; 3.0946224962e+05; 2.5623880831e+01; -1.4432346624e-01; 5.8790568541e-04; -6.1106764270e+01; 8.0408001971e+01; 3.0354282687e-01; -(a(1) + 2*a(2)*S + 3*a(3)*S^2 + 4*a(4)*S^3 + a(5)*Tc + a(6)*Tc^ 2*a(8)*S*Tc + 3*a(9)*S^2*Tc + 2*a(10)*S*Tc^2)/1e3; -(b(1) + 2*b(2)*S + 3*b(3)*S^2 + 4*b(4)*S^3 + b(5)*Tc + b(6)*Tc^ 2*b(8)*S*Tc + 3*b(9)*S^2*Tc + 2*b(10)*S*Tc^2)/1e3; dhds - T*dsds; AS AS AS AS SW_Temperature_mu_i SW_TemperatureC_mu_i SW_Salinity_mu_i SW_ChemicalPotential

INTERMEDIATE dhds := 2 + a(7)*Tc^3 + dsds := 2 + b(7)*Tc^3 + dgds :=

EQUATION Tc = T - 273.15; SW_GibbsFreeEnergy.T = T; SW_GibbsFreeEnergy.S = S; mu_w = SW_GibbsFreeEnergy.g - S*dgds; END # MODEL SW_ChemPot_W ################################################################################

################################################################################ MODEL SW_ChemPot_S # SW_ChemPot_S Chemical potential of salts in seawater #========================================================================= # USAGE: mu_s = SW_ChemPot_S(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # mu_w = chemical potential [kJ/kg] #========================================================================= PARAMETER a, b AS ARRAY(10) OF REAL UNIT SW_GibbsFreeEnergy AS SW_GibbsFreeEnergy VARIABLE T Tc S mu_s STREAM # FluidStream : m, T, P AS WaterStream SET a(1) a(2) a(3) a(4) a(5) a(6) a(7) a(8) a(9) a(10) b(1) b(2) b(3) b(4) b(5) b(6) b(7) b(8) b(9) b(10) := := := := := := := := := := := := := := := := := := := := -2.34825e+04; 3.15183e+05; 2.80269e+06; -1.44606e+07; 7.82607e+03; -4.41733e+01; 2.13940e-01; -1.99108e+04; 2.77846e+04; 9.72801e+01; -4.2307343871e+02; 1.4630334922e+04; -9.8796297642e+04; 3.0946224962e+05; 2.5623880831e+01; -1.4432346624e-01; 5.8790568541e-04; -6.1106764270e+01; 8.0408001971e+01; 3.0354282687e-01; -(a(1) + 2*a(2)*S + 3*a(3)*S^2 + 4*a(4)*S^3 + a(5)*Tc + a(6)*Tc^ 2*a(8)*S*Tc + 3*a(9)*S^2*Tc + 2*a(10)*S*Tc^2)/1e3; -(b(1) + 2*b(2)*S + 3*b(3)*S^2 + 4*b(4)*S^3 + b(5)*Tc + b(6)*Tc^ 2*b(8)*S*Tc + 3*b(9)*S^2*Tc + 2*b(10)*S*Tc^2)/1e3; AS AS AS AS SW_Temperature_mu_i SW_TemperatureC_mu_i SW_Salinity_mu_i SW_ChemicalPotential

INTERMEDIATE dhds := 2 + a(7)*Tc^3 + dsds := 2 + b(7)*Tc^3 +

dgds := dhds - T*dsds; EQUATION

Tc = T - 273.15; SW_GibbsFreeEnergy.T = T; SW_GibbsFreeEnergy.S = S; mu_s = SW_GibbsFreeEnergy.g + (1-S)*dgds; END # MODEL SW_ChemPot_S ################################################################################ ################################################################################ MODEL SW_Exergy # SW_Exergy Specific flow exergy of seawater #========================================================================= # USAGE: xi = SW_Exergy(T,S) # # INPUT: (all must have same dimensions) # T = temperature [K] (ITS-90) # S = salinity [kg/kg] (reference-composition salinity) # # OUTPUT: # xi = specific flow exergy [kJ/kg] #========================================================================= PARAMETER T0 AS REAL DEFAULT 298.15 S0 AS REAL DEFAULT 0.035 UNIT SW_Enthalpy, SW_EnthalpyStar AS SW_Enthalpy SW_Entropy, SW_EntropyStar AS SW_Entropy SW_ChemPot_W0, SW_ChemPot_WStar AS SW_ChemPot_W SW_ChemPot_S0, SW_ChemPot_SStar AS SW_ChemPot_S VARIABLE T Tc S xi STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE dh ds dmu_w dmu_s := := := := SW_Enthalpy.h - SW_EnthalpyStar.h; SW_Entropy.s_SW - SW_EntropyStar.s_SW; SW_ChemPot_WStar.mu_w - SW_ChemPot_W0.mu_w; SW_ChemPot_SStar.mu_s - SW_ChemPot_S0.mu_s; AS AS AS AS SW_Temperature_xi SW_TemperatureC_xi SW_Salinity_xi SW_Exergy

EQUATION Tc = T - 273.15; SW_Enthalpy.T = T; SW_Enthalpy.S = S; SW_EnthalpyStar.T = T0; SW_EnthalpyStar.S = S; SW_Entropy.T = T;

SW_Entropy.S = S; SW_EntropyStar.T = T0; SW_EntropyStar.S = S; SW_ChemPot_WStar.T = T0; SW_ChemPot_WStar.S = S; SW_ChemPot_W0.T = T0; SW_ChemPot_W0.S = S0; SW_ChemPot_SStar.T = T0; SW_ChemPot_SStar.S = S; SW_ChemPot_S0.T = T0; SW_ChemPot_S0.S = S0; xi = dh-T0*ds + (1-S)*dmu_w+S*dmu_s; END # MODEL SW_ChemPot_S ################################################################################

################################################################################ MODEL SW_Properties PARAMETER UNIT SW_h SW_s VARIABLE Tc T X h s STREAM # SW_Stream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_h.T = T; SW_h.S = X; SW_h.h = h; SW_s.T = T; SW_s.S = X; SW_s.s_SW = s; END # MODEL SW_Density ################################################################################ ################################################################################ AS SW_Enthalpy AS SW_Entropy AS AS AS AS AS SW_TemperatureC_h SW_Temperature_h SW_Salinity_h SW_Enthalpy SW_Entropy

SIMULATION SW_Density_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Density AS SW_Density INPUT WITHIN SW_Density DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_Density SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Density.rho END SAVE PRESETS P_SW_Density END # SEQUENCE END # SIMULATION SW_Density_S ################################################################################ ################################################################################ SIMULATION SW_SpecificHeat_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_SpecificHeat AS SW_SpecificHeat INPUT WITHIN SW_SpecificHeat DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_SpecificHeat SCHEDULE SEQUENCE # CONTINUE FOR 1

DISPLAY , SW_SpecificHeat.cp END SAVE PRESETS P_SW_SpecificHeat END # SEQUENCE END # SIMULATION SW_SpecificHeat_S ################################################################################ ################################################################################ SIMULATION SW_Conductivity_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Conductivity AS SW_Conductivity INPUT WITHIN SW_Conductivity DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_Conductivity SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Conductivity.k END SAVE PRESETS P_SW_Conductivity END # SEQUENCE END # SIMULATION SW_Conductivity_S ################################################################################ ################################################################################ SIMULATION SW_Viscosity_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Viscosity AS SW_Viscosity INPUT WITHIN SW_Viscosity DO

T S END PRESET

:= 273.15 + 20; := 0.025;

#INCLUDE P_SW_Viscosity SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Viscosity.mu END SAVE PRESETS P_SW_Viscosity END # SEQUENCE END # SIMULATION SW_Viscosity_S ################################################################################ ################################################################################ SIMULATION SW_SurfaceTension_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_SurfaceTension AS SW_SurfaceTension INPUT WITHIN SW_SurfaceTension DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_SurfaceTension SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_SurfaceTension.sigma END SAVE PRESETS P_SW_SurfaceTension END # SEQUENCE END # SIMULATION SW_SurfaceTension_S ################################################################################ ################################################################################ SIMULATION SW_Psat_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging:

# # # # UNIT

INIT_PRINT_LEVEL := 3; INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 INIT_BOUNDS := FALSE; # Ignore variable bounds SW_Psat AS SW_Psat

INPUT WITHIN SW_Psat DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_Psat SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Psat.Psat END SAVE PRESETS P_SW_Psat END # SEQUENCE END # SIMULATION SW_Psat_S ################################################################################ ################################################################################ SIMULATION SW_BPE_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_BPE AS SW_BPE INPUT WITHIN SW_BPE DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_BPE SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_BPE.BPE END SAVE PRESETS P_SW_BPE END # SEQUENCE

END # SIMULATION SW_BPE_S ################################################################################ ################################################################################ SIMULATION SW_LatentHeat_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_LatentHeat AS SW_LatentHeat INPUT WITHIN SW_LatentHeat DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_LatentHeat SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_LatentHeat.hfg END SAVE PRESETS P_SW_LatentHeat END # SEQUENCE END # SIMULATION SW_LatentHeat_S ################################################################################ ################################################################################ SIMULATION SW_Enthalpy_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Enthalpy AS SW_Enthalpy INPUT WITHIN SW_Enthalpy DO T := 273.15 + 20; S := 0.025; END PRESET

#INCLUDE P_SW_Enthalpy SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Enthalpy.h END SAVE PRESETS P_SW_Enthalpy END # SEQUENCE END # SIMULATION SW_Enthalpy_S ################################################################################ ################################################################################ SIMULATION SW_Entropy_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Entropy AS SW_Entropy INPUT WITHIN SW_Entropy DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_Entropy SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Entropy.s_SW END SAVE PRESETS P_SW_Enthalpy END # SEQUENCE END # SIMULATION SW_Entropy_S ################################################################################ ################################################################################ SIMULATION SW_Osmotic_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds

UNIT SW_Osmotic AS SW_Osmotic INPUT WITHIN SW_Osmotic DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_Osmotic SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Osmotic.phi END SAVE PRESETS P_SW_Osmotic END # SEQUENCE END # SIMULATION SW_Osmotic_S ################################################################################ ################################################################################ SIMULATION SW_InternalEnergy_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_InternalEnergy AS SW_InternalEnergy INPUT WITHIN SW_InternalEnergy DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_InternalEnergy SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_InternalEnergy.u END SAVE PRESETS P_SW_InternalEnergy END # SEQUENCE END # SIMULATION SW_InternalEnergy ################################################################################ ################################################################################

SIMULATION SW_Prandtl_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Prandtl AS SW_Prandtl INPUT WITHIN SW_Prandtl DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_Prandtl SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Prandtl.Pr END SAVE PRESETS P_SW_Prandtl END # SEQUENCE END # SIMULATION SW_Prandtl ################################################################################ ################################################################################ SIMULATION SW_Diffusivity_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Diffusivity AS SW_Diffusivity INPUT WITHIN SW_Diffusivity DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_Diffusivity SCHEDULE SEQUENCE # CONTINUE FOR 1

DISPLAY , SW_Diffusivity.alpha END SAVE PRESETS P_SW_Diffusivity END # SEQUENCE END # SIMULATION SW_Diffusivity ################################################################################ ################################################################################ SIMULATION SW_KViscosity_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_KViscosity AS SW_KViscosity INPUT WITHIN SW_KViscosity DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_KViscosity SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_KViscosity.nu END SAVE PRESETS P_SW_KViscosity END # SEQUENCE END # SIMULATION SW_KViscosity ################################################################################ ################################################################################ SIMULATION SW_Volume_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Volume AS SW_Volume INPUT WITHIN SW_Volume DO

T S END PRESET

:= 273.15 + 20; := 0.025;

#INCLUDE P_SW_Volume SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Volume.v END SAVE PRESETS P_SW_Volume END # SEQUENCE END # SIMULATION SW_Volume ################################################################################ ################################################################################ SIMULATION SW_GibbsFreeEnergy_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_GibbsFreeEnergy AS SW_GibbsFreeEnergy INPUT WITHIN SW_GibbsFreeEnergy DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_GibbsFreeEnergy SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_GibbsFreeEnergy.g END SAVE PRESETS P_SW_GibbsFreeEnergy END # SEQUENCE END # SIMULATION SW_Volume ################################################################################ ################################################################################ SIMULATION SW_ChemPot_W_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging:

# # # # UNIT

INIT_PRINT_LEVEL := 3; INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 INIT_BOUNDS := FALSE; # Ignore variable bounds SW_ChemPot_W AS SW_ChemPot_W

INPUT WITHIN SW_ChemPot_W DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_ChemPot_W SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_ChemPot_W.mu_w END SAVE PRESETS P_SW_ChemPot_W END # SEQUENCE END # SIMULATION SW_ChemPot_W ################################################################################ ################################################################################ SIMULATION SW_ChemPot_S_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_ChemPot_S AS SW_ChemPot_S INPUT WITHIN SW_ChemPot_S DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_ChemPot_S SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_ChemPot_S.mu_s END SAVE PRESETS P_SW_ChemPot_S END # SEQUENCE

END # SIMULATION SW_ChemPot_S ################################################################################ ################################################################################ SIMULATION SW_Exergy_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Exergy AS SW_Exergy SET WITHIN SW_Exergy DO T0 := 298.15; S0 := 0.035; END INPUT WITHIN SW_Exergy DO T := 273.15 + 20; S := 0.025; END PRESET #INCLUDE P_SW_Exergy SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Exergy.xi END SAVE PRESETS P_SW_Exergy END # SEQUENCE END # SIMULATION SW_Exergy ################################################################################ ################################################################################ SIMULATION SW_All_Properties_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds PARAMETER T_in S_in UNIT AS REAL DEFAULT 273.15 + 30 AS REAL DEFAULT 0.030

SW_Density SW_SpecificHeat SW_Conductivity SW_Viscosity SW_SurfaceTension SW_Psat SW_BPE SW_LatentHeat SW_Enthalpy SW_Entropy SW_Osmotic SW_InternalEnergy SW_Prandtl SW_Diffusivity SW_KViscosity SW_Volume SW_GibbsFreeEnergy SW_ChemPot_W SW_ChemPot_S SW_Exergy SET WITHIN SW_Exergy DO T0 := 298.15; S0 := 0.035; END INPUT SW_Density.T SW_Density.S

AS AS AS AS AS

AS AS AS AS AS AS

AS SW_Density SW_SpecificHeat SW_Conductivity SW_Viscosity SW_SurfaceTension AS SW_Psat AS SW_BPE SW_LatentHeat AS SW_Enthalpy AS SW_Entropy AS SW_Osmotic SW_InternalEnergy AS SW_Prandtl SW_Diffusivity SW_KViscosity AS SW_Volume SW_GibbsFreeEnergy SW_ChemPot_W SW_ChemPot_S AS SW_Exergy

:= T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in;

SW_SpecificHeat.T SW_SpecificHeat.S SW_Conductivity.T SW_Conductivity.S SW_Viscosity.T SW_Viscosity.S SW_SurfaceTension.T SW_SurfaceTension.S SW_Psat.T SW_Psat.S SW_BPE.T SW_BPE.S SW_LatentHeat.T SW_LatentHeat.S SW_Enthalpy.T SW_Enthalpy.S SW_Entropy.T SW_Entropy.S SW_Osmotic.T SW_Osmotic.S

SW_InternalEnergy.T SW_InternalEnergy.S SW_Prandtl.T SW_Prandtl.S SW_Diffusivity.T SW_Diffusivity.S SW_KViscosity.T SW_KViscosity.S SW_Volume.T SW_Volume.S

:= T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in; := T_in; := S_in;

SW_GibbsFreeEnergy.T:= T_in; SW_GibbsFreeEnergy.S:= S_in; SW_ChemPot_W.T SW_ChemPot_W.S SW_ChemPot_S.T SW_ChemPot_S.S SW_Exergy.T SW_Exergy.S PRESET #INCLUDE P_SW_All_Properties SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Diffusivity.alpha , SW_BPE.BPE , SW_SpecificHeat.cp , SW_GibbsFreeEnergy.g , SW_Enthalpy.h , SW_LatentHeat.hfg , SW_Conductivity.k , SW_Viscosity.mu , SW_ChemPot_S.mu_s , SW_ChemPot_W.mu_w , SW_KViscosity.nu , SW_Osmotic.phi , SW_Prandtl.Pr , SW_Psat.psat , SW_Density.rho , SW_SurfaceTension.sigma , SW_Entropy.s_SW , SW_InternalEnergy.u , SW_Volume.v , SW_Exergy.xi , SW_Density.rho , SW_SpecificHeat.cp , SW_Conductivity.k , SW_Viscosity.mu , SW_SurfaceTension.sigma , SW_Psat.psat := T_in; := S_in; := T_in; := S_in; := T_in; := S_in;

# # # # # #

# # # # # # # # # # # # # #

, , , , , , , , , , , , , ,

SW_BPE.BPE SW_LatentHeat.hfg SW_Enthalpy.h SW_Entropy.s_SW SW_Osmotic.phi SW_InternalEnergy.u SW_Prandtl.Pr SW_Diffusivity.alpha SW_KViscosity.nu SW_Volume.v SW_GibbsFreeEnergy.g SW_ChemPot_W.mu_w SW_ChemPot_S.mu_s SW_Exergy.xi

END SAVE PRESETS P_SW_All_Properties END # SEQUENCE END # SIMULATION SW_All_Properties_S ################################################################################ ################################################################################ SIMULATION SW_Properties_S OPTIONS INIT_MAX_ITERATIONS := 100; # Default: 100 CSVOUTPUT := TRUE; ##### For Debugging: # INIT_PRINT_LEVEL := 3; # INIT_ABSOLUTE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_RELATIVE_TOLERANCE :=1e-3; # Default is 1e-6 # INIT_BOUNDS := FALSE; # Ignore variable bounds UNIT SW_Properties AS SW_Properties INPUT # WITHIN SW_Properties DO T := 273.15+20; Tc := 20; X := 0.02; END #INCLUDE P_SW_ChemPot_S SCHEDULE SEQUENCE # CONTINUE FOR 1 DISPLAY , SW_Properties.T , SW_Properties.X , SW_Properties.h , SW_Properties.s END SAVE PRESETS P_SW_Properites END # SEQUENCE END # SIMULATION SW_Properties_S ################################################################################

PRESET

You might also like