5. « Extended » maps#
A CARTE is a field that is affected by cells or groups of cells. Data structure CARTE is « condensed »: facing each other instantiated quantity, the list of cells affected by this quantity is stored. In CALCUL, the basic problem for using CARTES is the following: « how to find the instantiated quantity associated with the ima mesh in order to be able to copy it into the local field provided to the TE00IJ routines? «
This problem cannot be solved effectively with the CARTE structure (especially if you think that a mesh can be affected several times: « overload » principle), which is why at the beginning of CALCUL (routine DEBCAL), we « extend » the CARTES « IN » (routine ETENCA), we « extend » the « INS » (routine). This extension consists in creating for each CARTE, 2 additional temporary objects that allow you to do the association (mesh, size) once and for all.
These 2 objects correspond to the following SD CARTE_ETENDUE:
“$ VIDE “: CARTE “. PTMA “: OJB S V I LONG = nb_ma “. PTMS “: OJB S V I LONG = nb_ms
Object “. PTMA “:
let nb_ma be the number of meshes of the mesh associated with the map,
for ima=1, nb_ma:
. PTMA (ima): number of the size associated with the ima mesh
Object “. PTMS “:
let nb_ms be the number of additional Ligrel cells associated with the map,
for ims=1, nb_ms:
. PTMA (ims): number of the quantity associated with the additional mesh ims