d4.08.02 Structure de données sd_interf_dyna_clas#
Résumé:
On décrit ici la structure de données produite par la commande DEFI_INTERF_DYNA.
Elle définit les interfaces associées à un macro-élément donné.
Un macro-élément peut comporter plusieurs interfaces.
Table des Matières
Arborescence de la Structure de Données#
sd_interf_dyna_clas(K8)
♦‘.IDC_DDAC’ : OJB XD V I NUM() VARI
♦‘.IDC_DEFO’ : OJB S V I
♦‘.IDC_DESC’ : OJB S V I LONG=5
♦‘.IDC_LINO’ : OJB XD V I NUM() VARI
♦‘.IDC_NOMS’ : OJB S N K8
♦‘.IDC_REFE’ : OJB S V K24 LONG=3
♦‘.IDC_TYPE’ : OJB S V K8
♦‘.IDC_DY_FREQ’ : OJB S V R LONG=1
Contenu des objets JEVEUX#
Généralités#
Une sd_interf_dyna_clascontient une ou plusieurs interfaces (nb_intf) nommées.
Chaque interface contient un ou plusieurs nœuds. Chaque nœud d’interface porte un certain nombre de ddls (composantes de la grandeur DEPL_R). Pour chaque nœud d’interface, l’utilisateur choisit un sous-ensemble des ddls portés par ce nœud : ce sont les ddls “actifs” du nœud.
Pour chaque ddl actif de la sd_interf_dyna_clas, on calculera (plus tard dans DEFI_BASE_MODALE) une déformée statique.
On s’intéresse à la grandeur DEPL_R.
Objet .IDC_REFE#
‘.IDC_REFE’: S V K24 LONG = 3
V(1) |
Nom de la sd_maillage |
V(2) |
Nom de la sd_nume_ddl |
V(3) |
vide |
Objet .IDC_DESC#
‘.IDC_DESC’: S V I LONG = 5
V(1) |
1 |
V(2) |
Nombre d’entiers codés nécessaires à la grandeur DEPL_R(nbec) |
V(3) |
Nombre de composantes maximales pour la grandeur DEPL_R |
V(4) |
Numéro de la grandeur DEPL_Rdans le catalogue des grandeurs |
V(5) |
Nombre de déformées statiques à calculer (nb_def) |
Objet .IDC_NOMS#
‘.IDC_NOMS’: S N K8 LONG = nb_intf
C’est le pointeur de noms donnant la correspondance numéro de l’interface ↔ nom de l’interface
V(i): nom de l’interface numéro i
Objet .IDC_TYPE#
‘.IDC_TYPE’: S V K8 LONG = nb_intf
V(1 à nb_intf): type de l’interface (‘CRAIGB’, ‘MNEAL’, ‘CB_HARMO’ ou ‘AUCUN‘)
Objet .IDC_LINO#
‘.IDC_LINO’: XD V I NUM() VARI NB_OBJ = nb_intf
Cette collection comporte un nombre d’éléments égal aux nombres d’interface ( nb_intf).
Soit Vle ièmeobjet de la collection
Va pour dimension le nombre de nœuds de l’interface numéro i (nbno).
V(1 à nbno): numéro (dans le maillage) des nœuds de l’interface numéro i
Objet .IDC_DDAC#
‘.IDC_DDAC’: XD V I NUM() VARI NB_OBJ = nb_intf
Cette collection comporte un nombre d’éléments égal aux nombres d’interface (nb_intf)
Soit Vle ièmeobjet de la collection.
Va pour dimension le nombre de nœuds de l’interface numéro i (nbno) multipliés par le nombre d’entier codés nécessaires à la description de la grandeur DEPL_R(nbec).
V(1 à nbno*nbec): liste des entiers codés décrivant les ddls actifs de l’interface numéro i
Objet .IDC_DY_FREQ#
‘.IDC_DY_FREQ’: S V R LONG = 1
V(1): Valeur de la fréquence utilisée pour le calcul des modes contraints harmoniques
Objet .IDC_DEFO#
‘.IDC_DEFO’: S V I LONG = (2+nbec)*nbnot
Cet objet décrit les (nbnot) nœuds de la sd_interf_dyna_claset leurs ddls actifs. Il décrit aussi la numérotation des déformées statiques (que l’on calculera plus tard) associées aux ddls actifs de la sd_interf_dyna_clas.
Le nombre de nœuds de la sd_interf_dyna_clas(nbnot) est éventuellement inférieur à la somme des nombres de nœuds des différentes interfaces composant la sd_interf_dyna_clascar les interfaces d’un même type (‘CRAIGB’, …) peuvent avoir des nœuds en commun (qui seront alors “fusionnés” dans la sd_interf_dyna_clas).
Chaque nœud de la sd_interf_dyna_clasa un type ‘MNEAL’, ‘CRAIGB’, ‘CB_HARMO’, ‘AUCUN‘.
Les nœuds de la sd_interf_dyna_classont regroupés par paquets de même type. Ces nœuds sont rangés dans l’ordre : ‘MNEAL’, ‘CRAIGB’, ‘CB_HARMO’, ‘AUCUN‘.
Soit nmn, ncb, ncbh, nau: les nombres de nœuds de la sd_interf_dyna_clasde types : ‘MNEAL’, ‘CRAIGB’, ‘CB_HARMO’, ‘AUCUN‘.
Soit : nbnot = nmn + ncb + ncbh + nau
Le vecteur .IDC_DEFOest formé de 3 “blocs” :
Les numéros (dans le maillage) des nœuds :
V(ino): numéro du inoèmenœud de la sd_interf_dyna_clas
Les numéros des 1èresdéformées portées par chaque nœud :
V(nbnot+ino): numéro de la 1èredéformée du inopinément de la sd_interf_dyna_clas
Ce bloc de données est très peu utilisé dans le code. On s’en sert (temporairement) dans la commande DEFI_INTERF_DYNA qui crée la SD. Une fois la SD créée, le contenu définitif de ce bloc n’est utilisé que dans la routine bmnodi.f(REST_GENE_PHYS, MODE_ITER_CYCL)
Les entiers codés décrivant les ddls actifs des nœuds :
V(2*nbnot+ nbec*(ino-1): 2*nbnot+ nbec*(ino)): entiers codés décrivant les ddls actifs du inoèmenoeud de la sd_interf_dyna_clas