public subroutine volume(eos, n, P, T, V, root_type)
proc~~volume~~UsesGraph
proc~volume
Gerg2008%volume
module~yaeos__constants
yaeos__constants
proc~volume->module~yaeos__constants
module~yaeos__math
yaeos__math
proc~volume->module~yaeos__math
iso_fortran_env
iso_fortran_env
module~yaeos__constants->iso_fortran_env
module~yaeos__math->module~yaeos__constants
module~yaeos__math_continuation
yaeos__math_continuation
module~yaeos__math->module~yaeos__math_continuation
module~yaeos__math_linalg
yaeos__math_linalg
module~yaeos__math->module~yaeos__math_linalg
module~yaeos__math_continuation->module~yaeos__constants
module~yaeos__math_continuation->module~yaeos__math_linalg
module~yaeos__math_linalg->module~yaeos__constants
Nodes of different colours represent the following:
Graph Key
Module
Module
Submodule
Submodule
Subroutine
Subroutine
Function
Function
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
Volume solver routine for the GERG2008.
Solves volume roots using newton method. Given pressure and
temperature. It will use the SRK equation of state to initialize the
volume values.
Description
This subroutine solves the volume using a newton method. The variable
root_type is used to specify the desired root to solve. The options
are: ["liquid", "vapor", "stable"]
Examples
eos = PengRobinson76 ( Tc , Pc , w )
n = [ 1.0_pr , 1.0_pr ]
T = 30 0.0_pr
P = 1.0_pr
call eos % volume ( n , P , T , V , root_type = "liquid" )
call eos % volume ( n , P , T , V , root_type = "vapor" )
call eos % volume ( n , P , T , V , root_type = "stable" )
Type Bound
Gerg2008
Arguments
Type
Intent Optional Attributes
Name
class(Gerg2008 ),
intent(in)
::
eos
Model
real(kind=pr),
intent(in)
::
n (:)
Moles number vector
real(kind=pr),
intent(in)
::
P
Pressure [bar]
real(kind=pr),
intent(in)
::
T
Temperature [K]
real(kind=pr),
intent(out)
::
V
Volume [L]
character(len=*),
intent(in)
::
root_type
Desired root-type to solve. Options are:
["liquid", "vapor", "stable"]
proc~~volume~~CallsGraph
proc~volume
Gerg2008%volume
interface~newton
newton
proc~volume->interface~newton
proc~volume~2
CubicEoS%volume
proc~volume->proc~volume~2
proc~newton_1d
newton_1d
interface~newton->proc~newton_1d
Bmix
Bmix
proc~volume~2->Bmix
D1mix
D1mix
proc~volume~2->D1mix
Dmix
Dmix
proc~volume~2->Dmix
alpha
alpha
proc~volume~2->alpha
proc~genericcubic_ar
CubicEoS%GenericCubic_Ar
proc~volume~2->proc~genericcubic_ar
proc~volume_michelsen
volume_michelsen
proc~volume~2->proc~volume_michelsen
proc~genericcubic_ar->Bmix
proc~genericcubic_ar->D1mix
proc~genericcubic_ar->Dmix
proc~genericcubic_ar->alpha
get_v0
get_v0
proc~volume_michelsen->get_v0
interface~optval
optval
proc~volume_michelsen->interface~optval
proc~solve_point~3
solve_point
proc~volume_michelsen->proc~solve_point~3
proc~optval_character
optval_character
interface~optval->proc~optval_character
proc~optval_integer
optval_integer
interface~optval->proc~optval_integer
proc~optval_real
optval_real
interface~optval->proc~optval_real
proc~solve_point~3->get_v0
residual_helmholtz
residual_helmholtz
proc~solve_point~3->residual_helmholtz
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Variables
Type
Visibility Attributes
Name
Initial
real(kind=pr),
public
::
Gr
real(kind=pr),
public
::
GrL
real(kind=pr),
public
::
GrV
real(kind=pr),
public
::
Vliq
real(kind=pr),
public
::
Vvap
logical,
public
::
failed
integer,
public
::
max_iters
=
30
real(kind=pr),
public
::
tol
=
1e-8
real(kind=pr),
public
::
totnRT
Subroutines
Arguments
Type
Intent Optional Attributes
Name
real(kind=pr),
intent(in)
::
x
real(kind=pr),
intent(out)
::
f
real(kind=pr),
intent(out)
::
df