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