Change the specified variable for the next step.
Using the information of a converged point and the Jacobian matrix of the function. It is possible to determine the sensitivity of the variables with respect to the specification. This information is used to update the specification for the next point. Choosing the variable with the highest sensitivity. This can be done by solving the system of equations:
for the vector. The variable with the highest value of is chosen as the new specification.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | its |
Iterations to solve the current point. |
||
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) | :: | dF(:,:) |
Jacobian matrix. |
||
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. |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=pr), | private | :: | dFdS(size(X)) |
Sensitivity of the functions wrt the specification. |
|||
integer, | private | :: | i | ||||
integer, | private | :: | lb |
Lower bound of each phase |
|||
integer, | private | :: | ub |
Upper bound of each phase |