• # 2d.comm

    Posté par . En réponse au journal Tutorial Code_Aster. Évalué à 5. Dernière modification le 06 janvier 2018 à 18:43.

    DEBUT();
    mesh=LIRE_MAILLAGE( INFO=2,UNITE=20,FORMAT='MED',);
    mesh=DEFI_GROUP(
     MAILLAGE=mesh,
     reuse =mesh,
     CREA_GROUP_MA=_F(NOM='TOUT',TOUT='OUI',),
     CREA_GROUP_NO=_F(TOUT_GROUP_MA='OUI',),
    );
    model=AFFE_MODELE(
    MAILLAGE=mesh,
     AFFE=(
     _F(
     GROUP_MA=('poutre',),
     PHENOMENE='MECANIQUE',
     MODELISATION='DKT',
     ),
     ),
    );
    steel=DEFI_MATERIAU(
     ELAS=_F(E=210000.,NU=0.3,RHO=8e-9,ALPHA=12e-6,),
    );
    material=AFFE_MATERIAU(
     MAILLAGE=mesh,
     AFFE=_F(GROUP_MA=('TOUT',),MATER=steel,),
    );
    elemcar=AFFE_CARA_ELEM(
     MODELE=model,
     COQUE=(
     _F(GROUP_MA=('poutre',),EPAIS=3,VECTEUR=(0,1,0),),
     ),
    );
    encas=AFFE_CHAR_MECA(
     MODELE=model,
     DDL_IMPO=
     _F(GROUP_NO=('encastr',),DX=0,DY=0,DZ=0,DRX=0,DRY=0,DRZ=0,),
    );
    force=AFFE_CHAR_MECA(
     MODELE=model,
     FORCE_NODALE=_F(GROUP_NO=('force',),FZ=-500,),
    );
    stat=MECA_STATIQUE(
     MODELE=model,
     CHAM_MATER=material,
     CARA_ELEM=elemcar,
     INFO=2,
     EXCIT=(
     _F(CHARGE=encas,),
     _F(CHARGE=force,),
     ),
    );
    stat=CALC_CHAMP(
     reuse =stat,
     RESULTAT=stat,
     CONTRAINTE=(
     'SIEF_ELNO',
     'SIPM_ELNO',
     'SIGM_ELNO', 
     ),
     FORCE=('REAC_NODA'),
    );
    stat2=POST_CHAMP(
     RESULTAT=stat,
     GROUP_MA=('poutre',), 
     EXTR_COQUE=_F(
     NUME_COUCHE=1,
     NIVE_COUCHE='SUP',
     NOM_CHAM=('SIGM_ELNO',),
     ),
    );
    statsup=CALC_CHAMP(
     RESULTAT=stat2,
     GROUP_MA=('poutre',),
     CRITERES=('SIEQ_ELNO','SIEQ_NOEU',),
    );
    IMPR_RESU(
     FORMAT='MED', 
     UNITE=80,
     RESU=(
     _F(
     GROUP_MA=('poutre'),
     RESULTAT=stat,NOM_CHAM=('DEPL','REAC_NODA'),
     ),
     _F(
     GROUP_MA=('poutre',),
     RESULTAT=statsup,
     NOM_CHAM='SIEQ_NOEU',NOM_CMP='VMIS',
     NOM_CHAM_MED='vmis',
     ),
     ),
    );
    FIN();