* fichier : mato-2d1.dgibi ************************************************************************ ************************************************************************ 'OPTION' 'ECHO' 0 ; ************************************************************************ * NOM : MATO-2D1 * DESCRIPTION : Test du MAilleur TOpologique pour mailler un simple * carré 10x10 de manière régulière. * * On teste la qualité des éléments obtenus. * On améliore un peu la qualité du maillage obtenu * avec une boucle entre r-adaptation (DEDU ADAP) et * remaillage. * Toutefois, après quelque itérations la * qualité oscille sans s'alméliorer car les critères * optimisés ne sont pas les mêmes aux deux étapes. * * Issu de 2d_1.dgibi+tests * * * LANGAGE : GIBIANE-CAST3M * AUTEUR : Stéphane GOUNAND (CEA/DEN/DM2S/SEMT/LTA) * mél : stephane.gounand@cea.fr ********************************************************************** * VERSION : v1, 02/04/2020, version initiale * HISTORIQUE : v1, 02/04/2020, création * HISTORIQUE : * HISTORIQUE : ************************************************************************ * interact = faux ; graph = faux ; complet = FAUX ; * Mini, mediane et maxi d'un MCHAML '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 * nx = 10 ; 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 ; 'SINO' ; '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, moyenne 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 02/04/2020 : qmin=0.64 qmoy=0.87 qmax=1.00 *miqr = 0.63 ; meqr = 0.86 ; maqr = 0.99 ; * 2025/11/21 *miqar = 0.54 ; meqar = 0.84 ; maqar = 0.99 ; * 2026/01/08 miqar = 0.65 ; meqar = 0.86 ; maqar = 0.99 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' faux ; met = DEADMETR mail2 ; len = vp '**' 0.5 ; 'LIST' tt ; rap = '/' v1 v2 ; 'LIST' rap ; ltr = '/' ('+' v1 v2) 2 ; ldet = '**' ('*' v1 v2) 0.5 ; rap2 = '/' ldet ltr ; 'LIST' rap2 ; '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 2c Une petite boucle avec de la r-adaptation (DEDU ADAP) permet * d'améliorer la régularité du maillage mail2 mais ce n'est pas nécessaire * pour la suite donc on saute. * * 2020/04/03 : On arrive à avoir qmin = 0.80 * avec nopt = 2 ; thdedu = 0.2 ; rdepa =1. ; nitm = 1 ; * 'SI' complet ; nopt = 2 ; iopt = 0 ; * Paramètres de DEDUADAP thdedu = 0.2 ; rdepa = 1. ; nitm = 1 ; maili = mail2 ; 'REPE' bclopt nopt ; iopt = iopt '+' 1 ; * Partie DEDUADAP maili1 = maili ; depa = '*' depa rdepa ; 'FORM' depa ; miq meq maq = MIMEMA qmaili1 'TOPO' ; 'SI' graph ; 'FINS' ; * Partie MAILTOPO * Qualités miq meq maq = MIMEMA qmaili2 'TOPO' ; 'SI' graph ; 'FINSI' ; maili = maili2 ; 'FIN' bclopt ; mail2 = maili ; 'FINS' ; * * TEST 3 Remaillage du précédent avec une métrique uniforme constante * en espace * metva = '/' 1. nx ; 'SI' graph ; 'FINSI' ; * Test 3 : on vérifie que les qualités mini et moyenne des éléments sont bonnes miq meq maq = MIMEMA qmail3 'TOPO' ; miqa meqa maqa = MIMEMA qmail3 'COHE' ; 'SI' graph ; 'FINSI' ; * Sur mon linux64 au 02/04/2020 : qmin=0.624 qmoy=0.847 qmax=1.00 *miqr = 0.61 ; meqr = 0.83 ; maqr = 0.99 ; * 2025/11/21 *miqar = 0.61 ; meqar = 0.92 ; maqar = 0.99 ; * 2026/01/08 miqar = 0.75 ; meqar = 0.90 ; maqar = 0.99 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; qmail3b = qmail3b '**' -1 ; * 'SI' ('NEG' ndqmail 0. tol) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' graph ; 'FINSI' ; * Sur mon linux64 au 02/04/2020 : qmin=0.624 qmoy=0.847 qmax=1.00 *miqr = 0.61 ; meqr = 0.83 ; maqr = 0.99 ; * 2025/11/21 *miqer = 0.55 ; meqer = 0.86 ; maqer = 0.99 ; * 2026/01/08 miqer = 0.52 ; meqer = 0.73 ; maqer = 0.98 ; 'SI' (('<EG' miqe miqer) 'OU' ('<EG' meqe meqer) 'OU' ('<EG' maqe maqer)) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 4 On vérifie qu'en remaillant le maillage précédent avec la même * métrique uniforme constante donnée sous forme d'un champ isotrope * constant, on ne modifie pas le maillage * vcnx = '**' ('/' 1. nx) -2 ; * Test 4 : on vérifie que mail4 et mail3 sont identiques ainsi que les * qualités 'SI' ('NEG' dn34 0) ; lok = lok 'ET' faux ; 'FINS' ; * VALE prec un peu trop serré pour semt2 'SI' ('>' dq34 tol) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 5 On vérifie qu'en remaillant le maillage précédent avec la même * métrique uniforme constante donnée sous forme d'un champ anisotrope * constant, on ne modifie pas le maillage * vcnx = '**' ('/' 1. nx) -2 ; 'G21' 0. ; * Test 5 : on vérifie que mail5 et mail3 sont identiques ainsi que les * qualités 'SI' ('NEG' dn35 0) ; lok = lok 'ET' faux ; 'FINS' ; * VALE prec un peu trop serré pour semt2 'SI' ('>' dq35 tol) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 6 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. * * 2020/04/03 : On arrive à avoir qmin = 0.70 avec thdedu = 1. ; rdepa =1. ; nitm = 1 ; * 2020/04/03 : On arrive à avoir qmin = 0.76 avec thdedu = 0.2 ; rdepa =1. ; nitm = 1 ; * * nopt = 2 ; iopt = 0 ; * Paramètres de DEDUADAP thdedu = 0.2 ; rdepa = 1. ; nitm = 1 ; *thdedu = 0.5 ; rdepa = 1. ; nitm = 1 ; maili = mail3 ; vcnx = '/' 1. nx ; vcnx2 = '**' vcnx -2 ; 'REPE' bclopt nopt ; iopt = iopt '+' 1 ; * Partie DEDUADAP maili1 = maili ; depa = '*' depa rdepa ; 'FORM' depa ; miq meq maq = MIMEMA qmaili1 'TOPO' ; miq meq maq = MIMEMA qmaili1 'COHE' ; 'SI' graph ; 'FINS' ; * Partie MAILTOPO * Qualités miq meq maq = MIMEMA qmaili2 'TOPO' ; miqa meqa maqa = MIMEMA qmaili2 'COHE' ; 'SI' graph ; 'FINSI' ; maili = maili2 ; 'FIN' bclopt ; * Sur mon linux64 au 02/04/2020 : qmin=0.723 qmoy=0.890 qmax=1.00 *!!!Mieux miqr = 0.71 ; meqr = 0.88 ; maqr = 0.99 ; *miqr = 0.69 ; meqr = 0.88 ; maqr = 0.99 ; * 2025/11/21 *!!!Mieux miqar = 0.74 ; meqar = 0.95 ; maqar = 0.99 ; * 2025/11/21 new *miqar = 0.70 ; meqar = 0.93 ; maqar = 0.99 ; * 2026/01/08 miqar = 0.79 ; meqar = 0.92 ; maqar = 0.99 ; 'SI' (('<EG' miqa miqar) 'OU' ('<EG' meqa meqar) 'OU' ('<EG' maqa maqar)) ; lok = lok 'ET' faux ; 'FINS' ; * 2025/11/21 *miqer = 0.60 ; meqer = 0.92 ; maqer = 0.99 ; * 2026/01/08 miqer = 0.55 ; meqer = 0.73 ; maqer = 0.98 ; '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-2D1 * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales