thermo Module

The module implements generic thermodynamic functions for the Turana code.


Uses


Derived Types

type, public ::  thermo_t

Abstract type for thermodynamic models.

Type-Bound Procedures

procedure(thermo_f), public, deferred :: density_hp

Density as a function of enthalpy and pressure

procedure(thermo_f), public, deferred :: density_pT

Density as a function of pressure and temperature

procedure(thermo_f), public, deferred :: density_ps

Density as a function of pressure and entropy

procedure(thermo_f), public, deferred :: enthalpy_pT

Enthalpy as a function of pressure and temperature

procedure(thermo_f), public, deferred :: enthalpy_ps

Enthalpy as a function of pressure and entropy

procedure(thermo_f), public, deferred :: entropy_hp

Entropy as a function of enthalpy and pressure

procedure(thermo_f), public, deferred :: entropy_pT

Entropy as a function of pressure and temperature

procedure(thermo_f), public, deferred :: prandtl_pT

Prandtl number as a function of pressure and temperature

procedure(thermo_f), public, deferred :: pressure_hs

Pressure as a function of enthalpy and entropy

procedure(thermo_f), public, deferred :: sound_speed_pT

Sound speed as a function of pressure and temperature

procedure(thermo_f), public, deferred :: specific_heat_pressure_pT

Cp as a function of pressure and temperature

procedure(thermo_f), public, deferred :: temperature_hp

Temperature as a function of enthalpy and pressure

procedure(thermo_f), public, deferred :: temperature_ps

Temperature as a function of pressure and entropy

procedure(thermo_f), public, deferred :: viscosity_pT

Viscosity as a function of pressure and temperature


Subroutines

public subroutine create_thermo(th, table)

Create a thermodynamic model from the configuration file.

Arguments

Type IntentOptional Attributes Name
class(thermo_t), allocatable :: th
type(toml_table), intent(inout) :: table