SodiumProperties Class Reference

Properties of liquid sodium from ANL/RE-95/2 report "Thermodynamic and Transport Properties of Sodium Liquid and Vapor" from ANL Reactor Engineering Division. More...

#include <SodiumProperties.h>

Inheritance diagram for SodiumProperties:
[legend]

## Public Member Functions

SodiumProperties (const InputParameters &parameters)

Real k (Real temperature) const
Thermal conductivity as a function of temperature. More...

Real h (Real temperature) const
Enthalpy of liquid Na (relative to solid Na at STP) in J/kg as a function of temperature. More...

Real heatCapacity (Real temperature) const
Heat capacity of liquid Na in J/kg-K as a function of temperature. More...

Real temperature (Real enthalpy) const
Inverse solve for temperature [K] from enthalpy [J/kg]. More...

Real rho (Real temperature) const
Density as a function of temperature. More...

Real drho_dT (Real temperature) const
Derivative of density w.r.t temperature. More...

Real drho_dh (Real enthalpy) const
Derivative of density w.r.t enthalpy. More...

virtual void execute () final

virtual void initialize () final

virtual void finalize () final

virtual void threadJoin (const UserObject &) final

virtual void subdomainSetup () final

## Detailed Description

Properties of liquid sodium from ANL/RE-95/2 report "Thermodynamic and Transport Properties of Sodium Liquid and Vapor" from ANL Reactor Engineering Division.

Definition at line 25 of file SodiumProperties.h.

## ◆ SodiumProperties()

 SodiumProperties::SodiumProperties ( const InputParameters & parameters )

Definition at line 24 of file SodiumProperties.C.

24  : FluidProperties(parameters)
25 {
26 }
FluidProperties(const InputParameters &parameters)

## ◆ drho_dh()

 Real SodiumProperties::drho_dh ( Real enthalpy ) const

Derivative of density w.r.t enthalpy.

Parameters
 h enthalpy

Definition at line 99 of file SodiumProperties.C.

100 {
101  Real T = 0.0;
102  T = temperature(h);
103  return drho_dT(T) / heatCapacity(T);
104 }
Real heatCapacity(Real temperature) const
Heat capacity of liquid Na in J/kg-K as a function of temperature.
Real drho_dT(Real temperature) const
Derivative of density w.r.t temperature.
Real temperature(Real enthalpy) const
Inverse solve for temperature [K] from enthalpy [J/kg].
Real h(Real temperature) const
Enthalpy of liquid Na (relative to solid Na at STP) in J/kg as a function of temperature.

## ◆ drho_dT()

 Real SodiumProperties::drho_dT ( Real temperature ) const

Derivative of density w.r.t temperature.

Parameters
 T temperature

Definition at line 88 of file SodiumProperties.C.

Referenced by drho_dh().

89 {
90  const Real f = 275.32;
91  const Real g = 511.58;
92  const Real Tc = 2503.7; // critical temperature, K
93  mooseAssert(T < Tc, "Temperature is greater than critical temperature 2503.7 K ");
94
95  return -(f + g * (0.5) / std::sqrt(1 - T / Tc)) / Tc;
96 }

## ◆ execute()

 virtual void FluidProperties::execute ( )
inlinefinalvirtualinherited

Definition at line 27 of file FluidProperties.h.

27 {}

## ◆ finalize()

 virtual void FluidProperties::finalize ( )
inlinefinalvirtualinherited

Definition at line 29 of file FluidProperties.h.

29 {}

## ◆ h()

 Real SodiumProperties::h ( Real temperature ) const

Enthalpy of liquid Na (relative to solid Na at STP) in J/kg as a function of temperature.

Parameters
 T temperature From page 4. Valid from 371 to 2000 K, and relative to enthalpy of solid Na at 298.15.

Definition at line 37 of file SodiumProperties.C.

Referenced by drho_dh(), and temperature().

38 {
39  const Real T2 = T * T;
40  const Real T3 = T2 * T;
41
42  // Converted from kJ/kg to J/kg.
43  return -365.77e3 + 1.6582e3 * T - 4.2395e-1 * T2 + 1.4847e-4 * T3 + 2992.6e3 / T;
44 }

## ◆ heatCapacity()

 Real SodiumProperties::heatCapacity ( Real temperature ) const

Heat capacity of liquid Na in J/kg-K as a function of temperature.

Parameters
 T temperature From page 29 (or by differentiating enthalpy). Valid from 371 to 2000 K.

Definition at line 47 of file SodiumProperties.C.

Referenced by drho_dh(), and temperature().

48 {
49  const Real T2 = T * T;
50  // Converted from kJ/kg-K to J/kg-K.
51  return 1.6582e3 - 8.4790e-1 * T + 4.4541e-4 * T2 - 2992.6e3 / T2;
52 }

## ◆ initialize()

 virtual void FluidProperties::initialize ( )
inlinefinalvirtualinherited

Definition at line 28 of file FluidProperties.h.

28 {}

## ◆ k()

 Real SodiumProperties::k ( Real temperature ) const

Thermal conductivity as a function of temperature.

Parameters
 T temperature From page 181. Valid from 371 to 1500 K.

Definition at line 29 of file SodiumProperties.C.

30 {
31  const Real T2 = T * T;
32  const Real T3 = T2 * T;
33  return 124.67 - 0.11381 * T + 5.5226e-5 * T2 - 1.1842e-8 * T3;
34 }

## ◆ rho()

 Real SodiumProperties::rho ( Real temperature ) const

Density as a function of temperature.

Parameters
 T temperature

Definition at line 76 of file SodiumProperties.C.

77 {
78  const Real rhoc = 219.0; // kg/m^3
79  const Real f = 275.32;
80  const Real g = 511.58;
81  const Real Tc = 2503.7; // critical temperature, K
82  mooseAssert(T < Tc, "Temperature is greater than critical temperature 2503.7 K ");
83
84  return rhoc + f * (1 - T / Tc) + g * std::sqrt(1 - T / Tc);
85 }

## ◆ subdomainSetup()

 virtual void FluidProperties::subdomainSetup ( )
inlinefinalvirtualinherited

Definition at line 32 of file FluidProperties.h.

32 {}

## ◆ temperature()

 Real SodiumProperties::temperature ( Real enthalpy ) const

Inverse solve for temperature [K] from enthalpy [J/kg].

Parameters
 h enthalpy

Definition at line 55 of file SodiumProperties.C.

Referenced by drho_dh().

56 {
57  // Estimate initial guess from linear part of enthalpy.
58  Real T = (H + 365.77e3) / 1.6582e3;
59
60  // Newton-Raphson for this equation: enthalpy(T) - H = 0 = residual. This is easy because
61  // dResidual/dT is just dH/dT, which is heat capacity.
62  for (unsigned iteration = 0; iteration < 10; ++iteration)
63  {
64  Real residual = h(T) - H;
65  T -= residual / heatCapacity(T);
66  if (std::abs(residual / H) < 1e-6)
67  break;
68  }
69  // If we get here, enthalpy is probably out of bounds. However, due to the nature of the JFNK
70  // calculation, we probably just want to ignore the error and spit out a bogus T so that the
71  // solver keeps rolling.
72  return T;
73 }
Real heatCapacity(Real temperature) const
Heat capacity of liquid Na in J/kg-K as a function of temperature.
Real h(Real temperature) const
Enthalpy of liquid Na (relative to solid Na at STP) in J/kg as a function of temperature.