
Extensibility 3-55
3-55
condition occurs. When this happens, the Solver stops and
switches in to Hold Mode. To allow different objects to calculate
different values because of changes in the flowsheet, it is
necessary that values that depend on another changing value be
forgotten. This forgetting occurs during the Forget Pass.
Forget Pass
When the value of a variable changes, the Solver first does one
Solve Pass on the flowsheet with the value marked as unknown.
Each object that is linked to the object with the changed variable
has its Execute method called, and the object must perform as
many calculations as it can with the remaining known
information.
Any calculations that were performed based on the value of the
newly forgotten variable in the last pass are not able to be
calculated during this pass. After the object has finished its
Execute call, the Solver then determines which variables the
object calculated last time that have not been touched this time.
These variables are then marked as unknown, and the Solver
propagates this information to other linked objects in the
flowsheet.
Normally, an object need not behave any differently during the
Forget Pass than during the Calculate Pass. In order to prevent
unnecessary propagation of forgotten information (and
therefore the unnecessary recalculation of this information in
the Calculate Pass), the object must still calculate all that it can
to ensure that the variables it calculated last time are touched.
Calculate Pass
After all information based on the previous value of a variable
has been forgotten, the new value is set in to the variable and
the second Solver pass (the Calculate Pass) is started. In this
pass, each object affected by the change in the variable has its
Execute method called. Any changes these objects make are
propagated through the flowsheet as the variables in other
objects are touched.
Comentários a estes Manuais