critical_pure_point_solver
Calculation of pure-component critical points
using the yaeos equation of state and numerical derivatives.
Description
The critical point of a pure component is defined by the conditions:
This module solves the resulting nonlinear system in the variables
(V, T) using a Newton-Raphson iteration. Each residual is evaluated
from the equation-of-state pressure and its numerical derivatives.
module~~yaeos__critical_pure_point_solver~~UsesGraph
module~yaeos__critical_pure_point_solver
yaeos__critical_pure_point_solver
module~yaeos__constants
yaeos__constants
module~yaeos__critical_pure_point_solver->module~yaeos__constants
module~yaeos__models_ar
yaeos__models_ar
module~yaeos__critical_pure_point_solver->module~yaeos__models_ar
iso_fortran_env
iso_fortran_env
module~yaeos__constants->iso_fortran_env
module~yaeos__models_ar->module~yaeos__constants
module~yaeos__models_base
yaeos__models_base
module~yaeos__models_ar->module~yaeos__models_base
module~yaeos__substance
yaeos__substance
module~yaeos__models_base->module~yaeos__substance
module~yaeos__substance->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.
module~~yaeos__critical_pure_point_solver~~UsedByGraph
module~yaeos__critical_pure_point_solver
yaeos__critical_pure_point_solver
proc~init_pcsaft
init_pcsaft
proc~init_pcsaft->module~yaeos__critical_pure_point_solver
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.
Variables
Type
Visibility Attributes
Name
Initial
real(kind=pr),
private,
parameter
::
DT_STEP
=
2.0e-2_pr
real(kind=pr),
private,
parameter
::
DV_STEP
=
2.0e-4_pr
integer,
private,
parameter
::
MAX_ITER
=
151
real(kind=pr),
private,
parameter
::
TOL_RES
=
2.0e-8_pr
real(kind=pr),
private,
parameter
::
TOL_STEP
=
2.0e-6_pr
Subroutines
Arguments
Type
Intent Optional Attributes
Name
class(ArModel ),
intent(in)
::
model
integer,
intent(in)
::
nc
real(kind=pr),
intent(out)
::
Vc (nc)
real(kind=pr),
intent(out)
::
Tc (nc)
real(kind=pr),
intent(out)
::
Pc (nc)
logical,
intent(out)
::
converged (nc)
Arguments
Type
Intent Optional Attributes
Name
class(ArModel ),
intent(in)
::
model
integer,
intent(in)
::
i
integer,
intent(in)
::
nc
real(kind=pr),
intent(out)
::
V_est
real(kind=pr),
intent(out)
::
T_est
Arguments
Type
Intent Optional Attributes
Name
class(ArModel ),
intent(in)
::
model
integer,
intent(in)
::
nc
integer,
intent(in)
::
i_comp
real(kind=pr),
intent(in)
::
V
real(kind=pr),
intent(in)
::
T
real(kind=pr),
intent(out)
::
J (2,2)
Arguments
Type
Intent Optional Attributes
Name
class(ArModel ),
intent(in)
::
model
integer,
intent(in)
::
nc
integer,
intent(in)
::
i_comp
real(kind=pr),
intent(in)
::
V
real(kind=pr),
intent(in)
::
T
real(kind=pr),
intent(out)
::
f1
real(kind=pr),
intent(out)
::
f2
real(kind=pr),
intent(out)
::
P
Arguments
Type
Intent Optional Attributes
Name
class(ArModel ),
intent(in)
::
model
integer,
intent(in)
::
nc
integer,
intent(in)
::
i_comp
real(kind=pr),
intent(in)
::
V_init
real(kind=pr),
intent(in)
::
T_init
real(kind=pr),
intent(out)
::
Vc
real(kind=pr),
intent(out)
::
Tc
real(kind=pr),
intent(out)
::
Pc
logical,
intent(out)
::
converged