6. Overload principle#
It may happen that the user defines the same linear relationship several times (with the exception of a multiplication factor).
Example:
6.XX (N1) -2.DY (N2) = 8. 3.XX (N1) -1.DY (N2) = 5.
Here, the first 2 equations are the same. The third is contradictory to the previous ones (because of the second member).
If two equations of a linear system to be solved have the same 1st member, we cannot invert the matrix, because the equations are not independent. It is therefore necessary to eliminate all equations that are multiple of one another.
We want to be able to apply the principle of « overload » [U2.01.00 §3.7]: it is therefore the last second member that is retained.
This elimination of « redundant » relationships is done when we add LISTE_RELAà the CHARGE (routine AFLRCH). We eliminate duplicates from LISTE_RELA, print the relationships that have been eliminated, and then we add the relationships that have been retained to CHARGE.
If we keep the scheme recommended here in § 4: only one LISTE_RELA per keyword factor, the principle of overload is therefore naturally applied for each keyword. The last occurrences take precedence over the former.
If we wanted to (we don’t want it today!) an overload between different keywords (for example: DDL_IMPOprime on FACE_IMPO), it would be enough for these 2 keywords to be associated with the same LISTE_RELA:
CALL DDLIMPO (CH, LISREL) CALL AFLRCH (LISREL, CH)