@@ -386,22 +386,42 @@ module m_derived_types
386386 !> Derived type annexing the physical parameters (PP) of the fluids. These include the specific heat ratio function and liquid
387387 !! stiffness function.
388388 type physical_parameters
389- real(wp) :: gamma !< Sp. heat ratio
390- real(wp) :: pi_inf !< Liquid stiffness
391- real(wp), dimension(2) :: Re !< Reynolds number
392- real(wp) :: cv !< heat capacity
393- real(wp) :: qv !< reference energy per unit mass for SGEOS, q (see Le Metayer (2004))
394- real(wp) :: qvp !< reference entropy per unit mass for SGEOS, q' (see Le Metayer (2004 ))
389+ real(wp) :: gamma !< Sp. heat ratio
390+ real(wp) :: pi_inf !< Liquid stiffness
391+ real(wp), dimension(2) :: Re !< Reynolds number
392+ real(wp) :: cv !< heat capacity
393+ real(wp) :: qv !< reference energy per unit mass for SGEOS, q (see Le Metayer (2004))
394+ real(wp) :: qvp !< reference entropy per unit mass for SGEOS, q' (see Le Metayer (2004 ))
395395 real (wp) :: G
396- integer :: eos !< Equation of state selector (eos_* in m_constants)
397- logical :: non_newtonian !< Enable Herschel- Bulkley non- Newtonian viscosity
398- real (wp) :: K !< HB consistency index
399- real (wp) :: nn !< HB flow behavior index
400- real (wp) :: tau0 !< HB yield stress (0 = > power- law)
401- real (wp) :: hb_m !< Papanastasiou regularization parameter
402- real (wp) :: mu_min !< Lower viscosity clamp (inactive sentinel = dflt_real)
403- real (wp) :: mu_max !< Upper viscosity clamp (required when non_newtonian)
404- real (wp) :: mu_bulk !< Bulk viscosity for NN (inactive sentinel = dflt_real)
396+ integer :: eos !< Equation of state selector (eos_* in m_constants)
397+ real (wp) :: mg_rho0 !< Mie- Gruneisen reference density
398+ real (wp) :: mg_c0 !< Mie- Gruneisen bulk sound speed at mg_rho0
399+ real (wp) :: mg_s !< Mie- Gruneisen linear Hugoniot slope, u_s = c0 + s u_p
400+ real (wp) :: mg_gruneisen !< Gruneisen coefficient Gamma_G (not the shear modulus G)
401+ real (wp) :: mg_gruneisen_a !< d(Gamma_G)/ d(mu): Gamma_G = Gamma_0 + a mu, zero keeps it constant
402+ real (wp) :: mg_t0 !< temperature at the reference density (for T output)
403+ real (wp) :: mg_s2, mg_s3 !< u_s = c0 + s u_p + s2 u_p^2 + s3 u_p^3 ; zero keeps the fit linear
404+ real (wp) :: jwl_a !< JWL A
405+ real (wp) :: jwl_b !< JWL B
406+ real (wp) :: jwl_r1 !< JWL R1
407+ real (wp) :: jwl_r2 !< JWL R2
408+ real (wp) :: jwl_omega !< JWL omega (its Gruneisen coefficient)
409+ real (wp) :: jwl_rho0 !< JWL reference density
410+ real (wp) :: jwl_t0 !< temperature at the reference density (for T output)
411+ real (wp) :: vinet_k0 !< Vinet bulk modulus at rho0
412+ real (wp) :: vinet_k0p !< Vinet pressure derivative of the bulk modulus
413+ real (wp) :: vinet_rho0 !< Vinet reference density
414+ real (wp) :: vinet_gruneisen !< Gruneisen coefficient at rho0
415+ real (wp) :: vinet_gruneisen_a !< d(Gamma_G)/ d(mu)
416+ real (wp) :: vinet_t0 !< temperature at the reference density (for T output)
417+ logical :: non_newtonian !< Enable Herschel- Bulkley non- Newtonian viscosity
418+ real (wp) :: K !< HB consistency index
419+ real (wp) :: nn !< HB flow behavior index
420+ real (wp) :: tau0 !< HB yield stress (0 = > power- law)
421+ real (wp) :: hb_m !< Papanastasiou regularization parameter
422+ real (wp) :: mu_min !< Lower viscosity clamp (inactive sentinel = dflt_real)
423+ real (wp) :: mu_max !< Upper viscosity clamp (required when non_newtonian)
424+ real (wp) :: mu_bulk !< Bulk viscosity for NN (inactive sentinel = dflt_real)
405425 end type physical_parameters
406426
407427 !> Derived type annexing the physical parameters required for sub- grid bubble models
@@ -534,6 +554,18 @@ module m_derived_types
534554 integer :: substeps !< Operator-split sub-steps per time step (0 = source added to the flow RHS)
535555 end type reactive_burn_parameters
536556
557+ !> Coefficients of one fluid' s equation of state, resolved once at init. Held as a record per fluid rather than as parallel
558+ !! arrays: every read wants several of these for a single fluid, so one base address serves them all, where fifteen arrays cost
559+ !! fifteen live descriptors in the Riemann kernels.
560+ type eos_coefficients
561+ real (wp) :: rho0, t0 !< Reference density [kg/ m^3 ] and temperature [K]
562+ real (wp) :: gruneisen0, gruneisen_a !< Gruneisen closure Gamma_G = Gamma_0 + a mu
563+ real (wp) :: c0, s, s2, s3 !< Mie- Gruneisen Hugoniot u_s = c0 + s u_p + s2 u_p^2 + s3 u_p^3
564+ real (wp) :: mu_max !< Compression at which a cubic Hugoniot fit turns over
565+ real (wp) :: a, b, r1, r2 !< JWL principal isentrope p = A exp (- R1 V) + B exp (- R2 V)
566+ real (wp) :: k0, k0p !< Vinet bulk modulus and its pressure derivative
567+ end type eos_coefficients
568+
537569 !> Lagrangian bubble parameters
538570 type bubbles_lagrange_parameters
539571
0 commit comments