Source code for RCAIDE.Library.Attributes.Cryogens.Liquid_Hydrogen
# RCAIDE/Library/Attributes/Cryogens/Liquid_Hydrogen.py
#
#
# Created: Mar 2024, M. Clarke
# ----------------------------------------------------------------------------------------------------------------------
# Imports
# ----------------------------------------------------------------------------------------------------------------------
from .Cryogen import Cryogen
# ----------------------------------------------------------------------------------------------------------------------
# Liquid Hydrogen Cryogen
# ----------------------------------------------------------------------------------------------------------------------
[docs]
class Liquid_Hydrogen(Cryogen):
"""
A class representing liquid hydrogen cryogenic fuel and its thermodynamic properties.
Attributes
----------
tag : str
Identifier for the cryogen type ('Liquid_Hydrogen')
density : float
Density of liquid hydrogen in kg/m³
specific_energy : float
Specific energy content in J/kg
energy_density : float
Energy density in J/m³
temperatures : Container
Temperature thresholds for the cryogen
- freeze : float
Freezing point temperature in Kelvin
- boiling : float
Boiling point temperature in Kelvin
vaporization_enthalpy : float
Enthalpy of vaporization in kJ/kg
specific_heat : float
Specific heat capacity in kJ/kg·K
liquid_cp_coefficients : Data
Coefficients for liquid specific heat capacity polynomial
- LCP_C0 : float
Constant term coefficient
- LCP_C1 : float
Linear term coefficient
- LCP_C2 : float
Quadratic term coefficient
- LCP_C3 : float
Cubic term coefficient
- LCP_minT : float
Minimum valid temperature in Kelvin
- LCP_maxT : float
Maximum valid temperature in Kelvin
gas_cp_coefficients : Data
Coefficients for gas specific heat capacity polynomial
- GCP_C0 : float
Constant term coefficient
- GCP_C1 : float
Linear term coefficient
- GCP_C2 : float
Quadratic term coefficient
- GCP_C3 : float
Cubic term coefficient
- GCP_minT : float
Minimum valid temperature in Kelvin
- GCP_maxT : float
Maximum valid temperature in Kelvin
antoine_coefficients : Data
Antoine equation coefficients for vapor pressure calculation
- antoine_A : float
A coefficient
- antoine_B : float
B coefficient
- antoine_C : float
C coefficient
- antoine_minT : float
Minimum valid temperature in Kelvin
- antoine_maxT : float
Maximum valid temperature in Kelvin
vaporization_coefficients : Data
Coefficients for vaporization enthalpy polynomial
- H_C0 : float
Constant term coefficient
- H_C1 : float
Linear term coefficient
- H_C2 : float
Quadratic term coefficient
- H_C3 : float
Cubic term coefficient
- H_minP : float
Minimum valid pressure in Pascal
- H_maxP : float
Maximum valid pressure in Pascal
Notes
-----
The class implements various thermodynamic properties using polynomial fits and the Antoine equation.
Specific heat capacity calculations are provided for both liquid and gas phases.
Valid temperature and pressure ranges are specified for each correlation.
**Definitions**
'Antoine Equation'
An equation relating vapor pressure to temperature: log10(P) = A - (B/(T+C))
'Specific Heat Capacity'
The amount of heat required to raise the temperature of 1 kg of the substance by 1 Kelvin
References
----------
[1] Ekin, J. (2006). Experimental techniques for low-temperature measurements: Cryostat design, material properties and superconductor critical-current testing. Oxford University Press.
[2] National Institute of Standards and Technology. (2023). NIST Chemistry Webbook, SRD 69. Thermophysical Properties of Fluid Systems. https://webbook.nist.gov/chemistry/fluid/
"""
def __defaults__(self):
"""This sets the default values.
Assumptions:
None
Source:
Ekin - Experimental Techniques for Low Temperature Measurements, ISBN 0-19-857054-6
NIST Chemistry Webbook
"""
self.tag = 'Liquid_Hydrogen'
self.density = 59.9 # [kg/m^3]
self.specific_energy = 141.86e6 # [J/kg]
self.energy_density = 8491.0e6 # [J/m^3]
self.temperatures.freeze = 13.99 # [K]
self.temperatures.boiling = 20.271 # [K]
self.vaporization_enthalpy = 461. # [kJ/kg]
self.specific_heat = 10.67 # [kJ/kgK]
# Coefficiencts for polynomial fit of Liquid Specific Heat Capacity (C_P) curve.
# C_P = CP_C3*T^3 + CP_C2*T^2 + CP_C1*T^1 + CP_C0*T^0 where C_P is Specific Heat Capacity (J/gK) T is temperature (kelvin).
# Data from NIST Chemistry Webbook. Pressure is 1.295MPa.
self.LCP_C0 = -31.2
self.LCP_C1 = 5.56
self.LCP_C2 = -0.272
self.LCP_C3 = 4.76E-03
# Range for which this polynomial fit holds
self.LCP_minT = 15.0 # [K]
self.LCP_maxT = 30.0 # [K]
# Coefficiencts for polynomial fit of Gas Specific Heat Capacity (C_P) curve.
# C_P = CP_C3*T^3 + CP_C2*T^2 + CP_C1*T^1 + CP_C0*T^0 where C_P is Specific Heat Capacity (J/gK) T is temperature (kelvin).
# Data from NIST Chemistry Webbook. Pressure is 0.01 MPa
self.GCP_C0 = 10.3
self.GCP_C1 = -7.39E-03
self.GCP_C2 = 0.221E-03
self.GCP_C3 = -0.516E-06
# Range for which this polynomial fit holds
self.GCP_minT = 20.0 # [K]
self.GCP_maxT = 300.0 # [K]
# Antoine Equation Coefficients for calculatating the evaporation temperature.
# log10(P) = A - (B/(T+C)) where P is vapour pressure (Pa) and T temperature (kelvin).
# Data from NIST Chemistry Webbook, coefficients converted so as to use pressure in Pa.
self.antoine_A = 8.54314
self.antoine_B = 99.395
self.antoine_C = 7.726
# Range for which Antoine Equation is referenced
self.antoine_minT = 21.01 # [K]
self.antoine_maxT = 32.27 # [K]
# Coefficiencts for polynomial fit of vapourisation enthalpy
# ΔH = H_C3*P^3 + H_C2*P^2 + H_C1*P^1 + H_C0*P^0 where ΔH is vapourisation enthalpy (kJ/kg), P is pressure (Pa).
self.H_C0 = 464.
self.H_C1 = -0.000176
self.H_C2 = 52.3E-12
self.H_C3 = -100.00E-18
# Range for which this polynomial fit holds
self.H_minP = 0.02E6 # [Pa]
self.H_maxP = 1.20E6 # [Pa]