d4.06.13 Structure de données sd_liste_rela#
Résumé:
Table des matières
Arborescence#
sd_liste_rela (K19) ::=record
(o) '.RLCO' : OJB S V R/C
(o) '.RLBE' : OJB S V R/C/K24
(o) '.RLDD' : OJB S V K8
(o) '.RLNO' : OJB S V K8
(o) '.RLNT' : OJB S V I
(o) '.RLPO' : OJB S V I
(o) '.RLSU' : OJB S V I
(o) '.RLTC' : OJB S E K8
(o) '.RLTV' : OJB S E K8
(o) '.RLNR' : OJB S E I
Contenu des objets#
Notations:
nb_rela : nombre de relations stockées dans la sd_liste_rela .
nb_coef_1rel : nombre de coefficients d’une relation linéaire (partie “gauche” de l’équation). Les coefficients peuvent être : réels ou complexes.
nb_coef_tot : nombre total de coefficients de l’ensemble des relations linéaires stockées dans la sd_liste_rela. nb_coef_tot = nb_coef_1rel(1) +nb_coef_1rel(2) +…
coef_impo : valeur imposée pour la relation linéaire (partie “droite” de l’équation ou “second membre”). La valeur imposée peut être : réelle, complexe ou fonction.
Objet « .RLNR »#
Cet objet est de longueur 1.
RLNR(1) : nombre de relations linéaires nb_rela.
Objet « .RLTC »#
Cet objet est de longueur 1.
RLTC(1) : type des coefficients des relations ‘REEL’ ou ‘COMP’.
Objet « .RLTV »#
Cet objet est de longueur 1.
RLTV(1) : type des seconds membres des relations ‘REEL’, ‘COMP’ ou ‘FONC’.
Objet « .RLNT »#
Cet objet est de longueur nb_rela.
Il contient les nombres de coefficients pour chaque relation.
RLNT(irela) : nombre de coefficients de la relation irela = nb_coef_1rel(irela).
Objet « .RLPO »#
Cet objet est de longueur nb_rela.
Il permet de “pointer” (pour une relation donnée) dans les objets .RLCO, .RLNO et .RLDD.
Ces 3 objets ont la même dimension et on y pointe de la même façon.
RLPO(irela) : adresse dans .RLCO (par exemple) du dernier coefficient de la relation irela.
RLCO(RLPO(irela) - RLNT(irela) + 1) est le 1er terme de la relation irela.
Objet « .RLCO »#
Cet objet est de longueur nb_coef_tot.
Il contient les coefficients (R ou C) des équations.
Objet « .RLNO »#
Cet objet est de longueur nb_coef_tot.
Il contient les noms des nœuds impliqués dans les relations.
Objet « .RLDD »#
Cet objet est de longueur nb_coef_tot.
Il contient les noms des CMPS impliquées dans les relations.
Objet « .RLBE »#
Cet objet est de longueur nb_rela.
Il contient les seconds membres des relations.
RLBE(irela) : second membre de la relation irela = coef_impo(irela).
Objet « .RLSU »#
Cet objet est de longueur nb_rela. C’est un indicateur pour dire si les relations linéaires doivent être prises en compte (ou non).
En effet, avant de “verser” les relations linéaires dans la sd_charge, on examine si certaines relations ne sont pas données en plusieurs exemplaires (doublons).
RLSU(irela) :
/ 0 -> la relation irela est à prendre en compte.
/ 1 -> la relation irela est le doublon d'une relation précédente.
Il ne faut pas la prendre en compte