d4.08.01 Structure de données sd_macr_elem_stat#

Résumé:

La structure de données sd_macr_elem_stat représente un macro élément en sous-structuration statique. Un macro élément est en quelque sorte un élément fini dont la maille support a un nombre quelconque de nœuds. Pour le « fabriquer », on part d’un modèle éléments finis et on le « condense » sur certains de ces nœuds (que l’on appelle « externes »). Cette condensation se fait par élimination des ddls portés par les nœuds internes. Cette technique est décrite par exemple dans le livre de J-F. Imbert « Analyse des structures par éléments finis » aux éditions CEPADUES année 1991. Au terme de cette condensation, le macro élément est représenté par des matrices et des chargements condensés. Les matrices (rigidité, masse et amortissement) sont pleines et symétriques de dimension nddle si nddle est le nombre de ddls externes du macro-élément.

Table des Matières

Arborescence#

sd_macr_elem_stat(K8) :: = record


% description géométrique et topologique :

♦'.DESM' : OJB S V I long=10

'.LINO' : OJB S V I

'.REFM' : OJB S V K8

'.VARM' : OJB S V R long=2

◊ '.CONX' : OJB S V I


% rigidité condensée :

◊ '.RIGIMECA' : sd_matr_asse

'.MAEL_RAID_VALE' : OJB S V R

'.PHI_IE' : OJB XD V R NU long=cste


% masse condensée et amortissement :

◊ '.MASSMECA' : sd_matr_asse

'.MAEL_MASS_VALE' : OJB S V R

◊ '.MAEL_AMOR_VALE' : OJB S V R


% description des chargements :

◊ '.LICA' : OJB XD V R NO long=cste

“.LICH” : OJB XC V K8 NO long=cste

% si utilisation de DEFINITION/PROJ_MESU :

◊ “.PROJM” : sd_proj_mesu

Contenu des objets#

‘.DESM ‘: OJB S V I long=10

DESM(1) : (vide)

DESM(2) : nombre de nœuds externes au maillage (nbnoe)

DESM(3) : nombre de nœuds internes maillage (nbnoi)

(nœud maillage = nœud physique ou nœud Lagrange)

DESM(4) : nombre de ddls externes. total (nddle)

DESM(5) : nombre de ddls internes. total (nddli)

DESM(6) : nombre de sd_char_mecacinématiques. (nbchar)

DESM(7) : nombre de cas de charge définis. (nbcas)

DESM(8) : nombre de lagranges externes (nlage)

DESM(9) : nombre de lagranges relations (nlagl)

DESM(10) : nombre de lagranges internes (nlagi)

‘.REFM ‘: OJB S V K8 LONG=9+nbchar

REFM(1) : sd_modele

REFM(2) : sd_maillage

REFM(3) : sd_cham_mater

REFM(4) : sd_cara_elem

REFM(5) : sd_nume_ddl

REFM(6) : “OUI_RIGI”/”NON_RIGI”

REFM(7) : “OUI_MASS”/”NON_MASS”

REFM(8) : “OUI_AMOR”/”NON_AMOR”

REFM(9):nom de la structure de données fournie par l’utilisateur derrière le mot clé DEFINITION/PROJ_MESU(type mode_gene, tran_gene, …)

REFM(9 +1 ) : char_cinema_1

REFM(9 +2 ) : char_cinema_2

…REFM(9 +nchar ) : char_cinema_N

‘.LINO’: OJB S V I

LINOcontient la liste des nœuds physiques externes.

Le nombre réel de ces nœuds (LONUTI) est aussi dans DESM(2).

L’ordre des nœuds dans .LINOest celui d’apparition dans .CONX

‘.CONX’: OJB S V I

Remarque:

Cet objet est en réalité obligatoire. Mais il n’apparaît dans la structure de données qu’au moment de la condensation de la rigidité et comme le sd_macr_elem_statest un objet réentrant que l’on peut construire en plusieurs étapes, il peut arriver que l’objet .CONXsoit absent de la SD.

nbnoe = lonuti(LINO)

nbnoet = nbnoe + nlage + nlagl: c’est le nombre total de nœuds externes.

CONXest dimensionné à 3*nbnoet

Les nœuds externes sont numérotés dans l’ordre d’apparition dans la numérotation initiale (matrice condensée).

CONX(1,inoe) : ili = numéro du ligrel de .LILI(nume_ddl)

contenant le nœud externe inoe

CONX(2,inoe) : ino = numéro de inoe dans le ligrel ili

CONX(3,inoe) : = 0 si nœud physique

= -1 si ce nœud de Lagrange est un nœud "avant"

= -2 si ce nœud de Lagrange est un nœud "après"

‘.VARM ‘: OJB S V R LONG=2


VARM(1)taille des blocs de la matrice de rigidité factorisée (LDLT) et taille des blocs de la matrice PHI_IE. Cette taille est données en kilo r8.

VARM(2)instant du calcul (DEFINITION/INST)

‘.PHI_IE‘: OJB XD V R long=cste NU()

PHI_IEest la matrice : PHI_IE = K_II**(-1)*K_IE

ou K_II: sous-matrice des ddls internes.

ou K_IE: sous-matrice des couplages internes/externes.

PHI_IEest une matrice de dimensions nddle X nddli. Elle est stockée comme une collection dispersée car cet objet peut être très volumineux. Dans chaque objet de la collection (de taille maximum VARM(1)), on stocke un certain nombre (nlblph) de lignes de la matrice PHI_IE. Chaque ligne est de longueur nddle.

Les lignes de PHI_IEsont bien entendu stockées consécutivement dans les objets de la collection. Le 1erobjet contient les lignes 1à nlblph, le 2emeobjet contient les lignes nlblph+1à2*nlblph, …

'.MAEL_RAID_VALE': OJB S V R

Matrice de rigidité condensée (que l’on appelle KP_EE).

KP_EEest la matrice : KP_EE = K_EE – K_EI*PHI_IE

Cette matrice est stockée “symétrique” par colonnes :

KP_EE(i,j)= KP_EE(j*(j-1)/2 +i)pour j≥i

KP_EEest un vecteur de longueur nddle*(nddle+1)/2

'.MAEL_MASS_VALE': OJB S V R

Matrice de masse condensée (que l’on appelle MP_EE).

MP_EEest la matrice :

⇒ MP_EE = M_EE + PHI_EI*M_II*PHI_IE - M_EI*PHI_IE - PHI_EI*M_EI

Cette matrice est stockée “symétrique” comme KP_EE

'.MAEL_AMOR_VALE': OJB S V R

Matrice d’amortissement condensée (que l’on appelle AP_EE).

Cette matrice est stockée “symétrique” comme KP_EE

Remarque :

La commande MACR_ELEM_STAT ne permet pas (pour l’instant) de calculer .MAEL_AMOR_VALE. Mais il existe une (ou plusieurs ?) commande dynamique dans laquelle on fait passer un sd_macr_elem_dynapour un sd_macr_elem_stat. L’objet .MAEL_AMOR_VALE, s’il est présent, sera alors assemblé dans la matrice d’amortissement globale .

'.LICH': OJB XC V K8 LONG(cste) NO()

Cette collection est sur-dimensionnée par rapport au nombre des cas de charge.

Elle est nommée par les noms des cas de charge nomcas.

LICH(nomcas)est de dimension n_char_max+1

LICH(nomcas)(1)= / ‘NON_SUIV’chargement non suiveur/ ‘OUI_SUIV’ chargement suiveur

LICH(nomcas)(1<i≤n_char_max+1)= nom de la charge i-1

‘.LICA’: OJB XD V R LONG(cste) NO()

Cette collection est sur-dimensionnée par rapport au nombre des cas de charge.

Elle est nommée par les noms de cas de charge nomcas.

LICA(nomcas)est de dimension 2*nddlt= 2*(nddli+ nddle)

Chaque objet LICA(nomcas)est formé de 2 segments de même longueur (nddli+ nddle) stockés bout à bout.

Dans le 1ersegment, on trouve le second membre correspondant au cas de charge nomcas:

LICA(nomcas)(1 ≤ i ≤ nddli) = F_I

LICA(nomcas)(nddli+1 ≤ i ≤ nddli+nddle) = F_E

Dans le second segment, on trouve le second membre condensé correspondant à nomcas:

LICA(nomcas)(nddlt+1 ≤ i ≤ nddlt+nddli) = (K_II**-1)*F_I

LICA(nomcas)( nddlt+nddli+1 ≤ i ≤ nddlt+nddle) = FP_E

avec FP_E = F_E - K_EI*(K_II**-1)*F_I

Exemple : sd_macr_elem_statS_1 du test SSLP100B#

Structure de Données : S_1



IMPRESSION SEGMENT DE VALEURS >S_1 .CONX <

1 - 1 1 0 1 3

6 - 0 1 4 0 1

11 - 7 0 1 9 0

16 - 1 6 0 1 10

21 - 0 1 12 0


IMPRESSION SEGMENT DE VALEURS >S_1 .DESM <

1 - 0 8 4 16 12

6 - 1 2 0 0 4


IMPRESSION DE LA COLLECTION : S_1 .LICA

IMPRESSION SEGMENT DE VALEURS >S_1 .LICA $$NOM <

>>>>> REPERTOIRE DE NOMS DE LA COLLECTION :S_1 .LICA

1 - >CHF1 <>CHF2 <

IMPRESSION OBJET DE COLLECTION >S_1 .LICA < OC : 1

1 - 3.53553D+00 1.46447D+00 0.00000D+00 0.00000D+00 0.00000D+00

6 - 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

11 - 0.00000D+00 0.00000D+00 1.91342D+00 3.80604D-01 1.62212D+00

16 - 1.08386D+00 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

21 - 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

26 - 0.00000D+00 0.00000D+00 0.00000D+00 2.39508D-01 9.92075D-02

31 - 2.98282D-02 1.23552D-02 -1.97778D-19 -7.02300D-20 2.95966D-03

36 - 7.14525D-03 -3.06170D-19 -5.50571D-21 2.95966D-03 7.14525D-03

41 - 2.64693D+00 1.18501D+00 2.70958D+00 1.03373D+00 8.48546D-01

46 - -3.31522D-01 1.30381D-01 -6.22318D-02 4.81890D-02 1.36198D-01

51 - 3.65592D-01 8.34435D-01 -1.16015D-18 8.41068D-19 4.58200D-20

56 - 2.87916D-20

IMPRESSION OBJET DE COLLECTION >S_1 .LICA < OC : 2

1 - 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

6 - -2.00000D+01 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

11 - 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

16 - 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

21 - 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

26 - 0.00000D+00 0.00000D+00 0.00000D+00 -1.61431D-18 -7.81792D-19

31 - -6.45718D-18 -2.26429D-18 3.01596D-01 -1.61168D+00 -8.43526D-02

36 - -1.00331D-01 -1.59744D-17 -1.28342D-17 -8.43526D-02 -1.00331D-01

41 - -2.64622D-17 -4.13600D-17 -5.05295D-17 1.06224D-17 -9.17765D-17

46 - -1.39652D-16 -4.67445D+00 -7.31983D+00 3.49452D+00 -1.72624D+00

51 - -1.21457D-16 2.45518D-17 2.19705D+00 -4.60236D+00 3.50220D+00

56 - -2.55199D+00


IMPRESSION DE LA COLLECTION : S_1 .LICH

IMPRESSION SEGMENT DE VALEURS >S_1 .LICH $$NOM <

>>>>> REPERTOIRE DE NOMS DE LA COLLECTION :S_1 .LICH

1 - >CHF1 <>CHF2 <

IMPRESSION OBJET DE COLLECTION CONTIGUE>S_1 .LICH < OC : 1

1 - >OUI_SUIV<>CHBL_1 <>CHF1_1 <> <> <> <> <

8 - > <> <> <

IMPRESSION OBJET DE COLLECTION CONTIGUE>S_1 .LICH < OC : 2

1 - >NON_SUIV<>CHF2_1 <> <> <> <> <> <

8 - > <> <> <


IMPRESSION SEGMENT DE VALEURS >S_1 .LINO <

1 - 1 3 4 7 9

6 - 6 10 12


IMPRESSION SEGMENT DE VALEURS >S_1 .MAEL_RAID_VALE <

1 - 6.41345D+00 1.76677D+00 9.20402D+00 -1.81735D+00 1.25037D+00

6 - 9.57550D+00 1.00328D+00 -4.07100D+00 -1.39527D+00 6.04196D+00

11 - -2.86996D+00 -2.86915D-01 -2.19245D+00 1.87984D+00 1.43014D+01

131 - 2.36288D-18 -3.29156D-18 -5.30569D-01 -4.81304D-01 2.71008D+00

136 - 1.03411D+01


IMPRESSION DE LA COLLECTION : S_1 .PHI_IE

IMPRESSION OBJET DE COLLECTION >S_1 .PHI_IE < OC : 1

1 - -2.11984D-01 1.09032D-02 -9.57179D-02 -1.05534D-01 -1.51204D-18

6 - -6.17392D-19 -8.67300D-03 -2.98079D-02 -2.08419D-18 -7.70800D-19

186 - -1.27599D-01 -1.52778D-01 4.83504D-03 4.08788D-19 -1.44063D-17

191 - -1.52778D-01 4.83504D-03


IMPRESSION SEGMENT DE VALEURS >S_1 .REFM <

1 - >MO_1 <>MA <>CHMAT <> <>S_1 <>OUI_RIGI<>NON_MASS<

8 - >NON_AMOR<> <>CHBL_1 <


IMPRESSION SEGMENT DE VALEURS >S_1 .RIGIMECA .REFA <

1 - >MA <>S_1 <

3 - > <>RIGI_MECA <

5 - > <> <

7 - > <>DECP <

9 - >MS <>NOEU <


IMPRESSION DE LA COLLECTION : S_1 .RIGIMECA .UALF

IMPRESSION OBJET DE COLLECTION >S_1 .RIGIMECA .UALF< OC : 1

1 - 1.77687D+01 -3.40898D-01 2.78185D+01 -1.18521D-01 -1.90123D-01

6 - 3.20885D+01 -2.57251D-01 1.96913D-01 -7.70137D-02 3.68408D+01

11 - …

341 - 0.00000D+00 0.00000D+00 2.77973D+00 1.12895D+01


IMPRESSION DE LA COLLECTION : S_1 .RIGIMECA .VALM

IMPRESSION OBJET DE COLLECTION >S_1 .RIGIMECA .VALM< OC : 1

1 - 1.77687D+01 -6.05732D+00 2.98834D+01 -2.10596D+00 -4.57102D+00

6 - 3.33437D+01 -4.57102D+00 7.03607D+00 -2.97096D+00 3.92857D+01

11 - …

166 - 1.12895D+01


IMPRESSION SEGMENT DE VALEURS >S_1 .VARM <

1 - 8.00000D+02 0.00000D+00