u4.63.11 Macro commande PROJ_BASE#
Syntaxe#
Détail de la syntaxe
/ vect_asse_gene
/ nume_ddl_gene
/ matr_asse_gene_r
/ tran_gene = PROJ_BASE(
◆ BASE = mode_meca / mode_gene,
◇ NB_VECT = int,
◇ STOCKAGE = / "PLEIN" (par défaut),
/ "DIAG",
◇ NUME_DDL_GENE = co / nume_ddl_gene,
◆ | MATR_ASSE_GENE = _F(
◆ MATRICE = co,
◆ / MATR_ASSE = matr_asse_depl_r,
/ MATR_ASSE_GENE = matr_asse_gene_r,
),
| VECT_ASSE_GENE = _F(
◆ VECTEUR = co,
◆ TYPE_VECT = / "FORC",
/ "DEPL",
/ "VITE",
/ "ACCE",
◆ / VECT_ASSE = cham_no,
/ VECT_ASSE_GENE = vect_asse_gene,
),
| RESU_GENE = _F(
◆ RESULTAT = co,
◆ TYPE_VECT = / "FORC",
/ "DEPL",
/ "VITE",
/ "ACCE",
◆ RESU = dyna_trans,
),
◇ INFO = / 1 (par défaut),
/ 2,
)
◆ : obligatoire
◇ : optionnel
⟐ : présent par défaut
& : ensemble
/ : un seul parmi
| : plusieurs choix possibles
Opérandes#
Opérande BASE#
♦ BASE = ba
Concept du type mode_meca ou mode_gene (pour la sous-structuration), qui contient les vecteurs définissant le sous-espace de projection.
Opérande NB_VECT#
◊ NB_VECT = nm
Nombre de vecteurs utilisés dans la base (on prend les nm premiers). On vérifie que le nombre nm est bien inférieur au nombre de vecteurs de la base, dans le cas contraire, on utilise tous les vecteurs fournis.
Opérande STOCKAGE#
◊ STOCKAGE = /'PLEIN' [DEFAUT]
/”DIAG”
Confer NUME_DDL_GENE[U4.65.03].
Si une matrice présente un profil “DIAG” et une autre un profil “PLEIN”, deux numérotations seront créées avec NUME_DDL_GENE.
L’utilisation du mot-clé STOCKAGE=”DIAG” est licite lorsque la base sur laquelle les matrices sont projetées est composée de modes propres. Dans ce cas, les matrices projetées sont effectivement diagonales, et il n’est pas nécessaire de sauvegarder les autres termes de la matrice, qui sont nuls.
Attention, si la base est composée d’autres types de vecteurs (des modes statiques par exemple), alors l’utilisation du mot-clé STOCKAGE=”DIAG” conduit à des résultats faux.
Dans le cas de calculs avec utilisation des opérateurs de fluide-structure, le calcul doit être fait avec l’option de stockage diagonale.
Opérande NUME_DDL_GENE#
◊ NUME_DDL_GENE = /numgen [nume_ddl_gene]
/CO(“numgen”), [nume_ddl_gene]
Numérotation associée au modèle généralisé. Cette opérande peut être un concept déjà existant ou non (CO(“numgen”)).
Mot clé MATR_ASSE_GENE#
◊ MATR_ASSE_GENE
Mot clé facteur définissant le nom de la matrice projetée résultat et le nom de la matrice à projeter. Ce mot clé doit être répété autant de fois qu’il y a de matrices à projeter.
Opérande MATRICE#
♦ MATRICE = CO('mt')
Concept du type matr_asse_gene_R, matrice généralisée résultat.
Opérandes MATR_ASSE / MATR_ASSE_GENE#
♦ / MATR_ASSE = ma
Concept du type matr_asse_DEPL_R, matrice assemblée que l’on souhaite projeter.
/ MATR_ASSE_GENE = ma
Concept du type matr_asse_gene_R, matrice assemblée issue de la sous‑structuration, que l’on souhaite projeter.
Mot clé VECT_ASSE_GENE#
◊ VECT_ASSE_GENE
Mot clé facteur définissant le nom du vecteur projeté résultat et le nom du vecteur à projeter. Ce mot clé doit être répété autant de fois qu’il y a de vecteurs à projeter.
Opérande VECTEUR#
♦ VECTEUR = CO('vt')
Concept du type vect_asse_gene, vecteur généralisé résultat.
Opérande TYPE_VECT#
♦ TYPE_VECT = typ
Chaîne de caractères décrivant le type du champ représenté par le vecteur assemblé. Les valeurs disponibles sont’FORC”, “DEPL”, “VITE” et “ACCE”. Le traitement est différent selon que l’on utilise l’option FORC ou les autres.
Avec l’option FORC, on réalise la projection simple \({\Phi}^{T}f\) , où \(\Phi\) est la base de modes et \(f\) l’effort,
Avec les autres options, on calcule par problème inverse les coefficients de participation modaux associés à un déplacement donné. On suppose qu’on peut écrire le déplacement \(x\) sous la forme \(x={\eta}^{T}\Phi\) . On calcule alors \(\eta ={\Phi}^{T}{({\Phi}^{T}\Phi )}^{-1}x\) (pseudo-inverse de Moore-Penrose).
Opérandes VECT_ASSE / VECT_ASSE_GENE#
♦ / VECT_ASSE = va
Concept du type cham_no_DEPL_R, vecteur assemblé que l’on souhaite projeter.
/ VECT_ASSE_GENE = va
Concept du type vect_asse_gene, vecteur assemblé issu de la sous-structuration, que l’on souhaite projeter.
Mot clé RESU_GENE#
◊ VECT_ASSE_GENE
Permet de projeter une structure de données résultat de type dyna_trans (issue d’un calcul de dynamique linéaire, ou de la lecture d’un fichier de données). Ce mot clé doit être répété autant de fois qu’il y a de vecteurs à projeter.
Opérande RESULTAT#
♦ RESULTAT = CO('res')
Concept du type resu_gene, vecteur généralisé résultat.
Opérande TYPE_VECT#
♦ TYPE_VECT = typ
Chaîne de caractères décrivant le type du champ représenté par le vecteur assemblé. Les valeurs disponibles sont’FORC”, “DEPL”, “VITE” et “ACCE”. Le traitement est différent selon que l’on utilise l’option FORC ou les autres.
Avec l’option FORC, on réalise la projection simple \({\Phi}^{T}f\) , où \(\Phi\) est la base de modes et \(f\) l’effort
Avec les autres options, on calcule par problème inverse les coefficients de participation modaux associés à un déplacement donné. On suppose qu’on peut écrire le déplacement \(x\) sous la forme \(x={\eta}^{T}\Phi\) . On calcule alors \(\eta ={\Phi}^{T}{({\Phi}^{T}\Phi )}^{-1}x\) (pseudo-inverse de Moore-Penrose).
Opérandes RESU#
♦ / RESU= res
Concept du type dyna_trans, structure de données résultat que l’on souhaite projeter.
Opérande INFO#
◊ INFO = / 1 [DEFAUT]
/ 2
Niveau d’impression d’informations pour la commande NUME_DDL_GENE (confer [U4.65.03]).
Exemple d’utilisation#
# dynamique transitoire sur base modale système masse et ressort
PROJ_BASE( BASE=MODES,
MATR_ASSE_GENE=(
_F(MATRICE = CO(’MASSEGEN’),
MATR_ASSE = MATRMASS),
_F(MATRICE = CO(’RIGIDGEN’),
MATR_ASSE = MATRRIGI),
_F(MATRICE = CO(’AMORTGEN’),
MATR_ASSE = MATRAMOR,
STOCKAGE = 'PLEIN')),
VECT_ASSE_GENE=
_F(VECTEUR = CO(’EFFOGENE’),
VECT_ASSE = VECTASS) )
);