spx_eos Module

气体状态方程


Uses


Contents


Variables

Type Visibility Attributes Name Initial
real(kind=rk), private, parameter :: rho0 = 1000.0_rk
integer, private, parameter :: gamma = 7
real(kind=rk), public :: B
type(eos_water), public :: eow_obj

水的状态方程


Abstract Interfaces

abstract interface

  • private pure subroutine p_water_fcn(rho, p, c)

    EoS for water
    水的状态方程

    Arguments

    Type IntentOptional Attributes Name
    real(kind=rk), intent(in) :: rho

    density
    密度

    real(kind=rk), intent(out) :: p

    pressure
    压力

    real(kind=rk), intent(out) :: c

    sound speed
    声速


Derived Types

type, private ::  eos_water

液体状态方程

Components

Type Visibility Attributes Name Initial
procedure(p_water_fcn), public, pointer, nopass :: p_water

Type-Bound Procedures

procedure , public , :: init Subroutine

Subroutines

private subroutine init(self)

初始化

Arguments

Type IntentOptional Attributes Name
class(eos_water), intent(inout) :: self

public pure subroutine p_ideal_gas(rho, u, p, c)

应用状态方程通过密度和能量计算理想气体压力和声速

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

密度

real(kind=rk), intent(in) :: u

内部能量

real(kind=rk), intent(out) :: p

压力

real(kind=rk), intent(out) :: c

声速

public pure subroutine p_water_tait(rho, p, c)

Suitable for free surface flow
Tait simplified equation of state, 适用于自由面流动
孙鹏楠, 2018, 博士毕业论文, equ(2-12)

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density
密度

real(kind=rk), intent(out) :: p

pressure
压力

real(kind=rk), intent(out) :: c

sound speed
声速

public pure subroutine p_water_morris(rho, p, c)

Not suitable for free surface flow
不适用于自由面流动

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density
密度

real(kind=rk), intent(out) :: p

pressure
压力

real(kind=rk), intent(out) :: c

sound speed
声速

public pure subroutine p_water_monaghan(rho, p, c)

Suitable for free surface flow
自由面流动

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: rho

density
密度

real(kind=rk), intent(out) :: p

pressure
压力

real(kind=rk), intent(out) :: c

sound speed
声速

private pure subroutine get_sound_speed(h, c, d)

Calculate sound speed
计算声速

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: h

specific enthalpy
特定热量

real(kind=rk), intent(out) :: c
real(kind=rk), intent(out) :: d