* fichier : mato-3d3.dgibi ************************************************************************ ************************************************************************ 'OPTION' 'ECHO' 0 ; ************************************************************************ * NOM : MATO-3D3 * DESCRIPTION : Test du MAilleur TOpologique pour mailler un cube * avec une métrique isotrope constante en espace * dans le but d'obtenir 1x1x1 mailles. * Au départ, le cube est 5x5x5. Concernant la frontière, * on contraint le mailleur, soit à ne pas la modifier, * soit à en modifier une partie, soit la totalité. * * On teste la qualité des éléments obtenus. * * Issu de mato-2d5.dgibi * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA) * mél : stephane.gounand@cea.fr ********************************************************************** * VERSION : v1, 08/06/2026, version initiale * HISTORIQUE : v1, 08/06/2026, création * HISTORIQUE : * HISTORIQUE : ************************************************************************ * interact = faux ; graph = faux ; * Mini, mediane et maxi d'un LISTREEL 'DEBP' MIMEMA ; 'FINP' mil mel mal ; * Passage au gravite d'un MCHAML 'DEBP' CHGRAV ch*'MCHAML'; * * 'SI' ('NON' interact) ; 'OPTION' 'TRAC' 'PSC' ; 'SINON' ; 'OPTION' 'TRAC' 'X' ; 'FINSI' ; ldens = ldens1 'ET' (ldens2 '**' -1.) ; * for = '(E11.3)' ; * * Création du contour * * On met nv plus petit que 1 pour bien forcer le deraffinement nx = 5 ; nv = 0.5 ; pA = 0. 0. 0. ; pB = 1. 0. 0. ; * faces x=0, y=0, z=0 fac0 = facx0 'ET' facy0 'ET' facz0 ; * 'SI' graph ; 'TRACER' 'CACH' envq 'TITR' tit ; 'FINSI' ; * * Tests divers (consistance...) * lok = VRAI ; * * TEST 1 Création d'un maillage initial * 'SI' graph ; 'FINSI' ; * Test 1 : on vérifie que les qualités mini, moyenne et maxi des éléments sont bonnes miqo meqo maqo = MIMEMA qmail1 'TOPO' ; miqa meqa maqa = MIMEMA qmail1 'EQLT' ; 'SI' graph ; 'FINSI' ; * 2026/06/08 nx=5 nv=0.5 *miqar = 0.64 ; meqar = 0.82 ; maqar = 0.99 ; * 2026/06/11 nx=5 nv=0.5 linux32 miqar = 0.62 ; meqar = 0.83 ; maqar = 0.99 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 2 Remaillage de mail1 avec une taille voulue de 0.2 sans * toucher le bord * critqs = tparam . 'critquals_eff' ; 'SI' graph ; 'FINSI' ; * Test 2 : on vérifie que les qualités mini, mediane et maxi des éléments sont bonnes miqo meqo maqo = MIMEMA qmail2 'TOPO' ; miqa meqa maqa = MIMEMA qmail2 'COHE' ; 'SI' graph ; 'FINSI' ; * 2026/06/08 nx=5 nv=0.5 linux32 *miqar = 0.36 ; meqar = 0.48 ; maqar = 0.66 ; * 2026/06/10 nx=5 nv=0.5 linux64 miqar = 0.09 ; meqar = 0.45 ; *maqar = 0.89 ; * 2026/06/11 nx=5 nv=0.5 linux32 miqar = 0.11 ; meqar = 0.37 ; maqar = 0.89 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' graph ; 'FINSI' ; * 2026/06/08 nx=5 nv=0.5 linux32 *miqer = 0.14 ; meqer = 0.15 ; maqer = 0.16 ; * 2026/06/10 nx=5 nv=0.5 linux64 *miqer = 0.04 ; meqer = 0.15 ; maqer = 0.33 ; * 2026/06/11 nx=5 nv=0.5 linux32 miqer = 0.04 ; meqer = 0.11 ; maqer = 0.32 ; 'SI' (('<EG' miqe miqer) 'OU' ('NEG' meqe meqer 0.01) 'OU' ('>EG' maqe maqer)) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 3 Remaillage de mail1 avec une taille voulue de 0.2 en touchant * les faces x=0, y=0, z=0 mais pas les trois autres * 'SI' graph ; 'FINSI' ; * Test 3 : on vérifie que les qualités mini, mediane et maxi des éléments sont bonnes miq meq maq = MIMEMA qmail3 'TOPO' ; miqa meqa maqa = MIMEMA qmail3 'COHE' ; 'SI' graph ; 'FINSI' ; * 2026/06/08 nx=5 nv=0.5 linux32 *miqar = 0.18 ; meqar = 0.26 ; maqar = 0.37 ; * 2026/06/10 nx=5 nv=0.5 linux64 miqar = 0.10 ; *meqar = 0.34 ; maqar = 0.89 ; * 2026/06/11 nx=5 nv=0.5 linux32 miqar = 0.11 ; meqar = 0.36 ; maqar = 0.86 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' graph ; 'FINSI' ; * 2026/06/08 nx=5 nv=0.5 linux32 *miqer = 0.18 ; meqer = 0.19 ; maqer = 0.20 ; * 2026/06/08 nx=5 nv=0.5 linux64 *miqer = 0.03 ; meqer = 0.16 ; maqer = 0.35 ; * 2026/06/08 nx=5 nv=0.5 linux32 miqer = 0.06 ; meqer = 0.14 ; maqer = 0.39 ; 'SI' (('<EG' miqe miqer) 'OU' ('NEG' meqe meqer 0.03) 'OU' ('>EG' maqe maqer)) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 4 Remaillage de mail1 avec une taille voulue de 0.2 en touchant * tout le bord * 'SI' graph ; 'FINSI' ; * Test 4 : on vérifie que les qualités mini, mediane et maxi des éléments sont bonnes miq meq maq = MIMEMA qmail4 'TOPO' ; miqa meqa maqa = MIMEMA qmail4 'COHE' ; 'SI' graph ; 'FINSI' ; * 2026/06/08 nx=5 nv=0.5 * miqar = 0.81 ; meqar = 0.81 ; maqar = 0.81 ; * 2026/06/11 nx=5 nv=0.5 linux32 miqar = 0.63 ; meqar = 0.77 ; maqar = 0.88 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' graph ; 'FINSI' ; * 2026/06/08 nx=5 nv=0.5 * miqer = 0.55 ; meqer = 0.56 ; maqer = 0.57 ; * 2026/06/11 nx=5 nv=0.5 linux32 miqer = 0.36 ; meqer = 0.44 ; maqer = 0.51 ; 'SI' (('<EG' miqe miqer) 'OU' ('NEG' meqe meqer 0.01) 'OU' ('>EG' maqe maqer)) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 5 Remaillage de mail4 avec une taille voulue de 0.2 en ne touchant * plus le bord. On s'attend à ne pas changer le maillage mais * c'est sans compter avec l'algorithme du noeud fictif qui nous * a deja fait des blagues * * Il faut aussi garder exactement le même critère de qualité * lpcritq = tparam . 'lpcritq' ; * lcq = 'EXTR' lpcritq ('DIME' lpcritq) ; * jcq = 'ENTI' 'PROC' ('EXTR' lcq 1) ; * pcq = 'EXTR' lcq 2 ; qcq = 'EXTR' lcq 3 ; * tparam5 = 'TABL' ; * tparam5 . 'impr' = 2 ; * tparam5 . 'critqual' = 'LECT' jcq ; * tparam5 . 'critqual_pmoy' = 'PROG' pcq ; * tparam5 . 'critqual_qbias' = 'PROG' qcq ; 'SI' graph ; 'FINSI' ; * Test 5 : on vérifie que mail5 et mail4 sont identiques ainsi que les * qualités 'SI' ('NEG' dn45 0) ; lok = lok 'ET' faux ; 'FINS' ; * * Test final * 'SI' ('NON' lok) ; 'ERREUR' 5 ; 'SINON' ; 'MESSAGE' ('CHAINE' 'Tout sest bien passe !') ; 'FINSI' ; * 'SI' interact ; 'OPTION' 'ECHO' 1 ; 'OPTION' 'DONN' 5 ; 'FINSI' ; * * End of dgibi file MATO-3D3 * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales