#pragma once /** * @file relations.hpp * @author Emily M. Boudreaux * * @brief File containing the thermodynamic relations used in the eos module. These relations are used to compute various thermodynamic quantities from other quantities. */ #include "serif/eos/relations/catalog.hpp" #include "serif/dimensions/dimensions.hpp" namespace serif::eos::relations { using PressureFromDensity = Relation; ///< A relation to compute pressure from density. using DensityFromPressure = Relation; ///< A relation to compute density at a prescribed pressure. /** * @brief Evaluate A(density), whose derivative on the positive barotropic branch is (dP/density)/density. * * An additive constant is arbitrary. A finite surface value is required when a consumer * subtracts A at a prescribed pressure. This mechanical primitive need not be thermodynamic enthalpy. */ using PressurePotentialFromDensity = Relation; using PressureFromSpecificEnthalpy = Relation; ///< A relation to compute pressure from specific enthalpy. using SpecificEnthalpyFromDensity = Relation; ///< A relation to compute specific enthalpy from density. using SpecificEnthalpyFromPressure = Relation; ///< A relation to compute specific enthalpy from pressure. using DensityFromSpecificEnthalpy = Relation; ///< A relation to compute density from specific enthalpy. }