4. Example cyclical substructuring#
PLAQUE ANNULAIRE ENCASTREE SUR A MOYEU - METHODE OF CRAIG - BAMPTON
sector = LIRE_MAILLAGE ()
model = AFFE_MODELE (MAILLAGE = sector,
AFFE =_F (TOUT =” OUI “, PHENOMENE =” MECANIQUE “, MODELISATION =” DKT “))
subdue = DEFI_MATERIAU (ELAS =_F (E=2.E11, NU=0.3, RHO =7800.0))
chammat = AFFE_MATERIAU (MAILLAGE = sector,
AFFE =_F (TOUT =” OUI “, MATER = subdue))
chamcar = AFFE_CARA_ELEM (MODELE = model,
COQUE =( TOUT =” OUI “, EPAIS = 0.001))
loaded = AFFE_CHAR_MECA (MODELE = model
DDL_IMPO =( TOUT =” OUI “, DX=0. , DY=0. , DRZ =0. ), DDL_IMPO =( GROUP_NO =” AXE “, DZ=0. , DRX =0. , DRY =0. ), DDL_IMPO =( GROUP_NO =” DROIT “, DZ=0. , DRX =0. , DRY =0. ), DDL_IMPO =( GROUP_NO =” GAUCH “, DZ=0. , DRX =0. , DRY =0.))
#
# CONSTRUCTION DES MATRICES FROM RIGIDITE AND FROM MASSE FROM SECTEUR FROM BASE
#
rigid = CALC_MATR_ELEM (MODELE = model, CHARGE = load,
CHAM_MATER = chammat, CARA_ELEM = chamcar, OPTION = “RIGI_MECA”)
mass = CALC_MATR_ELEM (MODELE = model, CHARGE = load,
CHAM_MATER = chammat, CARA_ELEM = chamcar,
OPTION =” MASS_MECA “)
number = NUME_DDL (MATR_RIGI = rigid)
matrigi = ASSE_MATRICE (MATR_ELEM = rigid, NUME_DDL = number)
matmass = ASSE_MATRICE (MATR_ELEM = massed, NUME_DDL = number)
#
# CALCUL DES MODES DYNAMIQUES FROM SECTEUR FROM BASE
#
fashion = CALC_MODES (MATR_RIGI = matrix,
MATR_MASS = matmass,
CALC_FREQ = _F (NMAX_FREQ = 15)
#
# DEFINITION DES INTERFACES AND DES MODES STATIQUES ASSOCIES
#
lint = DEFI_INTERF_DYNA (NUME_DDL = number, IMPR = 2,
INTERFACE = _F (NOM =” DROITE “, TYPE =” CRAIGB”, GROUP_NO = “DROIT”, MASQUE = (“X”, “DY”, “DRZ”),), INTERFACE = _F (NOM =” GAUCHE “, TYPE =” CRAIGB”, GROUP_NO = “GAUCH”, MASQUE = (“X”, “DY”, “DRZ”)))
#
# CALCUL OF THE BASE OF PROJECTION = RECUPERATION DES MODES DYNAMIQUES
# AND CALCUL DES MODES STATIQUES
bamo = DEFI_BASE_MODALE (CLASSIQUE = _F (INTERF_DYNA = lint, IMPR = 2,
MODE_MECA = fashion, NMAX_MODE = 15))
#
# CALCUL DES MODES CYCLIQUES
#
modcyc = MODE_ITER_CYCL (BASE_MODALE = bamo, NB_MODE =15, NB_SECTEUR =18,
LIAISON =_F (DROITE = “DROITE”, GAUCHE = “GAUCHE”),
CALCUL =_F (NB_DIAM =( 0, 1, 2, 3), NMAX_FREQ =2))