three_phase_line_F_solve Subroutine

public subroutine three_phase_line_F_solve(model, X, ns, S, F, dF, iters)

Uses

  • proc~~three_phase_line_f_solve~~UsesGraph proc~three_phase_line_f_solve three_phase_line_F_solve module~yaeos__math yaeos__math proc~three_phase_line_f_solve->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 iso_fortran_env iso_fortran_env 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

three_phase_line_F_solve

Description

Solve the system of equations defined in three_phase_line_F using a Newton-Raphson method. It will make a maximum of 50 iterations to converge. With a tolerance of 1e-9 in the maximum absolute value of the function vector or the step vector.

Arguments

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

Thermodynamic model to use

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

Input/output vector

integer, intent(in) :: ns

Specified variable index

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

Specified variable value

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

Function vector

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

Jacobian

integer, intent(out), optional :: iters

Number of iterations performed


Calls

proc~~three_phase_line_f_solve~~CallsGraph proc~three_phase_line_f_solve three_phase_line_F_solve proc~solve_system solve_system proc~three_phase_line_f_solve->proc~solve_system proc~three_phase_line_f three_phase_line_F proc~three_phase_line_f_solve->proc~three_phase_line_f none~dgesv dgesv proc~solve_system->none~dgesv proc~lnfug_vt ArModel%lnfug_vt proc~three_phase_line_f->proc~lnfug_vt residual_helmholtz residual_helmholtz proc~lnfug_vt->residual_helmholtz

Called by

proc~~three_phase_line_f_solve~~CalledByGraph proc~three_phase_line_f_solve three_phase_line_F_solve proc~binary_llv_from_cep binary_llv_from_cep proc~binary_llv_from_cep->proc~three_phase_line_f_solve

Variables

Type Visibility Attributes Name Initial
real(kind=pr), private :: Xold(size(X))
real(kind=pr), private :: dX(size(X))
integer, private :: i
integer, private :: max_tries
real(kind=pr), private :: res_norm
real(kind=pr), private :: tol