From 80ba8189d7a1f64c3f594f7423143d682835627e Mon Sep 17 00:00:00 2001 From: Ann Elisabet Wills - 298385 Date: Wed, 3 Jan 2024 11:24:33 -0700 Subject: [PATCH] Updates to PR#331. --- CHANGELOG.md | 2 ++ doc/sphinx/src/models.rst | 30 +++++++++++++++++++++++++----- singularity-eos/eos/eos.hpp | 2 +- singularity-eos/eos/eos_mgusup.hpp | 2 +- test/test_eos_mgusup.cpp | 2 +- 5 files changed, 30 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f913814169..23369ea421c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Current develop ### Fixed (Repair bugs, etc) +### Added (new features/APIs/variables/...) +- [[PR331]](https://github.com/lanl/singularity-eos/pull/331) Included code and documentation for a full, temperature consistent, Mie-Gruneisen EOS based on a linear Us-up relation. ### Added (new features/APIs/variables/...) - [[PR326]](https://github.com/lanl/singularity-eos/pull/326) Document how to do a release diff --git a/doc/sphinx/src/models.rst b/doc/sphinx/src/models.rst index 3e5819aca3f..15294b25c52 100644 --- a/doc/sphinx/src/models.rst +++ b/doc/sphinx/src/models.rst @@ -580,6 +580,9 @@ Given the inconsisetency in the temperature, we have made the choice **not** to expose the entropy for this EOS. **Requesting an entropy value will result in an error.** +If a linear :math:`U_s`-:math:`u_p` relation is enough for your problem, we recommend using the MGUsup +EOS described below. It is a complete EOS with consistent temperature. + Given a reference density, :math:`\rho_0`, we first parameterize the EOS using :math:`\eta` as a measure of compression given by @@ -780,26 +783,42 @@ heat capacity is assumed so that Note the difference from the Gruneisen EOS described above. We still use a constant :math:`C_V`, and it is usually taken at the reference temperature, but -we now extrapolate from the temperature on the Hugoniot, :math: `T_H(\rho)`, and not +we now extrapolate from the temperature on the Hugoniot, :math:`T_H(\rho)`, and not from the reference temperature, :math:`T_0`. -With this consistent temperature we can derive an entropy in a similar way as for the Vinet EOS, +With this consistent temperature we can derive an entropy in a similar way as for the Vinet EOS. Using +thermodynamic derivatives we can show that + +.. math:: + + \Gamma \rho = \frac{\alpha B_T}{C_V} , + +and we arrive at + .. math:: S(\rho,T) = S_0 - \Gamma(\rho_0)C_V \eta + {C_V} \ln \frac{T}{T_{ref}} , where :math:`\eta` is a measure of compression given by + .. math:: \eta = 1 - \frac{\rho_0}{\rho}. -This is convenient because :math:`eta = 0` when :math:`\rho = \rho_0`, +This is convenient because :math:`\eta = 0` when :math:`\rho = \rho_0`, :math:`\eta = 1` at the infinite density limit, and :math:`\eta = -\infty` at the zero density limit. The pressure, energy, and temperature, on the Hugoniot are derived from the -shock jump conditions assuming a linear :math:`U_s`-:math:`u_p` relation, +shock jump conditions, + +.. math:: + \rho_0 U_s = \rho (U_s - u_p) + P_H = \rho_0 U_s u_p , + +assuming a linear :math:`U_s`-:math:`u_p` relation, + .. math:: U_s = C_s + s u_p . @@ -825,6 +844,7 @@ The energy along the Hugoniot is given by The temperature on the Hugoniot is hard to derive but with the help of Mathematica it is + .. math:: T_H(\rho) = T_0 e^{\Gammma(\rho_0) \eta} + \frac{e^{\Gammma(\rho_0) \eta}}{2 C_V \rho_0} @@ -848,7 +868,7 @@ The constructor for the ``MGUsup`` EOS has the signature where ``rho0`` is :math:`\rho_0`, ``T0`` is :math:`T_0`, ``Cs`` is :math:`C_s`, ``s`` is :math:`s`, -``G0`` is :math:`\Gamma(\rho_0)`, ``Cv0`` is :math:`C_v`, +``G0`` is :math:`\Gamma(\rho_0)`, ``Cv0`` is :math:`C_V`, ``E0`` is :math:`E_0`, and ``S0`` is :math:`S_0`. diff --git a/singularity-eos/eos/eos.hpp b/singularity-eos/eos/eos.hpp index 64d9f14dff3..f5d45382f66 100644 --- a/singularity-eos/eos/eos.hpp +++ b/singularity-eos/eos/eos.hpp @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------ -// © 2021-2023. Triad National Security, LLC. All rights reserved. This +// © 2021-2024. Triad National Security, LLC. All rights reserved. This // program was produced under U.S. Government contract 89233218CNA000001 // for Los Alamos National Laboratory (LANL), which is operated by Triad // National Security, LLC for the U.S. Department of Energy/National diff --git a/singularity-eos/eos/eos_mgusup.hpp b/singularity-eos/eos/eos_mgusup.hpp index d6d056f99ef..b256726ede8 100644 --- a/singularity-eos/eos/eos_mgusup.hpp +++ b/singularity-eos/eos/eos_mgusup.hpp @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------ -// © 2021-2023. Triad National Security, LLC. All rights reserved. This +// © 2021-2024. Triad National Security, LLC. All rights reserved. This // program was produced under U.S. Government contract 89233218CNA000001 // for Los Alamos National Laboratory (LANL), which is operated by Triad // National Security, LLC for the U.S. Department of Energy/National diff --git a/test/test_eos_mgusup.cpp b/test/test_eos_mgusup.cpp index 273197c6689..380bc5da30e 100644 --- a/test/test_eos_mgusup.cpp +++ b/test/test_eos_mgusup.cpp @@ -1,5 +1,5 @@ //------------------------------------------------------------------------------ -// © 2021-2023. Triad National Security, LLC. All rights reserved. This +// © 2021-2024. Triad National Security, LLC. All rights reserved. This // program was produced under U.S. Government contract 89233218CNA000001 // for Los Alamos National Laboratory (LANL), which is operated by Triad // National Security, LLC for the U.S. Department of Energy/National