1. Objectif de l’exercice#

On propose de créer une nouvelle commande qui permet la translation d’un maillage d’un vecteur 2D ou 3D.

Voici le cas d’utilisation visé :

mesh = LIRE_MAILLAGE(FORMAT="ASTER")

mesh = MODI_MAIL(reuse=mesh, MAILLAGE=mesh, TRANSLATION=_F(VECTEUR=(1.0, 2.5, 4.0)))

On utilise un cube d’une unité de longueur. Après translation, on vérifie le maximum des coordonnées dans chaque direction. Dans le cadre de cet exercice, on peut considérer que c’est suffisant !

# check that the coordinates were correctly changed
chcoord = CREA_CHAMP(TYPE_CHAM="NOEU_GEOM_R", OPERATION="EXTR", MAILLAGE=mesh, NOM_CHAM="GEOMETRIE")

TEST_RESU(
    CHAM_NO=(
        _F(CHAM_GD=chcoord, TYPE_TEST="MAX", NOM_CMP="X", VALE_CALC=2.0),
        _F(CHAM_GD=chcoord, TYPE_TEST="MAX", NOM_CMP="Y", VALE_CALC=3.5),
        _F(CHAM_GD=chcoord, TYPE_TEST="MAX", NOM_CMP="Z", VALE_CALC=5.0),
    )
)

C’est une bonne pratique de commencer un développement par l’écriture de la mise en données et donc du cas-test auquel on veut arriver, même s’il ne s’agit que d’une ébauche.

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.