# 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 correlations and # data. Desalination and Water Treatment, 16(2010) 354--380. # 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.0 : 3.0 : 4.5 UNIT = "kJ/kg-K" SW_Salinity_cp = 0.035 : 0 : 0.180 UNIT = "kg/kg" SW_Temperature_cp = 300 : 273.15 : 453.15 UNIT = "K" SW_TemperatureC_cp = 27 : 0 : 180 UNIT = "ºC" SW_Conductivity = 0.6e-3 : 0.5e-3 : 0.8e-3 UNIT = "kW/m-K" SW_Salinity_k = 0.035 : 0 : 0.160 UNIT = "kg/kg" SW_Temperature_k = 300 : 273.15 : 453.15 UNIT = "K" SW_TemperatureC_k = 27 : 0 : 180 UNIT = "ºC" SW_Viscosity = 0.5 : 0 : 3 UNIT = "kg/m-s" SW_Salinity_mu = 0.035 : 0 : 0.150 UNIT = "kg/kg" SW_Temperature_mu = 300 : 273.15 : 453.15 UNIT = "K" SW_TemperatureC_mu = 27 : 0 : 180 UNIT = "ºC" SW_SurfaceTension = 72e-3 : 65e-3 : 80e-3 UNIT = "N/m" SW_Salinity_sigma = 0.035 : 0 : 0.040 UNIT = "kg/kg" SW_Temperature_sigma = 300 : 273.15 : 313.15 UNIT = "K" SW_TemperatureC_sigma = 27 : 0 : 40 UNIT = "ºC" SW_PressureSat = 1 : 0.1 : 2000 UNIT = "kPa" SW_Salinity_Psat = 0.035 : 0 : 0.240 UNIT = "kg/kg" SW_Temperature_Psat = 300 : 273.15 : 473.15 UNIT = "K" SW_TemperatureC_Psat = 27 : 0 : 200 UNIT = "ºC" SW_BPE = 1 : 0 : 4 UNIT = "K" SW_Salinity_BPE = 0.035 : 0 : 0.120 UNIT = "kg/kg" SW_Temperature_BPE = 300 : 273.15 : 473.15 UNIT = "K" SW_TemperatureC_BPE = 27 : 0 : 200 UNIT = "ºC" SW_hfg = 2400 : 1300 : 2600 UNIT = "kJ/kg" SW_Salinity_hfg = 0.035 : 0 : 0.240 UNIT = "kg/kg" SW_Temperature_hfg = 300 : 273.15 : 473.15 UNIT = "K" SW_TemperatureC_hfg = 27 : 0 : 200 UNIT = "ºC" SW_Enthalpy = 200 : 30 : 550 UNIT = "kJ/kg" SW_Salinity_h = 0.035 : 0 : 0.120 UNIT = "kg/kg" SW_Temperature_h = 300 : 283.15 : 393.15 UNIT = "K" SW_TemperatureC_h = 27 : 10 : 120 UNIT = "ºC" SW_Entropy = 1 : 0.05 : 2 UNIT = "kJ/kg-K" SW_Salinity_s = 0.035 : 0 : 0.120 UNIT = "kg/kg" SW_Temperature_s = 300 : 283.15 : 393.15 UNIT = "K" SW_TemperatureC_s = 27 : 10 : 120 UNIT = "ºC" SW_OsmoticCoefficient = 0.9 : 0.8 : 1.1 UNIT = "-" SW_Salinity_phi = 0.035 : 0.010 : 0.120 UNIT = "kg/kg" SW_Temperature_phi = 300 : 273.15 : 473.15 UNIT = "K" SW_TemperatureC_phi = 27 : 0 : 200 UNIT = "ºC" SW_InternalEnergy = 200 : 30 : 550 UNIT = "kJ/kg" SW_Salinity_u = 0.035 : 0 : 0.120 UNIT = "kg/kg" SW_Temperature_u = 300 : 283.15 : 393.15 UNIT = "K" SW_TemperatureC_u = 27 : 10 : 120 UNIT = "ºC" SW_Prandtl = 3 : 0 : 20 UNIT = "-" SW_Salinity_Pr = 0.035 : 0 : 0.150 UNIT = "kg/kg" SW_Temperature_pr = 300 : 273.15 : 453.15 UNIT = "K" SW_TemperatureC_pr = 27 : 0 : 180 UNIT = "ºC" SW_Diffusivity = 1.6e-7 : 1e-7 : 2e-7 UNIT = "m^2/s" SW_Salinity_alpha = 0.035 : 0 : 0.160 UNIT = "kg/kg" SW_Temperature_alpha = 300 : 273.15 : 453.15 UNIT = "K" SW_TemperatureC_alpha = 27 : 0 : 180 UNIT = "ºC" SW_KViscosity = 5e-7 : 0 : 25e-7 UNIT = "m^2/s" SW_Salinity_nu = 0.035 : 0 : 0.150 UNIT = "kg/kg" SW_Temperature_nu = 300 : 273.15 : 453.15 UNIT = "K" SW_TemperatureC_nu = 27 : 0 : 180 UNIT = "ºC" SW_Volume = 0.001 : 0 : 0.00125 UNIT = "m^2/s" SW_Salinity_v = 0.035 : 0 : 0.160 UNIT = "kg/kg" SW_Temperature_v = 300 : 273.15 : 453.15 UNIT = "K" SW_TemperatureC_v = 27 : 0 : 180 UNIT = "ºC" SW_GibbsFreeEnergy = 1 : -1e10 : 1e10 UNIT = "kJ/kg" SW_Salinity_g = 0.035 : 0 : 0.120 UNIT = "kg/kg" SW_Temperature_g = 300 : 283.15 : 393.15 UNIT = "K" SW_TemperatureC_g = 27 : 10 : 120 UNIT = "ºC" SW_ChemicalPotential = 1 : -1e10 : 1e10 UNIT = "kJ/kg" SW_Salinity_mu_i = 0.035 : 0 : 0.120 UNIT = "kg/kg" SW_Temperature_mu_i = 300 : 283.15 : 393.15 UNIT = "K" SW_TemperatureC_mu_i = 27 : 10 : 120 UNIT = "ºC" SW_Exergy = 1 : 0 : 1e3 UNIT = "kJ/kg" SW_Salinity_xi = 0.035 : 0 : 0.120 UNIT = "kg/kg" SW_Temperature_xi = 300 : 283.15 : 393.15 UNIT = "K" SW_TemperatureC_xi = 27 : 10 : 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.15373.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 AS SW_SpecificHeat SW_Viscosity AS SW_Viscosity SW_Conductivity AS SW_Conductivity VARIABLE T AS SW_Temperature_Pr Tc AS SW_TemperatureC_Pr S AS SW_Salinity_Pr Pr AS SW_Prandtl STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_SpecificHeat.T = T; SW_SpecificHeat.S = S; SW_Viscosity.T = T; SW_Viscosity.S = S; SW_Conductivity.T = T; SW_Conductivity.S = 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 AS SW_Density SW_SpecificHeat AS SW_SpecificHeat SW_Conductivity AS SW_Conductivity VARIABLE T AS SW_Temperature_alpha Tc AS SW_TemperatureC_alpha S AS SW_Salinity_alpha alpha AS SW_Diffusivity STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Density.T = T; SW_Density.S = S; SW_SpecificHeat.T = T; SW_SpecificHeat.S = S; SW_Conductivity.T = T; SW_Conductivity.S = S; 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 AS SW_Density SW_Viscosity AS SW_Viscosity VARIABLE T AS SW_Temperature_nu Tc AS SW_TemperatureC_nu S AS SW_Salinity_nu nu AS SW_KViscosity STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Density.T = T; SW_Density.S = S; SW_Viscosity.T = T; SW_Viscosity.S = S; 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 AS SW_Density VARIABLE T AS SW_Temperature_v Tc AS SW_TemperatureC_v S AS SW_Salinity_v v AS SW_Volume STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Density.T = T; SW_Density.S = S; 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 AS SW_Enthalpy SW_Entropy AS SW_Entropy VARIABLE T AS SW_Temperature_g Tc AS SW_TemperatureC_g S AS SW_Salinity_g g AS SW_GibbsFreeEnergy STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE EQUATION Tc = T - 273.15; SW_Enthalpy.T = T; SW_Enthalpy.S = S; SW_Entropy.T = T; SW_Entropy.S = S; 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 AS SW_Temperature_mu_i Tc AS SW_TemperatureC_mu_i S AS SW_Salinity_mu_i mu_w AS SW_ChemicalPotential STREAM # FluidStream : m, T, P AS WaterStream SET a(1) := -2.34825e+04; a(2) := 3.15183e+05; a(3) := 2.80269e+06; a(4) := -1.44606e+07; a(5) := 7.82607e+03; a(6) := -4.41733e+01; a(7) := 2.13940e-01; a(8) := -1.99108e+04; a(9) := 2.77846e+04; a(10) := 9.72801e+01; b(1) := -4.2307343871e+02; b(2) := 1.4630334922e+04; b(3) := -9.8796297642e+04; b(4) := 3.0946224962e+05; b(5) := 2.5623880831e+01; b(6) := -1.4432346624e-01; b(7) := 5.8790568541e-04; b(8) := -6.1106764270e+01; b(9) := 8.0408001971e+01; b(10) := 3.0354282687e-01; INTERMEDIATE dhds := -(a(1) + 2*a(2)*S + 3*a(3)*S^2 + 4*a(4)*S^3 + a(5)*Tc + a(6)*Tc^2 + a(7)*Tc^3 + 2*a(8)*S*Tc + 3*a(9)*S^2*Tc + 2*a(10)*S*Tc^2)/1e3; dsds := -(b(1) + 2*b(2)*S + 3*b(3)*S^2 + 4*b(4)*S^3 + b(5)*Tc + b(6)*Tc^2 + b(7)*Tc^3 + 2*b(8)*S*Tc + 3*b(9)*S^2*Tc + 2*b(10)*S*Tc^2)/1e3; dgds := dhds - T*dsds; 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 AS SW_Temperature_mu_i Tc AS SW_TemperatureC_mu_i S AS SW_Salinity_mu_i mu_s AS SW_ChemicalPotential STREAM # FluidStream : m, T, P AS WaterStream SET a(1) := -2.34825e+04; a(2) := 3.15183e+05; a(3) := 2.80269e+06; a(4) := -1.44606e+07; a(5) := 7.82607e+03; a(6) := -4.41733e+01; a(7) := 2.13940e-01; a(8) := -1.99108e+04; a(9) := 2.77846e+04; a(10) := 9.72801e+01; b(1) := -4.2307343871e+02; b(2) := 1.4630334922e+04; b(3) := -9.8796297642e+04; b(4) := 3.0946224962e+05; b(5) := 2.5623880831e+01; b(6) := -1.4432346624e-01; b(7) := 5.8790568541e-04; b(8) := -6.1106764270e+01; b(9) := 8.0408001971e+01; b(10) := 3.0354282687e-01; INTERMEDIATE dhds := -(a(1) + 2*a(2)*S + 3*a(3)*S^2 + 4*a(4)*S^3 + a(5)*Tc + a(6)*Tc^2 + a(7)*Tc^3 + 2*a(8)*S*Tc + 3*a(9)*S^2*Tc + 2*a(10)*S*Tc^2)/1e3; dsds := -(b(1) + 2*b(2)*S + 3*b(3)*S^2 + 4*b(4)*S^3 + b(5)*Tc + b(6)*Tc^2 + b(7)*Tc^3 + 2*b(8)*S*Tc + 3*b(9)*S^2*Tc + 2*b(10)*S*Tc^2)/1e3; 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 AS SW_Temperature_xi Tc AS SW_TemperatureC_xi S AS SW_Salinity_xi xi AS SW_Exergy STREAM # FluidStream : m, T, P AS WaterStream SET INTERMEDIATE dh := SW_Enthalpy.h - SW_EnthalpyStar.h; ds := SW_Entropy.s_SW - SW_EntropyStar.s_SW; dmu_w := SW_ChemPot_WStar.mu_w - SW_ChemPot_W0.mu_w; dmu_s := SW_ChemPot_SStar.mu_s - SW_ChemPot_S0.mu_s; 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 AS SW_Enthalpy SW_s AS SW_Entropy VARIABLE Tc AS SW_TemperatureC_h T AS SW_Temperature_h X AS SW_Salinity_h h AS SW_Enthalpy s AS SW_Entropy 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 ################################################################################ ################################################################################ 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 := 273.15 + 20; S := 0.025; END PRESET #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: # 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_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 := 273.15 + 20; S := 0.025; END PRESET #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: # 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_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 AS REAL DEFAULT 273.15 + 30 S_in AS REAL DEFAULT 0.030 UNIT SW_Density AS SW_Density SW_SpecificHeat AS SW_SpecificHeat SW_Conductivity AS SW_Conductivity SW_Viscosity AS SW_Viscosity SW_SurfaceTension AS SW_SurfaceTension SW_Psat AS SW_Psat SW_BPE AS SW_BPE SW_LatentHeat AS SW_LatentHeat SW_Enthalpy AS SW_Enthalpy SW_Entropy AS SW_Entropy SW_Osmotic AS SW_Osmotic SW_InternalEnergy AS SW_InternalEnergy SW_Prandtl AS SW_Prandtl SW_Diffusivity AS SW_Diffusivity SW_KViscosity AS SW_KViscosity SW_Volume AS SW_Volume SW_GibbsFreeEnergy AS SW_GibbsFreeEnergy SW_ChemPot_W AS SW_ChemPot_W SW_ChemPot_S AS SW_ChemPot_S SW_Exergy AS SW_Exergy SET WITHIN SW_Exergy DO T0 := 298.15; S0 := 0.035; END INPUT SW_Density.T := T_in; SW_Density.S := S_in; SW_SpecificHeat.T := T_in; SW_SpecificHeat.S := S_in; SW_Conductivity.T := T_in; SW_Conductivity.S := S_in; SW_Viscosity.T := T_in; SW_Viscosity.S := S_in; SW_SurfaceTension.T := T_in; SW_SurfaceTension.S := S_in; SW_Psat.T := T_in; SW_Psat.S := S_in; SW_BPE.T := T_in; SW_BPE.S := S_in; SW_LatentHeat.T := T_in; SW_LatentHeat.S := S_in; SW_Enthalpy.T := T_in; SW_Enthalpy.S := S_in; SW_Entropy.T := T_in; SW_Entropy.S := S_in; SW_Osmotic.T := T_in; SW_Osmotic.S := S_in; SW_InternalEnergy.T := T_in; SW_InternalEnergy.S := S_in; SW_Prandtl.T := T_in; SW_Prandtl.S := S_in; SW_Diffusivity.T := T_in; SW_Diffusivity.S := S_in; SW_KViscosity.T := T_in; SW_KViscosity.S := S_in; SW_Volume.T := T_in; SW_Volume.S := S_in; SW_GibbsFreeEnergy.T:= T_in; SW_GibbsFreeEnergy.S:= S_in; SW_ChemPot_W.T := T_in; SW_ChemPot_W.S := S_in; SW_ChemPot_S.T := T_in; SW_ChemPot_S.S := S_in; SW_Exergy.T := T_in; SW_Exergy.S := S_in; 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 # , 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 PRESET #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 ################################################################################