detect_critical Subroutine

private subroutine detect_critical(nc, np, X, dXdS, ns, dS, S)

detect_critical

Detect if the system is close to a critical point.

Description

When the system is close to a critical point, the values are close to zero, since the composition of the incipient phase and the phase are similar (equal in the critical point). This can be used to detect if the system is close to a critical point and force a jump above it.

References

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nc

Number of components in the mixture.

integer, intent(in) :: np

Number of main phases.

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

Vector of variables.

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

Sensitivity of the variables wrt the specification.

integer, intent(inout) :: ns

Number of the specified variable.

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

Step size of the specification for the next point.

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

Specification value.


Variables

Type Visibility Attributes Name Initial
integer, private :: i
integer, private :: lb
integer, private :: ub