pt_F_NP Subroutine

public subroutine pt_F_NP(model, z, np, beta_w, kinds_x, kind_w, X, ns, S, F, df, Vl, Vw)

Uses

  • proc~~pt_f_np~~UsesGraph proc~pt_f_np pt_F_NP iso_fortran_env iso_fortran_env proc~pt_f_np->iso_fortran_env

Function to solve at each point of a multi-phase envelope.

Arguments

Type IntentOptional Attributes Name
class(ArModel), intent(in) :: model

Model to use.

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

Mixture global composition.

integer, intent(in) :: np

Number of main phases.

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

Fraction of the reference (incipient) phase.

character(len=14), intent(in) :: kinds_x(np)

Kind of the main phases.

character(len=14), intent(in) :: kind_w

Kind of the reference phase.

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

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(X))

Vector of functions valuated.

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

Jacobian matrix.

real(kind=pr), intent(out) :: Vl(np)
real(kind=pr), intent(out) :: Vw

Calls

proc~~pt_f_np~~CallsGraph proc~pt_f_np pt_F_NP dvnvdb dvnvdb proc~pt_f_np->dvnvdb dvnvdlnkl dvnvdlnkl proc~pt_f_np->dvnvdlnkl dvnvdn dvnvdn proc~pt_f_np->dvnvdn dvwdb dvwdb proc~pt_f_np->dvwdb dvwdlnkl dvwdlnkl proc~pt_f_np->dvwdlnkl proc~lnphi_pt ArModel%lnphi_pt proc~pt_f_np->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~~pt_f_np~~CalledByGraph proc~pt_f_np pt_F_NP proc~solve_point~4 PTEnvelMP%solve_point proc~solve_point~4->proc~pt_f_np proc~pt_envelope pt_envelope proc~pt_envelope->proc~solve_point~4

Variables

Type Visibility Attributes Name Initial
real(kind=pr), private :: K(np,size(z))
real(kind=pr), private :: P
real(kind=pr), private :: T
real(kind=pr), private :: betas(np)
real(kind=pr), private :: dPdN(size(z))
real(kind=pr), private :: dPdT
real(kind=pr), private :: dPdV
real(kind=pr), private :: dVwdP
real(kind=pr), private :: dVwdT
real(kind=pr), private :: dVwdn(size(z))
real(kind=pr), private :: denom(size(z))
real(kind=pr), private :: denomdlnK(np,size(z),size(z))
real(kind=pr), private, dimension(size(z), size(z)) :: dlnphi_dn
real(kind=pr), private, dimension(np, size(z), size(z)) :: dlnphi_dn_l
real(kind=pr), private, dimension(size(z), size(z)) :: dlnphi_dn_w
real(kind=pr), private :: dlnphi_dp(size(z))
real(kind=pr), private, dimension(np, size(z)) :: dlnphi_dp_l
real(kind=pr), private, dimension(size(z)) :: dlnphi_dp_w
real(kind=pr), private :: dlnphi_dt(size(z))
real(kind=pr), private, dimension(np, size(z)) :: dlnphi_dt_l
real(kind=pr), private, dimension(size(z)) :: dlnphi_dt_w
real(kind=pr), private :: dpdT_w
real(kind=pr), private :: dpdn_l(np,size(z))
real(kind=pr), private :: dpdn_w(size(z))
real(kind=pr), private :: dpdt_l(np)
real(kind=pr), private :: dpdv_l(np)
real(kind=pr), private :: dpdv_w
real(kind=pr), private :: dwdb(np,size(z))
real(kind=pr), private :: dwdlnK(np,size(z))
real(kind=pr), private :: dx_l_dlnK(np,np,size(z))
integer, private :: i
integer, private :: idx_1
integer, private :: idx_2
integer, private :: j
integer, private :: l
integer, private :: lb
real(kind=pr), private :: lnphi(size(z))
real(kind=pr), private, dimension(np, size(z)) :: lnphi_l
real(kind=pr), private, dimension(size(z)) :: lnphi_w
real(kind=pr), private :: moles(size(z))
integer, private :: nc
integer, private :: nv

Specified volume for ln(V(nv)/Vw)

integer, private :: phase
integer, private :: ub
real(kind=pr), private, dimension(size(z)) :: w
real(kind=pr), private, dimension(np, size(z)) :: x_l