d4.06.20 Structure de données sd_matr_elem et sd_vect_elem#
Résumé:
Table des matières
Arborescence#
sd_matr_elem (K19) ::=record
(o) '.RERR' : OJB S V K24 long=3
(f) '.RELR' : OJB S V K24 long=*
sd_vect_elem (K19) ::=record
(o) '.RERR' : OJB S V K24 long=1
(f) '.RELR' : OJB S V K24 long=*
(f) '.RELC' : OJB XC V I NO
Contenu des objets JEVEUX#
Objet “.RERR”#
'.RERR' : S V K24 long=3
Soit V = ‘.RERR’
V(1) |
nom du sd_modelesous-jacent |
V(2) |
nom de la sur-option attachée : ‘RIGI_MECA’,‘MASS_THER’,‘CHAR_MECA’, … |
V(3) |
/ ‘OUI_SOUS_STRUC’ / ‘NON_SOUS_STRUC’ |
V(3) = /’OUI_SOUS_STRUC’ / ‘NON_SOUS_STRUC’ : Indique si les termes élémentaires (matrices) des sous-structures statiques sont à prendre en compte (ou non).
Par exemple, pour un sd_matr_elem de type ‘RIGI_MECA’ qui ne concernerait que des blocages de ddls par dualisation, il faut ignorer les sous-structures. Sinon, lors de l’assemblage, on risquerait de doubler la rigidité des sous-structures.
Remarque :
‘OUI_SOUS_STRUC’ ne veut pas dire que le modèle possède forcément des sous-structures actives. Mais s’il en possède, elles seront prises en compte.
L’objet .RERR est obtenu en appelant la routine memare.F90 pour un matr_elem et vemare.F90 pour un vect_elem.
V(2) et V(3) ne sont disponibles que pour les matr_elem. Cependant, il ne faut les utiliser que si c’est nécessaire. A vocation à être résorbé dans le futur.
Objet “.RELR”#
'.RELR' : S V K24
Cet objet contient la liste des sd_resuelem composant le sd_matr_elem (ou le sd_vect_elem).
Cet objet n’existe pas si le modèle ne contient que des sous-structures (et pas d’éléments finis ordinaires).
Soit V = ‘.RELR’ ,
V(i) (1:19) : nom du ième sd_resuelem du sd_matr_elem (ou du sd_vect_elem).
Attention :
Pour les sd_vect_elem, V(i) peut être le nom d’un sd_cham_no (et non pas d’un resuelem)
lorsque ce second membre provient d’une charge de type AFFE_CHAR_MECA/VECT_ASSE
Remarques :
Le nombre de sd_resuelem est obtenu par ‘LONUTI’ de l’objet .RELR.
L’utilitaire reajre.F90 permet de stocker les resuelem dans la sd_matr_elem (ou sd_vect_elem).
Objet “.RELC”#
'.RELC' : XC V I NO()
Cet objet n’existe que si le maillage contient des super-mailles. Cette collection est nommée par les cas de charges indiqués par l’utilisateur dans la commande CALC_VECT_ELEM. Tous les objets de cette collection ont la même longueur.
Soit nomcas un tel cas de charge,
V = “.RELC” (nomcas).
LONG (V) = nbmas = nombre de super-mailles du maillage sous-jacent
pour i = 1, nbmas
V (i) :
/ 1 si la super-maille i est active pour le chargement nomcas
/ 0 si la super-maille i n’est pas active pour le chargement nomcas
Exemples#
sd_matr_elem#
MATELE_1=CALC_MATR_ELEM( MODELE=MODELE_1, CHARGE=CHARGE_1,
CARA_ELEM=CARAC_1,
CHAM_MATER=CH_MAT_1, OPTION='RIGI_MECA' )
donne :
IMPRESSION SEGMENT DE VALEURS >MATELE_1 .RELR <
1 - >MATELE_1.ME001 <>MATELE_1.ME002 <
3 - > <
IMPRESSION SEGMENT DE VALEURS >MATELE_1 .RERR <
1 - >MODELE_1 <>RIGI_MECA <
3 - >OUI_SOUS_STRUC <
sd_vect_elem#
VECELE_1=CALC_VECT_ELEM( CHARGE=CHARGE_1, OPTION='CHAR_MECA' )
donne :
IMPRESSION SEGMENT DE VALEURS >VECELE_1 .RELR <
1 - >VECELE_1.VE001 <>VECELE_1.VE002 <
3 - > <> <
IMPRESSION SEGMENT DE VALEURS >VECELE_1 .RERR <
1 - >MODELE_1 <