.. _d7.01.01-objectif: Objectif de l'exercice ====================== On propose de créer une nouvelle option qui permet le calcul de la contrainte moyenne par maille. Voici le cas d'utilisation visé : .. code-block:: python RESU = CALC_CHAMP(reuse=RESU, RESULTAT=RESU, NUME_ORDRE=1, CONTRAINTE=("SIGM_ELEM")) IMPR_RESU(RESU=_F(RESULTAT=RESU, NOM_CHAM=("SIGM_ELEM")), UNITE=8, FORMAT="RESULTAT") On utilise une copie du cas test sslv04a, correspondant à tpdev02a pour cet exercice. Un cas-test doit être : - de petite taille (quelques secondes de temps CPU, maillage avec le minimum de mailles) ; - facile à comprendre (peu de lignes) et doit couvrir une seule fonctionnalité (*test élémentaire*), toutes les configurations et tous les mots-clés ; - exemplaire : ne doit pas déclencher d'alarmes (par défaut, une alarme dans un cas-test produit une erreur) ; - documenté : dans le manual de validation. Ce test est une section de 45 degrés d'un tuyau sous pression interne, pour lequel il existe une référence analytique, voir [:external:ref:`V3.04.004 `]. Voici le fichier de commande à compléter: .. code-block:: py DEBUT(DEBUG=_F(SDVERI="OUI")) M = LIRE_MAILLAGE(FORMAT="MED") DEFI_GROUP(reuse=M, MAILLAGE=M, CREA_GROUP_NO=_F(NOM="DIRI", GROUP_MA="DIRI")) MO = AFFE_MODELE(MAILLAGE=M, AFFE=_F(TOUT="OUI", PHENOMENE="MECANIQUE", MODELISATION="3D")) MA = DEFI_MATERIAU(ELAS=_F(E=200000.0, NU=0.3, ALPHA=0.0)) CM = AFFE_MATERIAU(MAILLAGE=M, AFFE=_F(TOUT="OUI", MATER=MA)) CH = AFFE_CHAR_MECA( MODELE=MO, DDL_IMPO=(_F(GROUP_NO="DIRI", DY=0.0), _F(GROUP_NO="F", DZ=0.0)), FACE_IMPO=_F(GROUP_MA="DNOR", DNOR=0.0), PRES_REP=_F(GROUP_MA="PRES", PRES=60.0), ) RESU = MECA_STATIQUE(MODELE=MO, CHAM_MATER=CM, EXCIT=_F(CHARGE=CH)) CALC_CHAMP(reuse=RESU, RESULTAT=RESU, # ... ) TEST_RESU( RESU=( _F( NUME_ORDRE=1, RESULTAT=RESU, NOM_CHAM="SIGM_ELEM", NOM_CMP="SIXX", # ... ), _F( NUME_ORDRE=1, RESULTAT=RESU, NOM_CHAM="SIGM_ELEM", NOM_CMP="SIYY", # ... ), _F( NUME_ORDRE=1, RESULTAT=RESU, NOM_CHAM="SIGM_ELEM", NOM_CMP="SIZZ", # ... ), _F( NUME_ORDRE=1, RESULTAT=RESU, NOM_CHAM="SIGM_ELEM", NOM_CMP="SIXY", # ... ), _F( NUME_ORDRE=1, RESULTAT=RESU, NOM_CHAM="SIGM_ELEM", NOM_CMP="SIXZ", # ... ), _F( NUME_ORDRE=1, RESULTAT=RESU, NOM_CHAM="SIGM_ELEM", NOM_CMP="SIYZ", # ... ), ) ) IMPR_RESU(FORMAT="MED", RESU=_F(MAILLAGE=M, RESULTAT=RESU)) FIN()