* 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 ; * * 'SI' ('NON' interact) ; 'OPTION' 'TRAC' 'PSC' ; 'SINON' ; 'OPTION' 'TRAC' 'X' ; 'FINSI' ; * * Création du contour * nx = 10 ; *nx = 2 ; 'OPTI' debu 1 ; 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 * * tparam = 'TABL' ; * tparam . 'debug' = 0 ; * tparam . 'graph' = vrai ; * mail1 = MAILTOPO 'TRIA' cnt 'NOAJ' tparam ; '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, moyenne et maxi des éléments sont bonnes 'SI' graph ; 'FINSI' ; * Sur mon linux64 au 02/04/2020 : qmin=0.64 qmoy=0.87 qmax=1.00 miqref = 0.63 ; moqref = 0.86 ; maqref = 0.99 ; 'SI' ('<EG' miq miqref) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' ('<EG' moq moqref) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' ('<EG' maq maqref) ; lok = lok 'ET' faux ; 'FINS' ; * * TEST 2b 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 ; 'SI' graph ; 'FINS' ; * Partie MAILTOPO * Qualités '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 'SI' graph ; 'FINSI' ; * Sur mon linux64 au 02/04/2020 : qmin=0.624 qmoy=0.847 qmax=1.00 miqref = 0.61 ; moqref = 0.83 ; maqref = 0.99 ; 'SI' ('<EG' miq miqref) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' ('<EG' moq moqref) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' ('<EG' maq maqref) ; 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' ; *dq34 = 'MAXI' ('-' ('REDU' qmail4 mail3) qmail3) 'ABS' ; * VALE prec un peu trop serré pour semt2 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 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 ; maili = mail3 ; vcnx = '/' 1. nx ; vcnx2 = '**' vcnx -2 ; 'REPE' bclopt nopt ; iopt = iopt '+' 1 ; * Partie DEDUADAP maili1 = maili ; depa = '*' depa rdepa ; 'FORM' depa ; 'SI' graph ; 'FINS' ; * Partie MAILTOPO * Qualités 'SI' graph ; 'FINSI' ; maili = maili2 ; 'FIN' bclopt ; * Sur mon linux64 au 02/04/2020 : qmin=0.723 qmoy=0.890 qmax=1.00 miqref = 0.71 ; moqref = 0.88 ; maqref = 0.99 ; 'SI' ('<EG' miq miqref) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' ('<EG' moq moqref) ; lok = lok 'ET' faux ; 'FINS' ; 'SI' ('<EG' maq maqref) ; 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