* fichier : mato-2d3.dgibi ************************************************************************ ************************************************************************ 'OPTION' 'ECHO' 0 ; ************************************************************************ * NOM : MATO-2D3 * DESCRIPTION : Test du MAilleur TOpologique pour mailler un carré de * avec une métrique anisotrope constante en espace * dans le but d'obtenir 10x20 mailles, puis 20x10 mailles * en autorisant le mailleur à modifier les noeuds du bord * dans ce dernier cas. * * On teste la qualité des éléments obtenus. * On améliore un peu la qualité du dernier maillage obtenu * avec une boucle entre r-adaptation (DEDU ADAP) et * remaillage. * * Issu de 2d_3.dgibi+tests * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA) * mél : stephane.gounand@cea.fr ********************************************************************** * VERSION : v1, 07/04/2020, version initiale * HISTORIQUE : v1, 07/04/2020, 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' ; * * Création du contour * d1 = 0.1 ; d2 = 0.05 ; pA = 0. 0. ; pB = 1. 0. ; pC = 1. 1. ; pD = 0. 1. ; * cnt = lAB 'ET' lBC 'ET' lCD 'ET' lDA ; * 'SI' graph ; 'FINSI' ; * * Tests divers (consistance...) * lok = VRAI ; * * TEST 1 Création d'un maillage sans ajouter de noeuds * 'SI' graph ; 'FINSI' ; * Test 1 : on vérifie que le nombre de noeuds est conservé 'SI' ('NEG' nno1 nno2) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 2 Création d'un maillage en ajoutant des noeuds interieurs * '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 'EQLT' ; 'SI' graph ; 'FINSI' ; * Sur mon linux64 au 07/04/2020 : Qmin= 0.66E+00 Qmed= 0.87E+00 Qmax= 0.10E+01 *miqr = 0.65 ; meqr = 0.86 ; maqr = 0.99 ; * * 2025/11/24 *miqar = 0.58 ; meqar = 0.82 ; maqar = 0.99 ; * 2026/01/08 miqar = 0.62 ; meqar = 0.85 ; maqar = 0.99 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 2b Création d'un maillage en ajoutant/retirant des noeuds interieurs et de bord * 'SI' graph ; 'FINSI' ; * Test 2 : on vérifie que les qualités mini, moyenne et maxi des éléments sont bonnes miqa meqa maqa = MIMEMA qmail2b 'EQLT' ; 'SI' graph ; 'FINSI' ; * Sur mon linux64 au 16/12/2025 : qmin=0.86 qmoy=0.86 qmax=0.86 * Il ne reste que deux elements dans le carre miqar = 0.86 ; meqar = 0.86 ; maqar = 0.86 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; 'MESS' '!!! TEST 2b failed' ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 3 Remaillage du précédent avec une métrique anisotrope constante * en espace compatible avec le maillage du bord 10x20 * 'G22' ('**' d2 -2) 'G21' 0. ; * Facultatif : mettre tout ça dans la notice de ALGOMAIL * ainsi que les valeurs par défaut * tparam3 . 'debug' = 2 ; 'SI' graph ; 'FINSI' ; * Test 3 : on vérifie que les qualités des éléments sont bonnes 'G22' ('**' d2 -2) 'G21' 0. ; miq meq maq = MIMEMA qmail3 'TOPO' ; miqa meqa maqa = MIMEMA qmail3 'COHE' ; 'SI' graph ; 'FINSI' ; * Sur mon linux64 au 07/04/2020 : Qmin= 0.66E+00 Qmoy= 0.84E+00 Qmax= 0.10E+01 *!!!!!!! Mieux miqr = 0.65 ; meqr = 0.83 ; maqr = 0.99 ; *miqr = 0.60 ; meqr = 0.83 ; maqr = 0.99 ; * 2025/11/24 *!!!!! Mieuxmiqar = 0.67 ; meqar = 0.91 ; maqar = 0.99 ; * 2025/11/24 new * miqar = 0.58 ; meqar = 0.91 ; maqar = 0.99 ; * 2026/01/08 miqar = 0.69 ; meqar = 0.94 ; maqar = 0.99 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' graph ; 'FINSI' ; * 2025/11/24 *miqer = 0.55 ; meqer = 0.85 ; maqer = 0.99 ; * 2026/01/08 miqer = 0.49 ; meqer = 0.71 ; maqer = 0.97 ; 'SI' (('<EG' miqe miqer) 'OU' ('<EG' meqe meqer) 'OU' ('<EG' maqe maqer)) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 4 Remaillage du précédent avec une métrique anisotrope constante * en espace différente visant à obtenir un maillage 20x10 * On demande au remailleur de modifier les noeuds du bord. * 'G22' ('**' d1 -2) 'G21' 0. ; 'SI' graph ; 'FINSI' ; * Test 4 : on vérifie que les qualités des éléments sont bonnes 'G22' ('**' d1 -2) 'G21' 0. ; miq meq maq = MIMEMA qmail4 'TOPO' ; miqa meqa maqa = MIMEMA qmail4 'COHE' ; 'SI' graph ; 'FINSI' ; * Sur mon linux64 au 07/04/2020 : Qmin= 0.67E+00 Qmoy= 0.85E+00 Qmax= 0.10E+01 *!!!! Mieux miqr = 0.65 ; meqr = 0.83 ; maqr = 0.99 ; *miqr = 0.42 ; meqr = 0.83 ; maqr = 0.99 ; * 2025/11/24 *!!!! Mieux miqar = 0.68 ; meqar = 0.92 ; maqar = 0.99 ; * 2025/11/24 new *miqar = 0.62 ; meqar = 0.90 ; maqar = 0.99 ; * 2026/01/08 miqar = 0.75 ; meqar = 0.93 ; maqar = 0.99 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' graph ; 'FINSI' ; * 2025/11/24 *!!!!! Mieux miqer = 0.55 ; meqer = 0.86 ; maqer = 0.99 ; * 2025/11/24 *miqer = 0.55 ; meqer = 0.85 ; maqer = 0.99 ; * 2026/01/08 miqer = 0.47 ; meqer = 0.68 ; maqer = 0.99 ; 'SI' (('<EG' miqe miqer) 'OU' ('<EG' meqe meqer) 'OU' ('<EG' maqe maqer)) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 5 Une petite boucle avec de la r-adaptation (DEDU ADAP) pour voir si on peut * améliorer la qualité du maillage mail3. * * La réponse est oui, on peut effectivement avoir une amélioration mais * après quelque itérations la qualité oscille sans s'alméliorer entre * r-adaptation et remaillage car les critères optimisés ne sont pas les * mêmes aux deux étapes. * nopt = 2 ; iopt = 0 ; * Paramètres de DEDUADAP thdedu = 0.2 ; rdepa = 1. ; nitm = 1 ; maili = mail4 ; 'REPE' bclopt nopt ; iopt = iopt '+' 1 ; * Partie DEDUADAP maili1 = maili ; 'G22' ('**' d1 -2) 'G21' 0. ; depa = '*' depa rdepa ; 'FORM' depa ; miq meq maq = MIMEMA qmaili1 'TOPO' ; miq meq maq = MIMEMA qmaili1 'COHE' ; 'SI' graph ; 'FINS' ; * Partie MAILTOPO * Qualités 'G22' ('**' d1 -2) 'G21' 0. ; miq meq maq = MIMEMA qmaili2 'TOPO' ; miqa meqa maqa = MIMEMA qmaili2 'COHE' ; 'SI' graph ; 'FINSI' ; maili = maili2 ; 'FIN' bclopt ; * Sur mon linux64 au 07/04/2020 : Qmin= 0.68E+00 Qmoy= 0.89E+00 Qmax= 0.10E+01 *!!!!! Mieux miqr = 0.67 ; meqr = 0.88 ; maqr = 0.99 ; *miqr = 0.43 ; meqr = 0.88 ; maqr = 0.99 ; * 2025/11/24 *miqar = 0.73 ; meqar = 0.93 ; maqar = 0.99 ; * 2026/01/08 miqar = 0.73 ; meqar = 0.94 ; maqar = 0.99 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; * 2025/11/24 * miqer = 0.54 ; meqer = 0.92 ; maqer = 0.99 ; * 2026/01/08 miqer = 0.51 ; meqer = 0.68 ; maqer = 0.99 ; 'SI' (('<EG' miqe miqer) 'OU' ('<EG' meqe meqer) 'OU' ('<EG' maqe maqer)) ; 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-2D3 * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales