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.