yaeos__models_ar_gerg2008 Module

Ideal gas constants used on yaeos



Variables

Type Visibility Attributes Name Initial
type(GERG2008Selector), public :: G2008Components

Derived Types

type, public, extends(ArModelAdiff) ::  Gerg2008

Components

Type Visibility Attributes Name Initial
type(Gerg2008Binary), public, allocatable :: binaries(:,:)
type(Substances), public :: components

Substances contained in the module

character(len=:), public, allocatable :: name

Name of the model

type(Gerg2008Pure), public, allocatable :: pures(:)
type(CubicEoS), public :: srk

Type-Bound Procedures

procedure, public :: Cp_residual_vt
procedure, public :: Cv_residual_vt
procedure, public :: Psat_pure
procedure, public :: ar => arfun
procedure, public :: enthalpy_residual_vt
procedure, public :: entropy_residual_vt
procedure, public :: get_v0 => volume_initalizer
procedure, public :: gibbs_residual_vt => gibbs_residual_VT
procedure, public :: lnfug_vt
procedure, public :: lnphi_pt
procedure, public :: lnphi_vt
procedure, public :: pressure
procedure, public :: residual_helmholtz
procedure, public :: volume

type, private ::  GERG2008Selector

Components

Type Visibility Attributes Name Initial
integer, public :: argon = 21
integer, public :: carbon_dioxide = 3
integer, public :: carbon_monoxide = 17
integer, public :: decane = 14
integer, public :: ethane = 4
integer, public :: helium = 20
integer, public :: hydrogen = 15
integer, public :: hydrogen_sulfide = 19
integer, public :: isobutane = 7
integer, public :: isopentane = 9
integer, public :: methane = 1
integer, public :: nbutane = 6
integer, public :: nheptane = 11
integer, public :: nhexane = 10
integer, public :: nitrogen = 2
integer, public :: noctane = 12
integer, public :: nonane = 13
integer, public :: npentane = 8
integer, public :: oxygen = 16
integer, public :: propane = 5
integer, public :: water = 18

Functions

public function arfun(self, n, v, t) result(arval)

Arguments

Type IntentOptional Attributes Name
class(Gerg2008) :: self
type(hyperdual), intent(in) :: n(:)
type(hyperdual), intent(in) :: v
type(hyperdual), intent(in) :: t

Return Value type(hyperdual)

public function gerg_2008(ids)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ids(:)

Return Value type(Gerg2008)

public function volume_initalizer(self, n, p, t) result(v0)

Arguments

Type IntentOptional Attributes Name
class(Gerg2008), intent(in) :: self
real(kind=pr), intent(in) :: n(:)
real(kind=pr), intent(in) :: p
real(kind=pr), intent(in) :: t

Return Value real(kind=pr)


Subroutines

public subroutine ar_ij(delta, tau, binary, aij)

Arguments

Type IntentOptional Attributes Name
type(hyperdual), intent(in) :: delta
type(hyperdual), intent(in) :: tau
type(Gerg2008Binary), intent(in) :: binary
type(hyperdual), intent(out) :: aij

public subroutine ar_pure(pure, delta, tau, ar)

Arguments

Type IntentOptional Attributes Name
type(Gerg2008Pure), intent(in) :: pure
type(hyperdual), intent(in) :: delta
type(hyperdual), intent(in) :: tau
type(hyperdual), intent(out) :: ar

public subroutine reducing_functions(self, n, Vr, Tr)

Arguments

Type IntentOptional Attributes Name
class(Gerg2008), intent(in) :: self
type(hyperdual), intent(in) :: n(:)
type(hyperdual), intent(out) :: Vr
type(hyperdual), intent(out) :: Tr