18 const std::string description =
"Molten salt fluid properties using Saline";
23 "To use this object, you need to have the `Saline` library installed. Refer to the " 24 "documentation for guidance on how to enable it. (Original description: " +
28 "The name of the components in the salt");
30 "The mole fraction of each salt component");
33 "Definition of a fluid property file, which must be a file path to the " 34 "comma-separated data matching the Saline format.");
42 const auto & propDef = getParam<std::string>(
"prop_def_file");
44 bool success =
_tp.initialize(&
_d);
46 mooseError(
"The initialization of the Saline interface has failed");
47 const auto &
name = getParam<std::vector<std::string>>(
"comp_name");
48 const auto & comp = getParam<std::vector<Real>>(
"comp_val");
52 for (
const auto val : comp)
55 mooseError(
"Mole fractions of defined salt compound do not sum to 1.0.");
57 success =
_tp.setComposition(
name, comp);
62 mooseError(
"Saline was not made available during the build and cannot be used. Make sure you " 63 "have the 'modules/fluid_properties/contrib/saline' submodule checked out.");
114 Real , Real
temperature, Real & enthalpy, Real & dh_dp, Real & dh_dT)
const 142 return _tp.t_h_kg(enthalpy);
std::string join(Iterator begin, Iterator end, const std::string &delimiter)
virtual Real cp_from_p_T(Real pressure, Real temperature) const override
Isobaric specific heat capacity from pressure and temperature.
bool absoluteFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
saline::Default_Data_Store _d
Saline DataStore object.
virtual Real mu_from_p_T(Real pressure, Real temperature) const override
Dynamic viscosity from pressure and temperature.
static InputParameters validParams()
virtual Real h_from_p_T(Real p, Real T) const override
Specific enthalpy from pressure and temperature.
SalineMoltenSaltFluidProperties(const InputParameters ¶meters)
virtual Real k_from_p_T(Real pressure, Real temperature) const override
Thermal conductivity from pressure and temperature.
virtual Real T_from_p_h(Real p, Real h) const override
Temperature from pressure and specific enthalpy.
const Real _fd_size
The relative finite differencing step size.
static const std::string temperature
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
Density from pressure and temperature.
virtual const std::string & name() const
static const std::string cp
registerMooseObject("FluidPropertiesApp", SalineMoltenSaltFluidProperties)
saline::Thermophysical_Properties _tp
Saline interface to fluid properties.
static const std::string mu
std::string _fluid_name
Name of the fluid.
Common class for single phase fluid properties.
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static constexpr Real Pa_to_kPa
static const std::string pressure
virtual Real e_from_p_T(Real p, Real T) const override
Specific energy from pressure and temperature.
void mooseError(Args &&... args) const
static constexpr Real mN_to_N
static const std::string k
virtual std::string fluidName() const override
Fluid name.