px_F_three_phases Subroutine

private subroutine px_F_three_phases(model, z0, zi, T, Xvars, ns, S, F, df)

Uses

  • proc~~px_f_three_phases~~UsesGraph proc~px_f_three_phases px_F_three_phases iso_fortran_env iso_fortran_env proc~px_f_three_phases->iso_fortran_env

Function to solve at each point of a three phase envelope.

The vector of variables X corresponds to:

While the equations are:

Arguments

Type IntentOptional Attributes Name
class(ArModel), intent(in) :: model
real(kind=pr), intent(in) :: z0(:)
real(kind=pr), intent(in) :: zi(:)
real(kind=pr), intent(in) :: T
real(kind=pr), intent(in) :: Xvars(:)

Vector of variables

integer, intent(in) :: ns

Number of specification

real(kind=pr), intent(in) :: S

Specification value

real(kind=pr), intent(out) :: F(size(Xvars))

Vector of functions valuated

real(kind=pr), intent(out) :: df(size(Xvars),size(Xvars))

Jacobian matrix


Calls

proc~~px_f_three_phases~~CallsGraph proc~px_f_three_phases px_F_three_phases proc~get_z get_z proc~px_f_three_phases->proc~get_z proc~lnphi_pt ArModel%lnphi_pt proc~px_f_three_phases->proc~lnphi_pt proc~lnphi_vt ArModel%lnphi_vt proc~lnphi_pt->proc~lnphi_vt proc~volume~3 ArModel%volume proc~lnphi_pt->proc~volume~3 residual_helmholtz residual_helmholtz proc~lnphi_vt->residual_helmholtz get_v0 get_v0 proc~volume~3->get_v0 interface~newton newton proc~volume~3->interface~newton proc~newton_1d newton_1d interface~newton->proc~newton_1d

Called by

proc~~px_f_three_phases~~CalledByGraph proc~px_f_three_phases px_F_three_phases proc~solve_point~2 solve_point proc~solve_point~2->proc~px_f_three_phases proc~px_envelope_3ph px_envelope_3ph proc~px_envelope_3ph->proc~solve_point~2

Variables

Type Visibility Attributes Name Initial
real(kind=pr), private :: Kx(size(z0))
real(kind=pr), private :: Ky(size(z0))
real(kind=pr), private :: P
real(kind=pr), private :: Vw
real(kind=pr), private :: Vx
real(kind=pr), private :: Vy
real(kind=pr), private :: alpha
real(kind=pr), private :: beta
real(kind=pr), private, dimension(size(z0), size(z0)) :: dlnphi_dn_w
real(kind=pr), private, dimension(size(z0), size(z0)) :: dlnphi_dn_x
real(kind=pr), private, dimension(size(z0), size(z0)) :: dlnphi_dn_y
real(kind=pr), private, dimension(size(z0)) :: dlnphi_dp_w
real(kind=pr), private, dimension(size(z0)) :: dlnphi_dp_x
real(kind=pr), private, dimension(size(z0)) :: dlnphi_dp_y
real(kind=pr), private, dimension(size(z0)) :: dlnphi_dt_w
real(kind=pr), private, dimension(size(z0)) :: dlnphi_dt_x
real(kind=pr), private, dimension(size(z0)) :: dlnphi_dt_y
real(kind=pr), private :: dwdKx(size(z0))
real(kind=pr), private :: dwdKy(size(z0))
real(kind=pr), private :: dwda(size(z0))
real(kind=pr), private :: dwdb(size(z0))
real(kind=pr), private :: dxdKx(size(z0))
real(kind=pr), private :: dxdKy(size(z0))
real(kind=pr), private :: dydKx(size(z0))
real(kind=pr), private :: dydKy(size(z0))
real(kind=pr), private :: dzda(size(z0))
integer, private :: i
integer, private :: j
real(kind=pr), private, dimension(size(z0)) :: lnphi_w
real(kind=pr), private, dimension(size(z0)) :: lnphi_x
real(kind=pr), private, dimension(size(z0)) :: lnphi_y
integer, private :: nc
real(kind=pr), private, dimension(size(z0)) :: w
real(kind=pr), private, dimension(size(z0)) :: x
real(kind=pr), private, dimension(size(z0)) :: y
real(kind=pr), private :: z(size(z0))