solve_point Subroutine

private subroutine solve_point(model, z, np, beta_w, kinds_x, kind_w, X, ns, S, dXdS, F, df, Vl, Vw, iters, max_iterations)

Uses

  • proc~~solve_point~5~~UsesGraph proc~solve_point~5 PTEnvelMP%solve_point iso_fortran_env iso_fortran_env proc~solve_point~5->iso_fortran_env module~yaeos__math yaeos__math proc~solve_point~5->module~yaeos__math module~yaeos__constants yaeos__constants 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__constants->iso_fortran_env module~yaeos__math_continuation->module~yaeos__constants module~yaeos__math_continuation->module~yaeos__math_linalg module~yaeos__math_linalg->module~yaeos__constants

Type Bound

PTEnvelMP

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

Vector of variables

integer, intent(in) :: ns

Number of specification

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

Specification value

real(kind=pr), intent(in) :: dXdS(size(X))
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)

Main phases volumes

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

Reference phase volume

integer, intent(out) :: iters

Number of iterations to solve the current point

integer, intent(in) :: max_iterations

Maximum number of iterations to solve the point


Calls

proc~~solve_point~5~~CallsGraph proc~solve_point~5 PTEnvelMP%solve_point proc~get_values_from_x~4 PTEnvelMP%get_values_from_X proc~solve_point~5->proc~get_values_from_x~4 proc~pt_f_np~3 pt_F_NP proc~solve_point~5->proc~pt_f_np~3 proc~solve_system solve_system proc~solve_point~5->proc~solve_system dvnvdb dvnvdb proc~pt_f_np~3->dvnvdb dvnvdlnkl dvnvdlnkl proc~pt_f_np~3->dvnvdlnkl dvnvdn dvnvdn proc~pt_f_np~3->dvnvdn dvwdb dvwdb proc~pt_f_np~3->dvwdb dvwdlnkl dvwdlnkl proc~pt_f_np~3->dvwdlnkl proc~lnphi_pt ArModel%lnphi_pt proc~pt_f_np~3->proc~lnphi_pt none~dgesv dgesv proc~solve_system->none~dgesv proc~lnphi_vt ArModel%lnphi_vt proc~lnphi_pt->proc~lnphi_vt proc~volume ArModel%volume proc~lnphi_pt->proc~volume residual_helmholtz residual_helmholtz proc~lnphi_vt->residual_helmholtz get_v0 get_v0 proc~volume->get_v0 interface~newton newton proc~volume->interface~newton proc~newton_1d newton_1d interface~newton->proc~newton_1d

Called by

proc~~solve_point~5~~CalledByGraph proc~solve_point~5 PTEnvelMP%solve_point proc~pt_envelope pt_envelope proc~pt_envelope->proc~solve_point~5 proc~pt_envelope_2ph pt_envelope_2ph proc~pt_envelope_2ph->proc~pt_envelope proc~find_hpl find_hpl proc~find_hpl->proc~pt_envelope_2ph

Variables

Type Visibility Attributes Name Initial
real(kind=pr), private :: P
real(kind=pr), private :: T
real(kind=pr), private :: X0(size(X))
real(kind=pr), private :: betas(np)
logical, private :: can_solve
real(kind=pr), private :: dX(size(X))
integer, private :: i
integer, private :: iBetas(np)
integer, private :: iP
integer, private :: iT
integer, private :: l
integer, private :: nc
real(kind=pr), private :: w(size(z))
real(kind=pr), private :: x_l(np,size(z))