yaeos__tapenade_ar_api Module

Module that wraps tapenade generated routines to calculate ! Ar and derivatives.



Abstract Interfaces

abstract interface

  • private subroutine tapenade_ar(model, n, v, t, arval)

    Arguments

    Type IntentOptional Attributes Name
    class(ArModelTapenade), intent(in) :: model
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr), intent(in) :: v
    real(kind=pr), intent(in) :: t
    real(kind=pr), intent(out) :: arval

abstract interface

  • private subroutine tapenade_ar_b(model, n, nb, v, vb, t, tb, arval, arvalb)

    Arguments

    Type IntentOptional Attributes Name
    class(ArModelTapenade), intent(in) :: model
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr) :: nb(:)
    real(kind=pr), intent(in) :: v
    real(kind=pr) :: vb
    real(kind=pr), intent(in) :: t
    real(kind=pr) :: tb
    real(kind=pr) :: arval
    real(kind=pr) :: arvalb

abstract interface

  • private subroutine tapenade_ar_d(model, n, nd, v, vd, t, td, arval, arvald)

    Arguments

    Type IntentOptional Attributes Name
    class(ArModelTapenade), intent(in) :: model
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr), intent(in) :: nd(:)
    real(kind=pr), intent(in) :: v
    real(kind=pr), intent(in) :: vd
    real(kind=pr), intent(in) :: t
    real(kind=pr), intent(in) :: td
    real(kind=pr), intent(out) :: arval
    real(kind=pr), intent(out) :: arvald

abstract interface

  • private subroutine tapenade_ar_d_b(model, n, nb, nd, ndb, v, vb, vd, vdb, t, tb, td, tdb, arval, arvalb, arvald, arvaldb)

    Arguments

    Type IntentOptional Attributes Name
    class(ArModelTapenade), intent(in) :: model
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr) :: nb(:)
    real(kind=pr), intent(in) :: nd(:)
    real(kind=pr) :: ndb(:)
    real(kind=pr), intent(in) :: v
    real(kind=pr) :: vb
    real(kind=pr), intent(in) :: vd
    real(kind=pr) :: vdb
    real(kind=pr), intent(in) :: t
    real(kind=pr) :: tb
    real(kind=pr), intent(in) :: td
    real(kind=pr) :: tdb
    real(kind=pr) :: arval
    real(kind=pr) :: arvalb
    real(kind=pr) :: arvald
    real(kind=pr) :: arvaldb

abstract interface

  • private subroutine tapenade_ar_d_d(model, n, nd, v, vd0, vd, t, td0, td, arval, arvald0, arvald, arvaldd)

    Arguments

    Type IntentOptional Attributes Name
    class(ArModelTapenade), intent(in) :: model
    real(kind=pr), intent(in) :: n(:)
    real(kind=pr), intent(in) :: nd(:)
    real(kind=pr), intent(in) :: v
    real(kind=pr), intent(in) :: vd0
    real(kind=pr), intent(in) :: vd
    real(kind=pr), intent(in) :: t
    real(kind=pr), intent(in) :: td0
    real(kind=pr), intent(in) :: td
    real(kind=pr), intent(out) :: arval
    real(kind=pr), intent(out) :: arvald0
    real(kind=pr), intent(out) :: arvald
    real(kind=pr), intent(out) :: arvaldd

abstract interface

  • private pure function tapenade_v0(model, n, p, t)

    Arguments

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

    Return Value real(kind=pr)


Derived Types

type, public, abstract, extends(ArModel) ::  ArModelTapenade

Components

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

Substances contained in the module

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

Name of the model

Type-Bound Procedures

procedure, public :: Cp_residual_vt
procedure, public :: Cv_residual_vt
procedure(tapenade_ar), public, deferred :: ar
procedure(tapenade_ar_b), public, deferred :: ar_b
procedure(tapenade_ar_d), public, deferred :: ar_d
procedure(tapenade_ar_d_b), public, deferred :: ar_d_b
procedure(tapenade_ar_d_d), public, deferred :: ar_d_d
procedure, public :: enthalpy_residual_vt
procedure, public :: entropy_residual_vt
procedure, public :: get_v0
procedure, public :: gibbs_residual_vt => gibbs_residual_VT
procedure, public :: lnphi_pt => fugacity_pt
procedure, public :: lnphi_vt => fugacity_vt
procedure, public :: pressure
procedure, public :: residual_helmholtz
procedure(tapenade_v0), public, deferred :: v0
procedure, public :: volume

Functions

private function get_v0(self, n, p, t)

Arguments

Type IntentOptional Attributes Name
class(ArModelTapenade), 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

private subroutine residual_helmholtz(self, n, v, t, Ar, ArV, ArT, ArTV, ArV2, ArT2, Arn, ArVn, ArTn, Arn2)

Residual Helmholtz model generic interface

Arguments

Type IntentOptional Attributes Name
class(ArModelTapenade), intent(in) :: self
real(kind=pr), intent(in) :: n(:)
real(kind=pr), intent(in) :: v
real(kind=pr), intent(in) :: t
real(kind=pr), intent(out), optional :: Ar
real(kind=pr), intent(out), optional :: ArV
real(kind=pr), intent(out), optional :: ArT
real(kind=pr), intent(out), optional :: ArTV
real(kind=pr), intent(out), optional :: ArV2
real(kind=pr), intent(out), optional :: ArT2
real(kind=pr), intent(out), optional, dimension(size(n)) :: Arn
real(kind=pr), intent(out), optional, dimension(size(n)) :: ArVn
real(kind=pr), intent(out), optional, dimension(size(n)) :: ArTn
real(kind=pr), intent(out), optional :: Arn2(size(n),size(n))