### Added max(S,0)^1/2 to nleos and compiled all other eos. They should work?

parent 8bea91bf
 #include "../Science.hpp" #include "math.h" #include "../Par_util.hpp" #include "stdio.h" #include "../Split_reader.hpp" #include "../T_util.hpp" #include "../Parformer.hpp" #include "../Sorter.hpp" #include using blitz::Array; using blitz::cos; using namespace TArrayn; using namespace NSIntegrator; using namespace Transformer; void nleos(TArrayn::DTArray & rho, TArrayn::DTArray & T, TArrayn::DTArray & S) { // Returns the density (kg/m^3) // MacDougall et. al. 2003 (JAOT 20) // // This EOS is a rational function taken at pressure = 0 // // First find any regions of negative salinity and set them to zero for this operation. //Numerator const double N0 = 9.99843699e+02; const double N1 = 7.35212840e+00; const double N2 = -5.45928211e-02; const double N3 = 3.98476704e-04; const double N4 = 2.96938239e+00; const double N5 = -7.23268813e-03; const double N6 = 2.12382341e-03; const double N7 = 1.04004591e-02; const double N8 = 1.03970529e-07; const double N9 = 5.18761880e-06; const double N10 = -3.24041825e-08; const double N11 = -1.23869360e-11; const int p = 0; //Someday we could include pressure effects, and whoever wanted to do that would change p to an input variable from the model rho = N0 + T*(N1 + T*(N2 + N3*T)) + S*(N4 + N5*T + N6*S) + p*(N7 + N8*T*T + N9*S + p*(N10 + N11*T*T)); // Constants for denominator const double D0 = 1.00000000e+00; const double D1 = 7.28606739e-03; const double D2 = -4.60835542e-05; const double D3 = 3.68390573e-07; const double D4 = 1.80809186e-10; const double D5 = 2.14691708e-03; const double D6 = -9.27062484e-06; const double D7 = -1.78343643e-10; const double D8 = 4.76534122e-06; const double D9 = 1.63410736e-09; const double D10 = 5.30848875e-06; const double D11 = -3.03175128e-16; const double D12 = -1.27934137e-17; rho = rho/(D0 + T*(D1 + T*(D2 + T*(D3 + D4*T))) + S*(D5 + T*(D6 + D7*T*T) + sqrt(max(S,0))*(D8 + D9*T*T)) + p*(D10 + p*T*(D11*T*T + D12*p))); }
 #include "../Science.hpp" #include "math.h" #include "../Par_util.hpp" #include "stdio.h" #include "../Split_reader.hpp" #include "../T_util.hpp" #include "../Parformer.hpp" #include "../Sorter.hpp" #include using blitz::Array; using blitz::cos; using namespace TArrayn; using namespace NSIntegrator; using namespace Transformer; void quadeos(TArrayn::DTArray & rho, TArrayn::DTArray & T) { // Returns the density (kg/m^3) for water using simple quadratic fit to // MacDougall et. al. 2003 (JAOT 20) // Constants are determined via a quadratic fit preserving the Temperature of maximum density const double rho_max = 9.999744074665388e+02; // Density of freshwater at Tmd (deg C) //0 pressure relative to sea surface pressure. const double Tmd = 3.973973973973974; // Temperature of maximum density for freshwater at the surface const double C = -0.007641729398834; // Fitting Constant rho = rho_max + C*(T - Tmd)*(T - Tmd); }
This diff is collapsed.
 ## Salt-temperature configuration file # Spatial Parameters Lx = 1.0 Ly = 1.0 Lz = 0.1 Nx = 1024 Ny = 1 Nz = 128 min_x = 0 min_y = 0 min_z = 0 # Expansion types type_x = FREE_SLIP type_y = FREE_SLIP type_z = FREE_SLIP mapped_grid = false # Physical Parameters g = 9.81 rot_f = 0.0e-3 rho_0 = 1000.0 visco = 2e-6 kappa_T = 2e-6 kappa_S = 1e-7 # Problem Parameters (delta_rho is percentage) delta_T = 25.0 delta_S = 5.0 T_0 = 15.0 S_0 = 0.0 delta_x = 0.02 Lmix = 0.1 # Problem topography parameters hill_height = 0.1 hill_centre = 0.5 hill_width = 0.05 # Temporal Parameters final_time = 100 plot_interval = 1 #dt_max = 0.0 # Restart Options restart = false restart_time = 0.0 restart_sequence = 0 restart_from_dump = false compute_time = -1 # Perturbation Parameter perturb = 1e-3 # Filter Parameters f_cutoff = 0.6 f_order = 2.0 f_strength = 20.0 # secondary diagnostics #compute_enstrophy = true #compute_dissipation = true compute_BPE = false compute_internal_to_BPE = false #compute_stresses_top = false #compute_stresses_bottom = false
This diff is collapsed.
 ## Salt-temperature configuration file # Spatial Parameters Lx = 1.0 Ly = 1.0 Lz = 0.1 Nx = 1024 Ny = 1 Nz = 128 min_x = 0 min_y = 0 min_z = 0 # Expansion types type_x = FREE_SLIP type_y = FREE_SLIP type_z = FREE_SLIP mapped_grid = false # Physical Parameters g = 9.81 rot_f = 0.0e-3 rho_0 = 1000.0 visco = 2e-6 kappa_T = 2e-6 kappa_S = 1e-7 # Problem Parameters (delta_rho is percentage) delta_T = 25.0 delta_S = 5.0 T_0 = 15.0 S_0 = 0.0 delta_x = 0.02 Lmix = 0.1 # Problem topography parameters hill_height = 0.1 hill_centre = 0.5 hill_width = 0.05 # Temporal Parameters final_time = 100 plot_interval = 1 #dt_max = 0.0 # Restart Options restart = false restart_time = 0.0 restart_sequence = 0 restart_from_dump = false compute_time = -1 # Perturbation Parameter perturb = 1e-3 # Filter Parameters f_cutoff = 0.6 f_order = 2.0 f_strength = 20.0 # secondary diagnostics #compute_enstrophy = true #compute_dissipation = true compute_BPE = false compute_internal_to_BPE = false #compute_stresses_top = false #compute_stresses_bottom = false
This diff is collapsed.
This diff is collapsed.
 ## Salt-temperature configuration file # Spatial Parameters Lx = 1.0 Ly = 1.0 Lz = 0.1 Nx = 1024 Ny = 1 Nz = 128 min_x = 0 min_y = 0 min_z = 0 # Expansion types type_x = FREE_SLIP type_y = FREE_SLIP type_z = FREE_SLIP mapped_grid = false # Physical Parameters g = 9.81 rot_f = 0.0e-3 rho_0 = 1000.0 visco = 2e-6 kappa_T = 2e-6 kappa_S = 1e-7 # Problem Parameters (delta_rho is percentage) delta_T = 25.0 delta_S = 5.0 T_0 = 15.0 S_0 = 0.0 delta_x = 0.02 Lmix = 0.1 # Problem topography parameters hill_height = 0.1 hill_centre = 0.5 hill_width = 0.05 # Temporal Parameters final_time = 100 plot_interval = 1 #dt_max = 0.0 # Restart Options restart = false restart_time = 0.0 restart_sequence = 0 restart_from_dump = false compute_time = -1 # Perturbation Parameter perturb = 1e-3 # Filter Parameters f_cutoff = 0.6 f_order = 2.0 f_strength = 20.0 # secondary diagnostics #compute_enstrophy = true #compute_dissipation = true compute_BPE = false compute_internal_to_BPE = false #compute_stresses_top = false #compute_stresses_bottom = false
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment