From 2c84e1e1332c6871aa12b0df1835f073830dc36e Mon Sep 17 00:00:00 2001 From: Thomas Toulorge <thomas.toulorge@mines-paristech.fr> Date: Tue, 18 Nov 2014 10:49:47 +0000 Subject: [PATCH] Added doc on mesh optimizer --- .../doc/figures/log_barrier/Makefile | 4 + .../doc/figures/log_barrier/log_barrier.pdf | Bin 0 -> 28796 bytes .../doc/figures/log_barrier/log_barrier.tex | 16 + .../figures/log_barrier/log_barrier_max.pdf | Bin 0 -> 28746 bytes .../figures/log_barrier/log_barrier_max.tex | 17 + .../doc/figures/opti_process/Makefile | 4 + .../doc/figures/opti_process/opti2.dat | 71 ++ .../doc/figures/opti_process/opti_process.pdf | Bin 0 -> 60448 bytes .../doc/figures/opti_process/opti_process.tex | 40 + .../doc/figures/patches/patch_def.png | Bin 0 -> 15744 bytes .../doc/figures/patches/patch_tangled.png | Bin 0 -> 16690 bytes .../doc/figures/patches/patch_untangled.png | Bin 0 -> 15945 bytes .../doc/figures/patches/patchdef.xcf | Bin 0 -> 86327 bytes .../doc/figures/untangling/linear.pdf | Bin 0 -> 18894 bytes .../doc/figures/untangling/p2.pdf | Bin 0 -> 19114 bytes .../doc/figures/untangling/p2_bad.pdf | Bin 0 -> 18933 bytes .../MeshOptimizer/doc/mesh_optimization.tex | 833 ++++++++++++++++++ 17 files changed, 985 insertions(+) create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/Makefile create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.pdf create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.tex create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.pdf create mode 100644 contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.tex create mode 100644 contrib/MeshOptimizer/doc/figures/opti_process/Makefile create mode 100644 contrib/MeshOptimizer/doc/figures/opti_process/opti2.dat create mode 100644 contrib/MeshOptimizer/doc/figures/opti_process/opti_process.pdf create mode 100644 contrib/MeshOptimizer/doc/figures/opti_process/opti_process.tex create mode 100644 contrib/MeshOptimizer/doc/figures/patches/patch_def.png create mode 100644 contrib/MeshOptimizer/doc/figures/patches/patch_tangled.png create mode 100644 contrib/MeshOptimizer/doc/figures/patches/patch_untangled.png create mode 100644 contrib/MeshOptimizer/doc/figures/patches/patchdef.xcf create mode 100644 contrib/MeshOptimizer/doc/figures/untangling/linear.pdf create mode 100644 contrib/MeshOptimizer/doc/figures/untangling/p2.pdf create mode 100644 contrib/MeshOptimizer/doc/figures/untangling/p2_bad.pdf create mode 100644 contrib/MeshOptimizer/doc/mesh_optimization.tex diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/Makefile b/contrib/MeshOptimizer/doc/figures/log_barrier/Makefile new file mode 100644 index 0000000000..515b395b75 --- /dev/null +++ b/contrib/MeshOptimizer/doc/figures/log_barrier/Makefile @@ -0,0 +1,4 @@ +%.pdf : %.tex + pdflatex --shell-escape $< +clean : + ${RM} *.gnuplot *.table *.aux *.log diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.pdf b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c288af6d3912406372e1b4b08b7b3a1242a97956 GIT binary patch literal 28796 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 literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.tex b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.tex new file mode 100644 index 0000000000..5cfc664844 --- /dev/null +++ b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier.tex @@ -0,0 +1,16 @@ +\documentclass{standalone} +\usepackage{tikz} +\begin{document} +\begin{tikzpicture}[yscale = 0.25, xscale = 2] + \draw[thick, ->] (0,0) -- (3.2,0) node[right] {$m$}; + \draw[thick, ->] (0,0) -- (0,17) node[left] {$F_{\epsilon,\omega}$}; +% \node at (2, 12) {$F_{\epsilon,\omega}(m) = (m - \omega)^2 + \log\Big(\frac{m - \epsilon} {\omega - \epsilon}\Big)^2$}; + \foreach \y in {0, 5, 10, 15} + \draw[thick, shift={(0, \y)}] node[left] {$\y$}(-1pt, 0pt) -- (0pt,0pt) ; + \foreach \x in {0, 1, 2, 3} + \draw[thick, shift={(\x, 0)}] node[below] {$\x$}(0pt, -8pt) -- (0pt,0pt) ; + \clip(-1,-2) rectangle(3.5, 17); + \draw[very thick, dashed](0.2, 0) node[below]{$\epsilon$}-- (0.2, 20); + \draw[thick, domain = 0.2:3, samples=300] plot[id=opti] function{(log((x - 0.2)/ 0.8))**2 + (x - 1)**2}; +\end{tikzpicture} +\end{document} diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.pdf b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7140741c42bbaaef76123ad848e7c5e37ff683c4 GIT binary patch literal 28746 zcma&ML$EMR&}MmU+qP}nwr$(CZQHhO+s1osYrdG6e<C`%7hS8&Mb)k%<2)xx6-2~n z8R=M|NEcQ{H=x)E7zpf*tO$5`py*{x?aW;)2$)&fm<j&h14S=pY2#w*L_jZQW9VWk zVrpz}VhY8_2j%SIWNK&&<*~JzHEl;W=@|Ov6ZJT!*O2oD-NS4ExnNfS)`MZq8bkwu z1*rG&@{=1e(Ju+N3DTu57A*Vtt(oZ<kE|)P?yrCG`J?=K;(hk#a#|hleeHGXcCJ~k z@8|oOAI;j|Z*!>Jb*1<7xi8(o*Lj{t2`#~negAUxl7j9*SBZK5c6AZo#xV}%dvU%# z?f0P?y~KNobN%-8LLU4VBjbN?Wxwv+=WXAqe=66E0taMS8arlZ`le&_Hbd`IZS5NF z*Z7xzoII{Pf8IDgH{bX|zm8v@Uss+Vmo?7e`NF+k=-TP3d0s1bZoYmNdOC+TUwZ1D zI$MaNmd5t+Mlb*O*_~7Gd#5<|a!S9hX=45Qayq|0|Mz{>|9vrypZ9w_ZCuSBz45Oc z{TxS=)G8VtpR4zdU76_4J8p4Yy&rcsPoMHj<Lz(IaXvH^x^R8h?Tc?*^*WQ<e9bAI zao=5shRb@!u|N4(BfZY?PBVQiw!734i!iSCvp(g#|7Tenzkl<tHD0&!99_%zz<6%6 z`}uciv0mw^v~n%h;DzqvYi5Pad{PFocqKe_4Vri~NyBifygjO4?@7yE(gWmM#u#S9 z%J!?`=lw@`m(i8-Wjw_`SctQ))Tf5w^b35-fA=)@abDl_TjnqGR`ej`^<lfa>)b0| zwT{t#{_;+-e~)rHMlWMebw7OsN}2y}?V}#8ca49<=a=f-oNNM;yKH5;c#Jo|9+QZ? zMB{6mCh@6fnqr@6RP(6qAO6PCsMsCGacIpx#S?tAj~Wov3yC(=`DZTJzZ*Kp$*o)~ zZ}lIIL+Cwvp!&3)N?)=gbx3}N?TZ<TdKdoye9QxgKVq;6o}QIfzP16)$03l9T1dTm z&*fv`Ir&-v=)&r`CB4i;>d!=6Jg)Bq!ikl>HFj7;X+4ah?=gh>wH{J#!hh#!1wdt~ zYaX_d;Gc!0aY+0|kxKXLQ~OOL|2>HG!rpVYn$?~LA-LZ-@)T{t;H6(n?FS{ic*l0t z=9I~9QY_=x{&rZO4e<B!1HSRgUtjJ&qLSc#r#knMS+i$d`}yuyaiV<tvuD}%n!$)C z5C%5Cg+aXMs#D+YR@9o_(zk4n(JXA2&*}6GkKtYOKngGRhP~gb^}6OxcqP1Izw+q% z7WJq$={=d@o;ZW5^z5G9qBRI?1G0_@_p+GuDpyTg4B&9KI^IQq?fQDNAkmCg(D~HR zOLdZMP`usNm`z-K1KHZ)UByQ+aSGM$xt_S~67f%Rt15-XMm4;7wNlmcbOkr7wVldr zCn}otcF7z|fcgb@A;(8TU{1xB+HLpbYXC~(dV-3R-FS_4lZZy><f3yZ2Xg_d*0f+} zi4Bp>?aC8y(cIk8qC9X3*F9s(1NH&qBcWa1Jie%m*K)C9beMPe+&mAqhMd-2#<eWK zF-|)nvKF}wx+dn#Tq&lp40mdv4d^nbOj#Lold;L~wq^2Hc051urM9!@u<bHz)<)TB zxr<SqIxtoZlU#$pOB^ap04Q~J&3Z2|cGb})`9}yEW-bI&L?jh>mgwu?`$#8Bu;ke! zoa}5KcVpz!=sKHm40NxfexX0|t!1~^AiB^i;P6M276%hdH87%M1zu?8h(iYWL@@h~ zD;>|q!xpqfxu|*Z(4iSup#Y{tzj0Bpn@em57IIu5`v>ARF>^raf*U-{w_R*QSKAGS zny8{;!m3U<u~==jX>->>p!cSi9@fFQV<2Q}MnV9CCiXV&MOTZ_XnA+tln9jza@rGw z#VVfw6}k)OYA!bjS`7=8fT4$O@i78{E?cNOQg$it-)*35X-PxPgYIVTMwt>NgW-#K z;8}%DdMfW~jY{TVy333jm6-wbC<to&5EbY8N&&wY4pbWj&ePJfmQHw7KG`NY%@ch? zD|GI)oyN#Yl?dfz;SG;DE^$!OnyMKQdI({?{17UkcvO|>Bq?HBgUAAA*rM{3Ryt*d zAJ}T8iA|y^-tMXaN+sE>gSu;s6jv4pN$Wy3yn=o%5L}p%o!pFEww8f)86PmVNPnI# z##Ed2^Hm$AljKE{xWP#JZs@>LTD@|Aji!vL0=Sp~^EP5Jo4Y14hDvsF5!Gryg|6t5 ztIuI~BDC{nC9gNG?bKvRH4s#Cc8MZHloCdb+Z#WIYUuSs>cQ*OE`?+9CaW;6FKCNe zJy`D0qDs+tS`SNv643Cv*yQvx(ICPOm#e(O6IofO2UTdG(}u7+zNrPOn`E5rP^aXg z%ybnXVQ8+T|D)c*MX_$G*qgMJ$@r&^YL!vEW#uMgC&rK*9Y#NVkF|+o+lKVI&FBT> z`1Jr7uex~|+b*Pw2UKxx<z6RHwu^4A<e+9>oRIW(D`Kd@OyHtdS?zRFP($6`noOTd z-pwLdh^UyrnU&qJiDc#JK!qx8!wJ*!;McRWWDM#?(a)zJ?V921348lgQb2^)IK@ey zO>)nu+`uAnfh@Eew26F#pg}ES8r9x6SZ7+waFd0*?I4$`_=3Y8XN3-n;gjeDU<laR z#fdl^6{qPoZtnV^0oCYHp$9VtOVi~=wmAPn0kAel%`QzVSZ-=kIxWOkV3<`8Q7edP zpv%TM+JY-6n<Wk2J8Q|RhCVN*g%o##WP0;Xmfam-df}gz78z-yaWq(svG&z%HDI>o zwo!8~6l9x2<=P7qk8Rmfni81}nLnD%F-JA=f^~3{X^(0)qAZ?`d$n?rHjst<v;HKT zB#gcas<IoIuJ7D{K@}Q-_4Tzz@_4zbO#3Mcr(!Z75sz*Y-JM-)_zF)!AlR-tf(jEH z#!=NJ+)3{_8bU1jrmXYL9N`&?HtrguQZ0CJoto-9m-VB$A#*3`oxqVqoS;T+v%&7+ zydC3Ol^R6<(=9;RrC@0RYL<hvoV?pPuQ$k{60kyPk>lFsW_Ln?DmN;&r@Y>pNBM+c zk#klkdMzs8wVJPad6U76h}&|WWo?|Q;yNXel9{u2kf3g?&B`H+IqRzTIo5D8I>edP zG6tTepB1{Z?eawo`v+)l;A`}=f}OJfgE}!b3Y_~(Q6tjYY#4Vt(n7&ZgkNGo9*MPP zQk35!ws1Y^(U!=Ag^1qCI+`<Wk#jBB4PbC5opHE=W%--rjOv0$RyuA_CsK};tD+Vg zAdvjBTX)#>z`xPmTbzRZUmCL=tY!){?kK{Isjf=fF*g_?rOR#zXYAoh0F2W9h%)4^ zxmI^%cU_~I1dw^zhF10zsr};qYr03N8n@~Mz=w-98p(5Kpsw(a>H?{8N<cwfNvv6t zMycfNfJ4BU5IIN;EN!)myi<d!E-Xd1;IRCTQSElI=AB^QpoilX5!LyBiAf&Ttq<25 z>IW5GE;SfHN@$L_Sep<hif|D1lvz@iS$MxIj*e_W&Q#G)JOn4MRxGxpX0a-wdevsj zib{0gCn>eG=$NO*DoeOh<aB9bsU0H#Ap@TWGRM!5l&+4p*ty!Yrv?rhQ#C-$IwtK? z&qjeP%^4$r=@`drpv#T(D6yd+HmC)h@DTB*HjJq_(CHpDs%m#zR<__F6LQ_GTXV+F zTSQH>d+7|(aT#K@H%4r+_0^szP&cx=Dfnh7{WB?2wpMQTE$g0oFu8P|rljI9F*9`( zq9d2eE?eNZqV+dTPG>QlFb$cvJ=dtDxPCY&ZKaMv%YzP339hyviO3M9cQ*kQ@>2m! z*S8rJ-9rLI4S#W3R49Jbh*h^?y;%%wk%wx+=XkyNE=E0ucb&;b3k#KxMg*K~Pk@+r zQN2jyqQj6ft*Wg()n&NDbdI{>4|j`h+T(fY)9tT<kWRY>$<i8&!&2xbvbJ)TJH07T zA<s^BX!_EKSfcfC(1Nzfo)3UD=&(+)HFI5{E8~Gn!=ynE=MyYuTP1t`nRL~&!9*n6 zn>%|)Vg(a2k~fJ}-D_S2&)&M-O70guj#+dJ2V3fh+1TeSs@PDi3u0`ea2EACh)}&y zcL72Xjrl1gXgng(c1bBx1sj}Fz!b;npK6NdeE*PW^MKZC#CJ&bY6Lak_K2YXnHgp@ zfV=1@rfR@LeG;-n(TPXN*JlV|B*3qZ%J_UBb=V>;SMtqENy^8h1`~^u0F+oInJ77O z#{bRQHA`c%RNi;`Drhv#soTmKVu&4;aoHaK@L;n*5}PiTw0GnHg(6kOM)9XtAj1rz zn3TE2J~IQ=NZH}|t0rdU8d2){PM3SFcLdczmJ%eGsM6<%#a35W^0N{!Roi3`e^vJu zDoc|($8}~VHc!;*jXYZFkOt0`RAX|1?Qo^pDO$XTkKJKiKvZNxE3g+JI>AhtMu<I9 z`tn<0{aYbT8T*G=xiIokcH8En-YBI0B@E@5WY)skVq_2|eYFeSTXg;?V7P1(u=?-1 z5fHIem4s#d6{U$yQ#idAOX+D+(T$il0@-Xy7F8R3Hw(I3;v^1k67ybeW->w}_&sSa z2~n+RlYUf|(11Rx6m#t{k20+)vI>g9Wp&vCfKsW1bQy&ZZGBi4eYk6S4Q1ttad0V= z0f?cCMpZ_<-Q%^#rvc+7fWcM<es=z8$AC#5`RB5Cn9Gc}qF+nnlFgBIy7FlICdfE$ zGZz{%M^(gm+gC;ev6wX_o2_;AdmRrvcj{jH2UD@gW70!I#{ai)NKcKE;RHLmde22s zMA-F0)0MkagJTv_1z4_)u_hGBtx%e2+xH@>9o|p>5B}?~xxe$1U%Q4Q8Oqeo<o~0- z|Em9p5sH!Ze?vz`0!9{A#{U6HCIU8AHirM{m<j&>l7O9+h2j5}Fk{`p6_T&o*p@;F zpduiaf>LDVh3<OQF9=ve018P6BV7{q6us=1P)pn`rBD$|Ac9mVl~hvnK<r%ZeCIaL z|IBZ5XGr!huRPbA_dbRu-R30(76DD+)rAQife-{6P!u%P)sca~f(D0z3>pvul9w?8 zorC{s!5y-O7&SnkC|~gLrZ6~A!q+PW96iK!QIINL24Eo&!GuOi2#%Bt7!)92(!RG5 zLlc3j1b7kQ1at)p(4Zj4fjCkXE%0H6CNab7pWcWQu*ZNyB&4FA{@}o=x`r7cFi;>@ zLXUC|Z{MRBDzFzIK!pb!`TisZX^&%u3rhtE=;`SNE4bAVLLHNi55c_%9p(gtInd%B zLbw6^1;H)_cMtsqkwF}QVsjBU_+iB;#B<P5fWePY?I194B1gk{1h@tm1$<l!63gHe z@L|P&FKV93f%)(2hXI8^2>+zs)Sv4`AWrTKC}6^z#Dx?2AWD!I5D&q?FRL#gj(Qxw z1t^vd(}`DLqld<Yc?%)fD|q(~-LDi1vWfr^qQu|P`DkE*1&$knG(xuNV+!;w@5gJR zTolAQyN44wXb#l<sUTo*!uZ|s7xaf+MT>e8{QRZkAWDLd=`rBo7YL9^hK>PsluzmL zd!X*^bCGetQ9z|5prs>#4)Fv!*k>@Gs{<P0v3|E9K1#=oA?}5X7X-w4U_1bZ5aa#; z-wg}%90=f^0Pqgp^27Y403bmA1q2)hygHDBAl=_xd$8_2$Yb*R!wg|tK#ncL1A+W~ zeqT*u%`<?bEX|(p-}Z~cFflSWbd=A%p`Z9;rlu(D3Gf3N5*7p`P+&j+MoR#UKEMP1 z%{<j3zhnQ{-|$i#)!+US7n3a^f_|$Wp+kK?{KSqt(OWtEwX*XJ_@^xhA40-{JN;$< zsTn9T!2E%J@Y@gGCH&!k_?v#{fBfy^R`NPHf7zb@E+76i3hyG?@%eimK>h%P>%-}y z_=zU`-B^MBITyPg!bO1J{@JdM2tG&`MYs$h>jDrFL7;so#}8By_8h{!A#h|o<(qtZ zW4&Y9L6CgoK}Em2J{%Me9Q-vMy2GDE_3JdeXZ~0Q89hWteDUt-GvV}G{ap*ALJD(! zZ%Gm=G7_K!2Yv$Frwm9J3GhSsdEy@I^>f05KoTi(_&^}Ua{~N}7y|Hv)xv=Rsr*s; zNh2r{K){LJmq9^#v?uioB6!<B;+Go6Ghle%^K%B<U*CVc>js2-3mXPtR;I{s$&l97 z_;QRTDo!8Rih!Av8*A)L7?5a$#jKNe-Erfbq+mB!`^wysp%<AQE0va?Jm#=B^qRMC z&1)SLKT!x!wH=OJ<ukl|yq_{@+DBa8t;D7Uk)K&g(I}Z>@CA9xFs|&HJjKoVjN!0< z|5IFlBHWCQZqt#~q3+SGZ|*MR5f6`(TzZ}+7uKo%DR{{G$M=K(k-vi<UN@pCT7G4^ zyP9^v14!bjs!R(D13Rbq#?&7JyY>j9`89_aSge+cXQG7Isb$Nh?(t*pmwE1n7MtJu zDI01V-WMgB*K*9&t9!n>YirGRn_}l^-i<QOF@e61Y-aV0Q>z44R$#$9c4(|eLaq1| zp!0~h)<TY4_+WMTL2jmAJK<oPzd4!LSeg&tvdl^={x#h3;hJnhPo>@u!s6sM;>{(7 z(DtL4EY@2!C7wRqjCz2fwK0E~#_c|V%V$YuLYa8DV@IRTMUJ_KW+F#RBXbcsQNh#+ zXZ6kF&^mIoFt2`6<WS$N9BI8)%!P(2k9^*(!hfEx`hDU84&=29FkKU?{QBag&-Yya zs@JxL=^&m8!t-Y9j{eidBKt!DM+#~(>)o}Aii{>tzk%la_A#EiR{@+RH3R}4<kTA! zwftky)&5iA24omu?&+{|(RTO2W{9Q$A7FP+>gjfu)^g#Ip1dJoh!0x01M_zZ-`VE! zLqLn@E_#38S?I8=LQQ{Dpiiz(sJl%SOY-8xaWuG9VK-IPHw1eQ5SWeMiLV&8fCUp~ zN5&gxt**0WKO29VSz(&<?N!^W!<HeV@OW{abK`4BKF00M*|e@n%WbPke?za>*4{_W zn2AQ8_Zr^Qxz%Frmi|Hwd}yU?_gYQ*@0RSc4@-?dk({P9!+BiLqJ5QG?r!u661EdK zH6ZxT1m79?i$<xw-QTt%v}30p%9W~LZVR;W&SrMe3+$!+$|a7z*?;0`X`09d+-wrm zP4Yv}T#n$@`5L4n^Kiys1xIf}^pPO|%$Ja%@07z7I3!PY6X+9TSHwq_{f#Xl%v)M_ zrtQHY^wLXDNdK>8M1?uTp!tMhzBq8krWB%BJX+&$aXelZ`rY>EI=QLutIv`&Sg8jR zy-}4&ce6`Uh}nIO-wA5-5Iegxufyp$TGKdp0Rbzu*eOjJQFi5mmi>gIR?**T(#p2R z>wSrI+JS)#VZ>dmu}i8QbY`j`%RO1+g*9JVX#M8g{M@P`6K@ujo28KzRFXRa1r0NO zCj&9{NT2hi#5CNJ|138<>Ff!&*L9VrE^91(3Du)}!@y{<S|09l(Vo5yEOMR47I(4i z2r50i-`hWh0=xBeV~gZzSM=+=7!qzBt$i3&Zrj%#&bmrw5;bsdA*gk`P9c{a{%$7M z1S5Vg_`Mgp&odlN6XEBdZ{Ai-ey`)WLpQPINO?Wz{7;eVSbJwtS2v*WS!WWpaH({; z_&yf;=}EBtTpb$*x(|kkFZ1(MmPQ(oNR!F1wmU$9?&H5UShKS9XBR$meeF8%5LA() zHS<|$;qBWf@Efm#p)?$M;4aIxaU~BcB9e$$81flqU%Tar69eoJ9i<oBt#sk-3Xbl2 zUbabFX#L0J>=<xV6*YcUH*wm!KyeOg;JgC<J-7Gka~X0XbYW!Y)iLSP=Wd`KgZ)D< z`b9L9Ljy*$=8}a~3i+_UFoZO-DrmJ!YgLo5{M<&EYkVDItnM!z?6yujXn^bKAD^FP z3|2DjnQ52i)0b@J{G$R)w`W<UIGJQbG7C!uU4^=ezy)7J%Fi9MF+oh|7e@Yx2htgp z<iaqCm~FIT?>7!C^jicJ6s|uRdv2i#tgrw&{HSZ)sauBrQIo#==MRk=o8d1dVehiF zeXGA<(U$euG48Hy(V_32*j~oGBEX<|DH3V>^^<+n;5K#z{cvp?Gf)zQNM2N^1vpUu zX4cw5Y)?e@mt%$snHuhUSr(6VRZ7aLzoDD#9QCE3kF*(b*y#5xKO=kjthj7I!D=fY zoK5%U8_UfOY+qef7?>N!r5E6JcHJm#FK1m!wHFLH(LDKts2r19`n7r8E{aF9ZO&M6 zES~CG;&Zwmnjf-`v4EuzRvAp&{s%R|&kpfS0i?dkQnN{1Xo_!4za$4GDt;mSc*2N} zti?UEZhch0RIeSy{27}=+(Ri(zmH(#`)@^~9%_opsA{d}gRQHF$K<g${E1*|P&8K> znLGaGKO&<%b50mPhHD}6a;^(4bd_<lz4hAUg-w@l6M{vO-ZKVo&<gAeH>;XKmI$2w z`^nqT?B_TA-;pqCr1{g4f}v1N@$XvAz}2<P>Z_Q(+QBC;Rh>$ArIr0`0Te7^5W%F7 zC1B$$^)|6pA7u_H?qC_dfELKeoig0f9^N#lj7eVrS3SU1LM*HTFTJ_t_}9w1$yI(@ zD_@1ZyDXimzEW@WRZLeC1kDeYM*{ol_R~ze5DQkuhMa`QMmVM}p<!s63!n2aTxP3a zi=}d0R?l-<Tuc*4SId7P<Q^Q`{yeosQm-Crt0nWYOQxg_`LuC?r1sj?;01%jA&eX{ z7A9;6yfj`GGWPYz07=-0uB9JB{v_51suli(a^#=PQMrm#u37yHBWZHyc|JzR0}Hmi zr&X@RyTfl0xo;`WPL=DGU*hpaYjw3h2xqx&hU{09s+&n05vLou_xrQP)@sq3I9PF( zogK}b)yXurUkC>V31y{|iz{hs#*7m`fq8Sg3&zK1iiv5YzDfnhD5!}f{#v0LKjqtP z3Cl&10`vr<(KqEXV&5c>3FD82CMe#@QOUm1e0Dp8)LiOX;*RuC8j)@?NEUs*n*?`e z6%Ohc=cU}z3}vY@?-g588b)PzBn;VXFHE;$v14RjxxZX0!6~P7nW^><AJkL}?;z3{ zRne4@`g9~-@Ju*XI@wlL&U|#2#$`8m*ereRNx!@PZIJG*8={kj%sVP=Q|@9OZQCAF z)D6D7O?Ax=N4*WZo#um}Sdoydon_WmuQXo@_fN9WfIDJlV`j5YT!i~OZ~REZQV>Ld zOkzeH62;ngJ-g6fH7^)J-)um$wq1;7+Ic%)ncm554pggGVjNRQ$Ql3A+oz_X8VM`- z6srL3aZ}rMqc9m|;pe}er84(1lK@?f`p-CCz3ZVX9m+#th@mgd%ANR#&W`e9<9K6- zm0o9B#>4%%P)BGIRuLMnE4BDg395MPf1MnBiCcI!+KFv%7|Wtg#@3cN#3PrOp>Ty1 zWQNQu(MY?14_1a))DyUj_ue5+0x>qQtkGd4w&Y*tt)$QDN|7h^X^!{4>r~w71a7u| zi&*RVXIo7?|E@#Xq*J}GdxnB+8;|g>mUrK_$+|2j-Z^0oPi~W`(nRKuyN?$G?fcYy z<I4#Cn>1=X=??18xt#Ag!q*Fx<i75#%n5leG?hKby&HZRe$}CZn!V3n3Qc?6-&x|l z(Z5RqH`V(i6<w(4@nqoF*J|9lB?2fR?U1+Y{BT`843wuQyr{-4pAG9JEqysW*%Ztz zt#0&jz_KTgJQdyk%hllMbKw;F0xGE1yxB9>znqZQ43rn%Pq^KNi)mL#cnS~=UZKkh zdtF`3E<;I>KovCgfch|rUxWv})ay)<RHk_<%x-qEd0+iV&(h(mB3-z__^6_e>5H>` zDrD0KU$1GEp_XTU)1X<v6EDF~T5iRG!Y`UhSz<lhfb&N;p+<&DQaeS5SVY^gz%v&& zQ*L!Rl&B<~ADeC>2ciMi1#=lg=k=-e6#Es^uUje{{u@V*wR3i&3DO(#BzV*Yws!d5 z)%s9mVhOt&W$XM=6J7XUv!!05v1=Z6Ke(j);4b9Pafjns$~DGP!io>z)NceC)F7(U z?Y{{$P9DCA9REr$)k=QkX!@N}$MxXVM>;=dZD)(Fe<xv#WWra+%hU<$>G^XphZNoN zB&TgL!nZ9x=!=t8S2^SEQpN2O*Z6X+Scy4B#AR+flhDHAV5ra<lpN<ZuIiX%l=lhB zi+FRS8zBAoUiJ7}*KGZsbK_~2{W@doE39-Fg6YRaC$KlxLGQ8Ei!q*$;YRO5=1ehY zL_Ne)a3j~YPoUQ~Ue^p=RnH~sU_Z1A4+n~}rB!3xDm$s6k{WF=DX2knO)4C_S_$Kh zreXK%F8Oco`*@fV;}8^ZyPMJSV!RA({w({XU0S<3ugt?0q{?+h(QWPF5A%{r*V{Un z&dxWpA@9D&XUaH>2SkUPuBsxTR&6PRxP{oHGd__jeeBF&JEh*ou6qwZJ|!<Mi{XKn z<%fWFW}VnT{a7yPsN>#^ZW>+zAw3<L&v`e{K()3_Y`7yBc<n`LtEjKT{E{xKqg>kU z8=>daF5O<$;R<PxMm1+~cA&e1*~o_2t9hHS$l%@7UQ;A*)pWevM%!>YbQF+Brp-_C z=Xw=Q@+|bwQEA4dT(#gCq^u!SL)}*<yIomV1}!Yr=pk-Xac-IiC!_f6AP)%Q`2ubO zz>scCiIkGh=XB=<to@=(vW+P#t`mc@4deG;k!yV@6BW)&;>6-x`uA?_*M10D6TPB% z{6_(qp|;FWOuf@m*1_arKUk^}=F-+sI;w>D2I&ZWZw`}p!=`y@7@hlO)naRsAK!*X z!VWw?l4EZy_p6s4+SVp-G6cT&1!GSxEf8+WMd$azG9Hy3UCYI5G0E#OOYL$fCZ(Kk zbbc5cWakrSw`tNm9Jv0)bUF^8NzFmkr|fw+^IGiG$T#c|-b?%d)nqmD2+1k*6aZ-2 zQboRrt&C*wJ$0mU>?r9bKIT|K{cKih+(o6wzZ|8g&f%y{4F7D0`s5viBi)oO3tRRF z10Sm;B2-1(eyhh%KSQ~bRi;UB>$azR;imQITX9uS!G)xWrfQID8V8I??gFOR?z0Hb z^_fA>GOIKyr->k$>)HJGIoC^o_s9qFa=u!!Fu=O$5J?aAC9uMaFsb*z+(kn^+Ozkw zX&7$)9q&EsVr)CTJzaaO6o((r;{PUs785B<*5LLfix^VJI_K&jOw8>f8J^KlTN5c# z^KVX?bhz>SwcgI55{dr!+*UzcTaRnW-F7lRM@)&wb_?l{U;_QafV#;Y$g=oK^)+PM z1h4W2%ci_A+1aLIT6&>l?G>Iak7mxYCKuAsIvXk*WgZ19hj=+@_YwnUZ15|b%(q>} zz#5GBKz(?dinmEgg-SDKx3VxjXM{9%v+Qo+w8NY446QluW_me@>D<DmJn%ZBe>6R| zkl0#;hsu7B*}ZCMueiAd#nNq>vYOYQs?MviW;Qc-UVXX|MK`SB2$|rdDL)q2Q?@vi z3%Zd<Ba^4%6_UjAguH=b7$_HyLYYsNCHVyZRDkTUxMnRwmRd~`W?yIW1}y>H-)m?w zG{Rw`r_`D-XDP~}vnittI2{dpJp;E@K2~^zisYVl^sKZ{t(2=T-05NDQpJE3b@G!p zjjuTyG;_&Z3)p>Ir##~c+vA3o%!U-{-8(5V4r-n|y*9C>!h+HMU_KBO(l9=lR^zHo zvZh9)<sKwe!W(h<37+HIdV)o_T4F*=|F|3S2YY?LQ)8h|l2_W_VFxqpnv>S7c1Q8P zY2N~m!kSatrQ+Q6c^lMR5V$@!N%fxcBHB`ued@k?th(lhNjw&>bZ<}7-8_GKOGb%- zlKW|;@SuBRt%<;tv;=-v9^;igQ8n=h+AF!yKsV1v_m}p4;H`XI9xD6n2E0t4BmtS# z9K*rR>I$FcYXs3mav>tnHT%mtqkHwy<Zk5tAqgRg<e17PMyeC0i5P-a!u(2J$@yNR z4oLO+q~Jrd)SR+0dWna}|CCaQ#5P>eL3G7gtOKvMM^&4^l4dq4>=IP0U$R?nf?pl{ znP+;vspfAqQPLT{5Rr;m4O$K_`W7c|<9gBbK;zx3Rje#Mnpl2*f{Zrly^`AclrS=< z<WJeEdz;iFQ_g)VRgb@tt`nsIgIVTpEYf&w>>Q-Ovc-OD8VWfXJ-!_!H~KV5q?2l< zMtVGaG|XRDk<c4KCSlU#+j>)!%)IEjv{SR1&NIP>?v;6ZJ1Sgj(e8Ta0S65I6#i<& z1q#yY9Q)Tj6dVPmbHxXRtAD{K8xkNPISkpotWYpK-qFa7vWHUX4em4S(sLxsjaA$> z4#xELj38g*r(j+2kop;4cPF}xJJVQhi4|`pjH@%daAb|g7k119Of$WQ()0zynWs3y zzbbACY(=Bh|1rcw{#Gpx>VXi#zav|Y)=BN!w4^qZW0bGgIS?}uWM%K-D7X>>tWxXW z0?n^U!+d0Nv}F4bN#CSECr8-MuW3mcdrqwW+*PUz!f^?}#4A5TNUwydZR*B6EHaf4 zrGs+?x4GBI7B>a+O+4J3^&zu20DjPf@=I6m!FhTp9R=ebh?N0{>bT(-%*g2a%f3G# zXk|5&BQ2J@%#C=IOgg{%aqHecsUB6W8*{OhWJ`E_iUr4pR-XXjgONFq$Jn>Bf136w z74)KpY^|#=9^JgA>3lH_R3>DX{x1E+s>h}2uY*I(Z^MHrvkdNLy;o`J5uM6t`$SZM z6A)95!)thI>RU60(3MT6u=mvX8}eC5FU8{0U{Y7KSC|wb^<wzAiJ%T|I|07*+jMjs z&Q%-qco60p_(t6<<~FqsAvD5!Fs3=`V#@SNiekZ1SLbQi17>bhW{*C|@~bPNu%A85 zJ^97_5-&b}MhgR)YM(>WvTAADA9%GHRIc#VS87(cAHGje0wyuL_2Cw|+<LX$?I(wc z?Ct9p^%B8SckKd)I6Px_b4lVXnW;JQ+-6P&q@I(9%6`c)F)AvKWTih_row^jXa6!Q zAun|#iMWd|H<Dc%Z9?`4%~PEm_L^gC-dxdfRuBW*iNQFPx)&&r2jlcZA~3oP=uE%Z zUeIly_M^)@-FXOuL+}Y&8ztu&l~!t!78soFDPyn;jMB~QHRF-o?CyRO6<`S1t^;{D zLHXhFkuFHMNOAreo6F`eE4T<we*<%iiYps>zwzUdWoN*!&@%b+beSm8MB!`IE35fW zNCTqw)`*oVDpN)!cU|tcwlK?%^HfQGVf4$eJXKu#pWXPTs1V5_s9?DT|4EpzsiXCg z`pup#mNagFd^EUcu#!8nc>EAPjH0knwvE}gbU<Q=@~XD%PgX6r(fGG{))+k}(J{T4 zPm?)OKdJtrgfOwzI=!snoafrJoen;Fe#Og-bZcMH68+wZ0e%djv2r36c|<80#Q6zf zj}&yN{^Z(=93MVThjn$bAJzQxRAAVf3Y8O753vdD?d(sfEQqY4t9(&zx@5wJatbH> z*O=bffnslKoFIrt_*;kMm-Qu!esd6xj)DQ&i_Ou)SSXV)>M-n43;B<rov;e`kFi=H zOqfqQ2amUcB^7CAvm9cy2|C{(xi%=a!diuOzUp&A2JBw$;V{*H5Y_qdLZ<PwLEREx z-Nfzm%Va)YkZPmw_>At;ofMJ%TU?3_d`D@97c@S`IbXNiM5XbaclgTQgnN-77-{PL zf6*c)h8y<bslU9!+mGfo?J4)d`KFFNV(jv<Yhs@I%lCI1r#UFivDzaD)BB^gC5R%F zjI$mTx_5|vf7pnq<kn6$@?y(5%}gVnnQ|w`QNr@QPoBdSg>{Z!O-tqg#F+6zK}QEd z?t>2<lX(r3zqB0ar76fj(C`q{w*9Dfc;j71+tn3BK0ZYWwiR3vt)9sT&xmE$=u`nM zwq%dE;LSF{IQ<B+Sk~|p?nATEnFw~RP0YT_F&X9L5+_)TksNgx?+4A49ddukD(kx( z7?J$QOZ#P1y`t%>zYmUZ9`w?uiqqn<B9dAX$%JzeJ+0Uzmco_SnA5Lkm{eFljnad# z(YN6n!~7M!rs5`lw|>c)AKq%=W7h<-M1S;?DOX<QqRuV(9rU-068m5iBJDt=&)LS; z@suscTUSb%%6mw^vj*7k@B7@*t%)d#!<*weo96Zc+Bx$J(2riKTsg#gGn^wq?L8DN zCBZyi!u*|b$0!-(d8xXx*E<qt(m(J<Oq@yxoq19SI#jgjzV0tTwy`X7b0Rux(>=56 z2VZX`DaYLzeX5=+`j9iMa@~<P=#~3)h`sMM7=3lq6-fQ{l5y9I)g~K4(IQ)UUI?YI zA~!BXf@cC{>Lt1MPw{D4PPvTO@bcuT$9O=E728vmhxx<YysuMJm}tJ{hnu~l>rrs+ z+g@4}>HINK>yJQOaxGlupF#A9IQ4pY@Vqtgpcoz0*xwGa9MiFqH?2~@5Q#nu+ZwkS zWymBb-y4%cB3S-9{z*HnFescgIo`-Rr`DZ#&Eq$S-vU&Jt`mEgu9Ig`uK!$l{ds9+ z?;2a@0nO#guw};I;;4GSIgqQA&DkRWmB&Rg@FZkO_Zib9Atv3NNx`^Y#=)b6pjv$J z#Z=&WWEXoUxHkklz3y8==!X^lka<ch9<~R{R|~U#U|V?cPw96N;(nCFQIZ%#Q)FgR z)FqnP3R#@&HLBR>xTA#~>LD+2B)*2T;*si-ySd)yB>V2|mBj<B%S>YxW3zR=a`*|M zS=N?U=O=kr>TEglHWYnqqF0T2D|QWcz3B|dF&F$<nB;I=N&4)_5P^%TauRfQrWJbb z8YXI06OSvshLY2v4HFM%tZH$7)wEsyj+Uf(MZ%0Lb=pTuLT;tfar)ZZy{Iq*^Yjlr z0W~8!<u566TzB^ru>90f6+V!Dv2tC5h9b9Y_L16DL1X<N_@q_s`2Rumvi~1dFAL}Y z$ld=`FB3ES|8)P0>SbbL{l8YdE}$wa+Fx{(5g`)kFpMrU3#711xlscQFbpFwj4Tl@ zk`PKjL=x`lDK5kjEkP0z<tZcnE6#Io{QJGuyWM8B``15fe)&Iq^I%LD|DL8aiE9m} zBtW9jXTXyHC@ie1qJRVl1o;po0stUb0*Y}A{WBp0#2D1sIgkh+`hie%3=vSa${+*_ zk698S0<yY^0caoqq9p=ENd*Z0yF&8oPOzj3Q~>c1pbgCO0bnHoG7}3>5#aLb7P`Gv zxG?_R3*sQa325NxsF=5Z0l-O~L5%|?2*5%}!JUEpDMB%VSP&mFWJq!6pL&qcBwUz7 z`u@So%lknfXXhiKu5BrY7eJ0<3ce8BIjF;Huoj>n0H}pPzJYJz10oO*h`VzWuZwRP z{20<P1Yi+Ni~}XyQOLZ5xW=Fk@aYiHR|O`pjT!ciT=PI40Dix|3ozhw;6L?~`csX7 z^T3S>6iSqvLkMBdF@$CS>>dKxlFIt7phtlR0Alz<jd1iYOypdchrmHR0+s8){Tv~n zDTfXq2<#o5hrNP&2lI679L)V2H1SUz^O=^Kum&|jPL2U&D)v9q8}(l_hvIv)_w7%1 z6(Hb6<ny<+F@U(n)-RyZ&HaQ;bU=5@pgP(wv_Ka0w_#&Q5x^iJqoN=K0N@Nb&{N>{ z-9Lrx!9DE9J=i~E0rJ~7Ct)4{iv==+ZwD;=hxpzl$YTJIQq4WH|K`vA+e-`(47lb% z0c8N%97+uFtBh+Kw)wqT9DWD&2E+qa*a;36;P>;Z$t$=#jTPze{44){_wi_rc}Z>Y z&+$+2J6>K7?*jDx6cpG4G(-@9K?4N_L6rXcPxlo6+u!&<?;1GpcM1EPA5;Z_O#%S( z84T#_>3@9x9*u_MFByh>e@EPsU_mzwfb&<_hbe&pBI-Zzw-5B5`{;lCQ&06rfBEMw zJarov*T0L?|MM4)eFWnE{7VfWYwC`og_b4J!h!IIYX$Q~Y$}_<y0d%H-&;iip@ruJ zq0KVtIVj{qP{{Ark<GLNZB`5X-wgUixVY0Sn0E*vHsF$Af3HUe&jkhgNr$iHssR2} zbrhDrj)y)9OCz{^bMU`0v`GBvh9?C<vHX#a1sWm(h^VF>$p(;xc$ULBfEJrx!#aD( zz60>%13?Ov11w<t0=7x01L+^5p@BOPm)?SWoc`VhLIb-W&ROgdAsYC@00jm7mLSi# z$#3v?1#oqD6>Wdd=J@yeyZ7gZW57U<kz(Km1(^!dSPy5(S)Ee+bfSx!I<zaz%Zzw{ zJIgvQ{z4(E;Ul{+Ka-(Mua<WMMxDLgZavwZ)BDThd(y2mtZ_x_GBjQBy_>d3<#%}o z;>@)8mXhZgRf0&o&7t|*ClY849|kA<yc@U8wARM^DS*WPdRdn#BG2|HWUAP@fL7ZU zH#GzUE9K=_d}GS1lC0W4Sar|H>b=&ataIOfZk9-?RiCk1x-|!h#6x{c_X7J$pWw#a z6A!2I1fjKS4lA5UCHcBc4RxrBL3@IrZ-(k&)7y1!{gNP~7y9%7Vs2#kZRHjJfF>v4 zF<P*!HIwzFJvnFosy&*H>69;Qg()JD!%X8E?yc@_T@?p}z7mIN4_4U-Y~MPP3Vl1> z*VmuxU9kjIRPS(2M+k;Nx6HrLFAzW)r@xzL_RNS9VM>*YS3{tIYiIOtcxIanRdd65 zo6)ez@1x`0(k0#Y=zJ>jsiy*EyH<Q1Y)yr!^;c&l@i83^ANnhBX?_efte|kX2hoW$ zD~oxy)2N-sXd?T4bkx;>`2`E(jstI_r}l`q%@0Y$r~BEeQD(9s{I+V_DCe?r)_iP+ zwhsDB`LXE<UBsR!UyIF|qsJlnXD;xMYEPx~*IQ9nB>PS*(ItHQM8?oA&0{uwxe-P8 zHGN=C=jq&iEb5YIbNaT{sJn-)po6#aLHHMxp#_N^$j{(fqH&#Sayh%2aJAMLupq}r z0LitV$mZmmRRRa^c3t`Tr#F(KI8Lt)<ZIln$rh?|bZ#O9eDY>wN)3EOUplnue!2D2 zN7dg*08lKR65Rb|1|qaVCO^HJPQ+O~@e7d_h-2V!vCGS5VreV^;A+XJx#gfsRDV>A z9UtIq8>fhVA!j>;zr{wY)d^0U!zp+VF7mkEP~S-l^NXQdmyZjn{vUd*Irr*lb$Nm5 zaF-tTQvrYXNxKBfz~hf3J;z&(h50{cVG|5WeD8EqASD`~5DJg-pRpL_%Y&<4ihiR( zVNo2&Let{>RNcIqC%Q~7O}mA#x!Bm5`yiSECBsPC-nRX^_<$>Ou-(ek_($CZ=<StA z@OorB3zPoL-RM?U@ST_?YDio|9+YxDWDnNx&Iyt?$J-LLvaA?FtB4Cq8*%;-TZ_t8 ziLd5=1bUZ!(RVXacOT8eK^p_Ozb6o%-Y6UogeQ`h{Pk@kUA^G!<{9T+u+8=M&gE~U zvyv&TVIU_wWa)z)B(wL}4oN9mD<}EcO`$y-d&ELprU)gH7~U}Ja5N12DQd|MTjgf* z|JrOubkJnI)_SMRf>=exq}L8+DXtQtD^#qHMmczWOq_`8t^!SOoO<c1?mHwZ_>Ws3 zkk4?cMI2PXRIZq$UZU_Py1%mg5Rc1Q9A%ZcwihIQrJcu)6G!qlut3c>TFZ!mab<2u zuzYMsr1TBZIHBslbPL6+W}In;=Hd)%Mrf(;hBag8yD5g->*C72r<`LtCM=j|Jn<_x zcq94yqZY24@QkaUTLi)CS9q%$@1?5O=PJKEUJ)!)-ccd)(ViN8Wa(DX*O0`@`bAdT z@1_m;$I9!>KflGlNI|2$H|&&@&)d^KC?R?m<(27)yI2ig^t5mC*P81dgq!ZLn3r0i zEL`_AEnJFv0N?4rv!Ocd;JB%;+*LME5R7uqWSkJtRZyU`Aw#90SiYL^7L*m;laLIk z6*?4@GW=Uc-b1Wau1p8J5ki_Xj%?PL)7_Dgy%9eR_r*&7l7)%kCdEsuFple;wKYIz z4;1Tfj7K<$ZUDAR?rMEWDrHDj{Q91+vRCkDy*F0AgtYP+S7`M`6@_~A=v!BR-YvLS zRg?mVEs1<y%L}O-a*nEhY%ImMb=$5q=cm4VBNin484N*<x#n`tDFr<P(Zdmmmx(O# ze#cKfgn%9qmqs*rLy?EY=}HHJ%lAvBrh3FeXuwYsbc;9RP;Vr?n6=u=m@6&%)?F)g z9F_aPAJ53cN_)5&r*a%f<LIW?&YH#qQ3{#(QhjxcOVwK7LFpL{%G>Qa^_1t)`2-MD zQ%ec??i0~0+1d?`$W<H0sxHb=N3AzceR^vME?e_%yhBr+mh6iLkSFJ*(8eb^?gVzF zILPW~c(!0mlC^I%pgxiI@CdXPcp6wX6;5S(sIq@rNpM`9!@Zf>2-uoVEWZ#R*qsTB z+<8<gi)RRFDj~|c*6=-r!RV@Np=xwgjYf*p>&#<>Wm{lVh*k>4I-6pDv(n`VDrv)H zZ3DP$QhNdP&hUH1tH%f`igRmzwDb@p6F0jpZBCtrX=ScoFsHW@oYrKu;(Qdd;is$m z7?tuSwUUdfRds!_xU(zO>@Rm{>$V-_cCFNQ5mA&GP90Bh8f+LckXKgf6RLUqg_i z(#T!4lKk}fB+ds7euobw2{{+gmm~!L3$DUUHuC38+VJT#lsygR9bFc*WxK-otNSWg z;|ZgY_^m@gE$y7e8g%GKQ+Ka)GI@4R=p3E2lPUC|2Z4H-SW1TMZlFugt)(I!v(uUF z#T3Gfpop#XU|hRHD+JJFy^kS#1hADjj4wNp3wgI~E-@gQ2&2OWtEY-OH&W562*T#V zz`1wjVzin+O+Aoe$2ydBlaUljkS3x*?r9q<C}&sL`46uj`9ZWr74Djf`L*a+b+{ZR zGp@9GEk>jYW;Ex%<fPKyZnpx%m1)lLj>r23A%|YH<e@{sbg*hUA|qLs%M%5x0l>Py zAtxty8#-5Em>gsqCiWCRGT$5YPQ^20ZshUkZrvw-PO!?deX_n<)=;P?Ln;5wOhWtT z#Z<6?8uI!)S^2`T3B>NJcB9y2>M-VViRErW_eVk{O&D|7<-Q>f#v$4HcfR&O_?Ns3 z2d^Ne0V}Sx;7R`Vjm&kA+##@jfx{LSXEH;T$Q`?^T?|uky(hoOEgbk1FH`T@g9|1( z%ougx%C}$Xs)$X07o`MZoR3L3L7I(5W<O^yj=YhF$`?K_Qfn88Z!^=})hrd!=Tz%h z+JFjQ-&vRLn8TB#TcyjeP2_0b%9TL-&2rl%#dkqvD4BWTZG|z46F7TQoHqg(*YmU2 z&*6^c^Ru<Fo{gri-@X~qZ)5nz@y^;JU*dA00A+x*jH^4X`EVSJHJ^@RW|iV))gDE; zd|u8c8c5*ySKH3Ce1#T%j0CU%x{K#+`I=sdTrwJH%c?*Q-*=4!|K7DpWi3);sNS-7 zLC%Q<rp(zC#gFQqNxJ^G@U5QiDmKaCm<1$Hu<Ljp@P>mCW16m?ulu38IrB(QJ>H3y zf80;9$o$yhW9a7-(yZ@?{baIH-yQK*`V_N1oLkL%jg*uj(*uC%*7IVq?Us)zHGVlX za^L(To5x=5Qp`#d`%#~Da*3KUy_6)Is~4WNznSJcC!WTC%(jZtPcCad{2bzErWN}< zJ0c$14PQ^STba$yccC;U=RrNvnu6UutK>&~S*2qZT?41WT0pFd=ULXa42I1`^no`# zrVVS%>cxBpP*T;m+bhtSe0@0KG(_i=;78sic1^>WC1KhqOJ^a*@^h0c_3i>vNic)r zKWA;>Vagh`pFMUq$v0T`j9C`_QDr)0cp&OZ4tBAn{F)`>Z!=9iXr1$h9iEJ1O?{A5 z={Z)Oi_Mqp_3D&oetU|*h?cTuP%8b3cgx`@s6cn6J3}uyctZc&%FJh>d}1@zM`0ab z=PllTBs+Bgy{C9fi8&^H3w0L5q^<_<b5=j*{wkPes4x+3;t03%`j}lrK%E8*D^Fm- zpMT`*l}lwJ1w-B)LU!2`l=mx|(L86ayUrCV=V7V!7c-2E{!t!d<2iVOc&c8npT+tQ z10(yRnH?JW&2A6$d6v@T!(?o*<dq|fPub;QshjiU#7`XWU^R+4G-q}q!8<gjoQ8U} zx29YBwF9@=n)C2QvN(%n8_BuEXJOFR%J*OOMTK$JSMV?3P*h;GTvXU3ty?noC7^+< zT=?D(rjJ}MvJU}$KXE0#6?8k}3)a?WG8Mr?HDF<=?s$<d>X~57u%VQP_w*2S*ylZ9 zXcv|EzylIU-0;}|oYk&$t@I{Y%y#uNL#zN-L^JFhMBYk5IyCf5#&cw+UL1%G527Zx zGo_*-sc}CnyCVdl597YM?{w1o?7Q|2^fW9^bEL)V-c@X2u3DMt>6ZMlC7Y_zW2`b; zbKx#DC{7LrE2`y87o)U5wWH=G9{Meab1oQSCp`6S%;@f~GzTFU5<I7a!%gtHO2^7K z;Y^yBb26HyE5%V@-dQ-t_%r6myLMkzv{6iy&Z-xWIkmuE(v_1^Zza7lAeu2J7awoe zFkE#s2VFZED`%{NQ2^VM>(s1rkrlJ}OGgbxO%p*1#dLCNZO)Omo|dGOSQOW5g~Kja z=M;xhux6v=gx^TDqEC^Lr&VcX*@7yx1!tY!^{xvbe64qH+?4(jEaoP*de6@qSSrI_ zUcxNYk}i`<CKd6%h8v%w8*v0tlnhWC4t&k$3^h_~q(RuZ9}TX=uAbKiMD_4YdzYtl z;<~1{0F_%0C(CoQ{}#CGXSSa%oAA(1>aX9F_IHSEK1r{0@}8b+{IG>@3ae6YAbtFL zzV&tPcAE99Y2S45XXHR>*}$Z|YB`_brVTYGe_oSCIzcpnpM~CNWOt3cmwZjX={=&f zVr>qt`Dz)8ZRaM6D$8uvrgmFMr-^U;S+X@ju2<Bp*$NZ4!Hul|>K<xsf(MNCRXGL} zs?R83LS;KH`S?NC$)NG%$<RvK)WfvolB+#lX=(6Nsk|7!H{WwLs0dPg&MVHLZjHqg zox|`Zj(y?nu%crP^J?*WVf#fzGbOnv(f2xBRcRU>UVLqX7xS~}EUKfpvlGdIS7*SA zf6aee`}(vo^6f=aMEeCx$j49G8F!DxLhr1=$kS!Fu%3O{UygDB*airvZDWP(W<FU@ z!%@N}HS|JeXjY6?`Obp(CVi{_l6QgkatPw2qxqhW&SQ|$`iPl6*dK4g_#et1Hkz^- z?Q7|9@@4e)^H9|<+!#?fc+PhR0LlfP@>@0TsMq!<OBFS47PygL74((60<e7zyDW70 z?W<~&TqKDkJLH4<!=n0Ez@o6eNbpLpH~4EWcbHpPT`eIscQxaqSN-Mlb-Fw3d4%Xp zpDc0fcA0vJbIptJsvF4%c8F>92C*_H2_8KAWgfK$YFPqIdw>Iz7!sXMy=A<tJiW(V zl=w#nE}$!o-nQ6YIJ<bWY|p^cGmMOOe1cTe@3LmiB|h3h_;Qpq%@%5URqiD{xbQlC zqS>q-Yh3gikhjxa17;dNF6M_=-Y?1d2-6Z9dixf=+Q3`n9@@uYs^rf-9oFCS<M}Zz zXlOiL<q4CQc+5BR{+(|nJvQ0C2o~309CRAv+DrxSJ1=&U&%BNQ{!2UE;Qn*Js1yov zjhVWu?grr`bMz<>k94V;DJEsow8s~CHANq?s`Um>{r9tM>_X()`P`vVPF`4=es^vb zDZ#BeY!2ah+`XKCgL4rB&wN~zu`exaPFl(8NnZQ*m}y;xl%qYTjw3%c=6e{XeY&>L z)f3(3crRv|Vz1qqsgh_CEJW+1N&)xTX?!=Xj9iAwmhcQn$x_t+uDj#z_&hTW)ty+v z<8poq80Rzb|1@@$F_{HR7I$~&0|s|@cXxMp*AJb+-C-Eq-3NDf26q_T-5r*<yYJ;C zyUA{H|8#eCx>7$Xxphv}=__(8G+h*Tfx4N`c4JCOJvi?g97*ezm+>mPq46j^meSlg z@3Dn)>ATD=+khHm+}byHk09c^fc{A^%!-;pLQ&!wA!Abk(LH&U-W&3Z@RqinWDYpB zeI}5eb<D#1bcn=n0pOhU@kfA}I$Ft-Cdd8tn}>O`#jScOPhXirY~k1Q9yQ~VRj)8# zlucHcIO;04cVm$xGa`__DA#uu87=H?U_K0Oz}^ugwH3elj5!9P+k7d5hp@KgH=DS% z76Y4=Db@(4EOGxg7#xW`0*3~ukW!D6s0InD$FdB<+*Jn4sb2+w14nSnT<V7$=w|3L zn|xDbPCH&oPg+tVMI=4@Gk%Y~>hZCVpHVA;^uM?*9tVoEre7BIq*o3bzemm}vf64Z zk0wlLkP_(BaegdH*j=Hw)iek(<T}AV>k@S>+<!mnBPoC=oRp?YR%Cg658D_j<-Ln{ z{WyZNH2U=ZZn~Y3@w}#YF)^Rs?{P?4#z*_}*)3s@l;7~it?1l7_Ff9!e;Ti2b3tqK zm^zKDnmprf(38yKte2)Xu7As`TSF~TN}Um8eHr{7;(Df|R&4Rf26Eded%EXg!+!Ln zTXl$h>^GyTz7}(clMH!SFze`pYXmrhizQG6M#?LMvG9t<SJYRJH*t}^RFrG^<(w%8 z82jD1sB3kM{_G(IaU!boHxrsXT@gXBvwb}QapuVx?@#UP@^3nP$ag#h<@W6q*zl3d zhsM&JyuMljeBf9VFoybGJ$<qr21N6N)J(6n_?`s`BM6`x2>w1iq~^?*qWGZpPP(!1 zir(&%qnX^<hUC=Jb>1SWN0eUrmFRtzpOqfx7-#K1WiNO_-e{*2A~{lEDWRtmw!3LI z-;&aKHT%b0WgV-=edOoIyl-J*OlqB+8;{c9))@@`$kAQ~aCq-@+VPqK^j&<1ydPTV zp0lO%Ye>Do#p@Ug3@)4@OYv?x|NL^uuKi3*@aPmq{lf=<xKm%g8RV%yr(Vo+2vn5* z%Q~`X))e2jqdLQ)rjR9#AczxnbP+4117cld?R3k_vGH2W+n|3iYat>auhjYT0>~#| z;?S|b;@4_eS@9Ii(|KA}xvU!db7Couq8fpfI(V~N#d0VUMT4zHfb@GwVcT3AO9(g3 z?ee9pIz*b%>8cmCudOsoLW^rM=-bf~o%L4MxYF*~{Syc2s{<+MhJ~&v@1D|FTj!du z-C77{TxenIOzeTPqMc2-RU+{RB$T-+-89?b>)G!bpzhyb$<?2JQ_&-}639W76f!-$ zzn2vU-ZwuGhWTMy&?%fmxV6z70g@UI95v={SD9D-SV(=65@fiFnmo~0%1&ZoT?a!h zyk?JQdX-^aVJjq)8p5V5v0J+niU)ml1Dwu}!vv$+EF7*^1JvmIIo7Mq=@1?ec5n*G zlj;vSb|lGG>ELvTP3v&POAARc6Xt%o!!?WLT5ri<zYPym-vr#II=>&qes6LZp$eur zT_!5ev6)oS@`?3*GYflu|40oG(KlLx*Ndo{=C3A{x#4j{nbBzfbU0c3Q*}x@NXd6J zk?JT*eISFzo323dl7HuigA;1Ee`i)P1vgvQEPisP@rTDgaF=XK*V;VG+h*N3j<!9V ztQXXm0<)<Cwf@y{u^XG`s9eq}0k_fa)Sy8y3<p6c!noRoBem?Amz4|pZo{v6a8f=; z5^{6e(0Zx4J03GfhV|7>*8dw%PCk}%9VNf`y-Ye1?HTIK6iK*=@5x^|^$oMi$|(ee zw(-KAuwS?3hok37)H_`gB}kW$bU;NY+ss#`p?5<$5(CO#qkm%Eqf9G#&OGtxSnShq zVI(O1&uG~;@E8jqLMb!^TPiz=3L?f%qgyv{>y!CPJa+R9l{m|AxQ|o_(F+!~7xpM| z3e;0X#AJ_ljGkz&E5lD*dq=VRm&{a=^>0^Mo%5M(pw=kTbtyt8y9dvTHBdE=t@@a2 zN2gc|d-xs55L@FyrHxmPSJe>(rXyZa?Jq(+adhVRZew4Oq<}ue66V|mm1Xd2V-P`! zJifZ~f@RjKXczvEw*k0NeoZcROZs7)O(@2D_ZzGcfhpGeN`pNmc^_C6jxDbTs-1Bn zd!7PPdRIvP-SUW#D+~MqY%lw4%V$ET;l`P<!GFj+PKlaSvJFjl6Kjr=?vEwML$l>I zsGuhje^L~~d2yL!Nfs3ab|NP=UM@;CbQX-PhVejV%!wX6Mv`4;RfOi_#h|pirtxZk zxiiQdc7}jSXKXCUwr7(fMe#wU&oNaYdqgvKBVwrwnvt4g^ef?Y6pmhj7_4EET4z>? z!9(tOh*j!j9XQ|<!$B^=70NofqgE;U+~3O|1RrA8{EiCCY@aK1g`U~n9ph@vx}D^m z@v;1qGpgUfQS7M71mjf<#psGl7n0SPQCXL+fX9f?z+1>nH^H$+jAQk?VdBZA=1ggR zf}|Z>(FOl7>8!;>6LTNt50JiI@FB@MzkCkUT<oVkR*geJdf_>ruTpNBz3wF-z{Vfi z&GeK`HoU%vGcU_N@{!XNfJutbmziqo=lSUG49CO}A}l7sAy%L++~jSpG_m1IxPH32 z^wIgzVU_0YsPu8fP{0FJgpoc(5Jp&Y^4Q~%4l1j~(8_jNT1Bn@w&L6@w%(Do!7K*Z ztI8T6{MRni8}IDZc)Fpu+U>?Ubh!5uq?Q5le}OBx|5vz@o&BExB@2L)mHl7ssQ(UE za<Q^<{=ebMMo2Xb9c&IdY9z4P+=1_I$VI_yqMl(rAm9i{tW2zKoM<vsQl9WQ$;ob1 z)EiV~fx&M61%G`uAG<!g7ayy%Z4b^Yhq<R#rUd%`<lFWzI>t4G1SY^B2ucY_p_P^v zA)|r8!A8Kqz`}wruOJ%ZaNRND^f(}h=NU@{?*%|o<>#UxV5xq!tvc&SK`3nyB0)re z2=653`Xq{o2pN-*M0A5EP)X;a4S-u9&!d5qlc6fHeb+}lK8XqB<}t2a`@$<-R-D0w z(a;{B{7b<1^>eAx2q8e{1C26s8I}pp0ZzG~vq(^bUY`{ZKO4}Yc4?@oj*gG1L7au* z0m`u~>%KyYI76_d$l{{PL`ptejD14(;qZ6Jte_yg)6=k_A3^v4LZ<Am&XsV;Ehb(n zu$W0F$z@Sxp|b-aaCZ6JSXzv0O08Q(5aO$vcF;fwq0i)3+E+~yoE=Y=fj>ycJ8;5Y z{V1_Q&^QEe^PskHMjcGPLNI+FngEDc36onAA`~0~lPJU|KNlDjx*F(UBiIjdWc#qd zR+DKkE1WlM@m@po+UCmWT1~OG79ms|wymY-WFx9l!iUvP$WONiRIuZStM_rI?<8l0 z{t307o|tSRJ?ravHZlPrMkGA}Op;VkR21L7xhaZ3z_^2pbe?5G1f+1@d4zm;1p4=C zL49;pOKIkUr$WpVAAk&gfcVa!AXA|PxrDvEel+iHVu3(_t@fWW3F(%SA%H$9y3--J zKbe|l#03ID>4R%m!9hd({l37;fw6I-i0?k1ly9B^kdugw6ASymPo|IIlHBiiU@tdO zaG=j2gTdc(4N2R>^q)T4Cj_ytIG;C586X~(wm&NJ@%lhvlb`xQeSiVCS5LB7dI2#A zoL8H?R%CTLp<t~aWPY+F%p|;L*him05dV_5&*Klxl+TR2&qpC6Pp-G-jML`N&)v|L zo~^$DkVZvkvAwY&SZKTi;h%`?KR$5H=}Y-1HueKLZE#>b`1Vj^uL7!3L!tURav$25 zqO<0R5#Ki;?SNbepbO&p#@$5t0Kq2X&)t5c%nh=$punMrlV<qHtdao7vglgT)lWP= zV`gUnL`a|)cx~0Nj){;ViigN~o<VmJA_j&KfO#1MkeV$x4H^OVc2b%KqcjZ~y1;_< zju<Wj0$Jy{{8eW&55%Fwxa&qCq1%agQylWk%|*tzhkjbxK3i9&I-CDUMSj=|SnJM# zp_+%cflkX7T9ppr?uNDH@h1-$P6}|p>ZN)uABA`D-?Ucy{Yrg&f4HuWOA=Ko`h4hj z-h7an(u%Zak;drT-CfZ|v=U#q<aOZbkd-S~zY3FvSA0xF^ThDk6m<;+-krCez8R8{ z<9tQd;mLKmu;RMDewlP~piJcBQSQ}wPLpvSm!`F#TY<I&5MX>AAhyJ?#ns~*%C^nm zRv4BE-?sd=lec_LiqFeMP&7i+W}>0E1^MJS6oK)Q&Il{Wjr;g3z?v%Bp~$j;v&3|O zH}{Bm`$~OTN~0v}j-ER6H2cPzQhy{<zV9c?aDc3lC|4(3F>z4osn_|8;0Bn^C=dx@ zw_{GeHSw;kA$AOJuv}Ds!HQ5c0!V)YGuAS*lgqT}X0?8>mD$Hcc71$~=@dOMaqOey zmvO1xxaPYV=I~Jvo*cT{)rLH7|3NWWuV0T4n++f`r;Ivk)gE;l!U$xU0CA{*Rf{>n z+Ke8)eLaMTce37$*AJOn%VmTV5jl8-<#Bq!^$*{FIv2REDP5Uy(8eRn3HDLpL+FIV zT<WU#%c=jZDs=fR-!2KYHzlKb{ejDKo4O=>9^YzG%j(zG9~H=$?<!@Szb$sK>&iBW znnaY@Q(_lJ$GWV>Q5+A^BYb}l4`E8gT$?<5)6r%yzk%bk_jbbNZD*l{J>VN6jgMni zmUffID0<NF6=1w%`*L((r@pp`3sSXXRwb2_5(nwJHSqm)?ti#Q%?pH%lHE{cLGOny z83(Tt|LTk~w~;x^44Ko>$1^M<doLzdpvLr=?uJV&0QxFne|sy|K1@4Zos8DKRa|CW zw79;|;e1@cy)^i%(PC=kmFc-;d8{+MSMtL=HI8iDuImbJ++^mDcW$zl9SsrRk05gw zZmRRc9q{VqBiXQ{7f3S2=M&t}rDM~L>A}gr{=OmYOBv$9rDjl^>OUZhGI8P4Lpszn z(WSNj82Ym8EBwk?6f70f?b6QWiAQ1#Fj}z*?QbgmhHrj%K6JI(`gD7yXh75I9iDx| zYdv#ETTAm0VW~}*L<S<iZQD>oUq3tY_!AzyRojHHPhK?qjAO(!yqaD%&Q;~U3z*(f zp;$(npE-^;#Q2<^ndE!yqLr<dRVnk`sO>f;|7DBaU2cUv7HQKb_<E-X)H5h1j5k!b zJ5I4Qc2oKVmrU#B2L|8q(I_02&%?ay5+HK2=7a{PjFP`aAWcM$&jekGHft0Djpm+A zrZdsu?WA5`-;*V!Zu+p{cRYHN)-`*0Y4O2Ah1-gNH~vb_V`BFlitghfiWZ;aGjLN@ zQwM|X&(kfa#gW$iDgtgqve!wwcR+F|?@`5wc6!1NJD3)pd?QWq&g4kxXC5cv+<^Ia zLiG0i{56kwbJ70v(%4eyDDk%Y1Rc@873a<Bhw~e@9?Z=lSh(Yl4fBc(^^?H{4}$ks zn1+Qu9LB(P&;fDt_WPo`$Z0{YKA%+Ur%^dkBZZ&~U1Cps;;J!dL_?|M{MJAj4c6}w zGd`(NY&t=#`J!5qR`Xm%DthuiV-Wox?(fX`1JKSB#c4MlnU91FC!DA3Nxfq}q>+q0 zhAo@a1rj7r-tWqMFGfJBe)eU#3BX@OlyN7R?(kX1@QHuZKmWE*ripe5EsJH&d&{0Z zv+O+QN5J!9*Seb)Q??aPukX(?-x?4KV0*h*$!u60NHwjoFVo5~VB#up<zoJ(X+?TA z*x|exBR=<`x_?8s_xK$%zRt+5rVqSz>9s_cP9(zKqE#vfy{Rf`yC56z@F((-%x^wB z2U`GMP%PD*4ve;n(QF}8AhFePkEZ1f1btR!@w-$+apHM|j8EraoQRGk*7s<m#6%_@ z`QWtPY)VP$&&L@}b!{4fVRE$1BceMOifX5OL$<OkUh5nU#i!~cB@k)D?^kU6XG8j> zutx0SRRo=tIvJaKJo_hdLu52Za5Q=cb}J#phA3B=tA&2ue}82(q<uSbnofXqv{+Kd z`jcYDl6uIYG>xH`#8B`|BB5QJMxN8{l??l{{O)~OX2QMMcq|zNltRvoJhJs+M`zj3 z@SWO>6sTK5LcbK*IEqwV^=6(MN~{vKobF=6HW=)Cok)`RYrsd`c2|b4l<%-n{T3A> zX;AK43HVDkZ5j}<WBjdBV<6+$;iR7MSL)(kt<2Bo!4Amm@$m|%oIEWjz&0YB*NQZ^ zZF`#>IYz*k)^=G0SkPx1vnSt2rtl?QbT*?WuUDRzZcbovc5!VhD#22a=3-?Ab?r=L zgdp0Ud$ggLr9HEi4S~4A+O4Z0V@c$I(&I@F8QUQQ$a~MvBX4e3UJT5mWH+6hJ%!)+ z#8|fd@Q<DHZV(H+>EX?(uDO`ltyOKM@Ygukd7OB;P5vqTLJRf=NG3bfy2lX(rQYR( zYo@1o7$p0=hKm7YEh37+7X8awHZ;xF0Gs6G;CvNHAxc}=p(VFZ|7Qr*BMV8f7Sjjt zacEhW%B><*#H%{v>hqPTV65FON+*UEQ*+&e=<|}u7GUa2O#SuVbzEu=qXHn`8?dVR z4%*`q!RRm)azFSU(j(TeP*BC!@SgMq<S2^Z&)i48-Ghz7LQT>Uzl14{c#bIz%!B~V z^N3bu=$UnB9=|Qmvl;&+kiJok^%Nl6+WE_saKf1#=x*~+$nH?-zeGqi4J2h$eC#D7 zrFPmz=ZiD#JXp4KuTOXNzDggRxU!*=w9Qtkg}O@2=8;G70OxogeGj!?JogaqdCyiL z1}^kn+o2MCZ|=z!k6mhKyv2#{@DbNOkk@=B0fnFO4Wc&IowDrk5R$X*MYcb(=b?lu z`ry1B(620`lLMvQSLt}vqlf3~JffcHDg~)L7)+*xKHx|!rN*hRI{ZssF;C$4_Ze?s z@LK@7fh6}0xEZVGrv6q5?`7P+_2OI(iwdvr4*|agvNI4f(*=`QY=fF<csH15F-HCn zSeP^RJ5xI{bJQcR<3tqAUGp<PC00>^#L<_lYDExznYxN$1AJ);Q!$Z~Z8gmZ5E<be zW_<SizjAdVsBWtf)W3hW`>45mu3nLykJRDBXmW8Es61C~4kd2&ZmBYe?38Jp=gf$6 zsmSKQpEDXZ<=Ah3(^%&*+_R2My<iyg>slAbmCz0ibD&R*uT}=i<d@o^JG`+^S(mle zBxUI^TBGQN&)Z+Tv4{}ijc8zPPVkVD&bk%SGE>)C6NROQ4{SGRR~wP8h)t$tO4$g~ zuAhm=5#8}sn5L4s!F2vI9<*X1{zF1{BCQPfNMc}$kIu1D?7PcN{I|1=%-AQTd#qeF zS^n9$r!WXw?%K(qc4VlXPUG@ErnJj4)q85~@;h+sz$lch-5FnFwMW$F)R#VEIuHij zqrZ6-5$`cu1NHi(M8Qrc7jACKXA-H6s(E5P_d~v>1jhkuh(P|A_(}E!I8-l}#27F` zkkQmrf?Y&+cvQ`ldvktdEA4a?F|kaZ(Rle*vpSJghhC=T(%q#Y^N<UXl*O^D_|s;H zn*-juhW%`LpG_PxmcAH{v=VjddY;|YIy|B!aUaBS(NzGc1eC_60oRYchdt^yuSVRg zJ@zW<CYV)|9b3f>G1{aET(pbxU-##1No6nJl|{WwTdi?)`BmsnBltqG))B*ZA;A)x z%a7JDCc}YUX?tHK?>kVx+90`-`jlJwt84&;iL#nm>~&Ei85$ETTg}G0g${bYI11xR zTPSb7yW#Th>o_eU4aC?YS1XzJuHlkW${^LhcRtwh27Up%YPmJ6t*J}KwZp^h17yk1 zzwhxObH<PpR#0F2zUVgcV!<t&{v3pI5*}$gLO0qMb8*-$Ac>Y_#{~Q(+STCUv6oeW zj%lMnd_II_#Hk_qDy|=7m=s-Ia&5htna91PZuQF8i2hhEuKw3|l4Uof1Ee$q+geMq zY*OreVXK#G?n$>cW!jj<u;scI$(5vVuO@SXQ%kXe6*~2?sk$gcL5a|+&1VA*apYrq z=E0X`oHTlGmBR2l@8Q+%d#jB1`HQ<`gCkmM{;h)Xg@G64$f;(FmPuYz3WKQbCp-G1 zh!uHp4@a*j>;6_MXay@}HAaJ_H6TB_KQHbVc`Rq?RBvL^G@LO%c2?uG%g>KalNIr3 zM{F)2QZr$Bu!9-h<qzwh7?=58uk|DPgGox8?aW1{?g;VoPE4+Ov;`%qa`TTRj4oSx z8gToo*D(Uy2vU5<y#vshvDX#EX7gRUq7#-VwwAsLe;Y0wLDOQK*3u4};!z=AgfN?N z6HJNxZS2k7p`M?I(ppP~bY5wnVOlLy3O&NN_Pu+_RX)5$KO38CYy(d@1E`|fLWx7^ zzVSW#ws@f(d=wL*>&4cx)lto0-%&KBHCRnR3Xwx;>ZEmBfchNxFcN>ep|D6_MtAJh z%o|>Y`Dlcor;3_vwhD`Z-;xF9B%5~T_Ns<M*N(<|2Cl-kWp6&R1nCaJB>d`x7z`aQ zKDLn5Xdw{HALe=<yI70L%r5kLrva(2*Eq;_v7M$TRPf%yYf*v)m?<B{ls&kVs1V!O zjegtobg%Y2`-!503o5B4K#{?}`Q~vRY>prqV>MydXvUUd5aicit<+lXpL9(3{-e*W zd$pfe7%DiIY-=N@0C7*D@Eyw=HC@5n;;n)N6slC#F&sxpc1f<t%~vZ@8cZ;Do5cSZ zrfP*fJ<W-`E_dL05Vd;k`))J@?#@K)bejOV`r$~2?zoi=hI{yu9*dEDuD*qZSAIE- z=aI6^K0=3TBw6c8_1%lyY6ZU)UvvKm+%n}xadn9Thoko7MSA8B8p--QOkvd>WZzQg zomIcFEjcHcp#A#mQ<jA4oOn1Omg8ly`RInSK{*|7s&5Tp;2z2vN!577a1JEln>bd| zTz3H7iMEA0wLC?Q)}h<9NSq$ADF-`q+m)bTWmyI1X=TK3QY5?#Gf$!;V`cl5*cs(c z(i42IK07}Ze6mK=XA37rrtK*2PDzI2jIA(NPf)wLrSTC9Zp<vRph1<QeuN_i9Q<a1 zE}OL!+49`+jsz&6HsOF`3JtLpHsLj9EL(5c;?Am%On94yrmyFsg$s`H!6~0D*$(vZ zy-{U@^_E)Dp&kT7r-gQvz!X2ug8gUh@he@NQtQd!Ly)lMNGPWBRq~u?mZTTQFL%M& zpZal%jvDKpkJ+Z8=j2nLz86SNSIw@cTbQ=DNJgz`0bJQY@52`Nr1|g~uoB3m{!XYQ zwT*G>8Q9Cr{qly;6NmtF2>fQfHbnH<kq);_t&=^?gy@%!wPW;j%<O6#htZFDt8vrv zdpz{f+NpZXjakVMF2@IeeLv%UBPsF`jeIxbC`YSO870x&Ra|5+A#-0UrTYHCP7q<J z2qV$LDZH<uV9V7O!ih6#?iK-)mV>6vSx%@=4(r^8Z2oAwwFgt)Q&ax<zHN-UeM)3| zTBFR%{cgIo(hM%H1d~VflM8kA=Qxs)^xd_s5+v!^i=6b(W=g#0WZr~wUqsAxLm~WO z-g?tw#ANb9i6;$Sn2O1MFl09WCjPbNypqG(4LK>&4M~*69@FDb;qzNsLZ3;pwTv99 z38m&P78*hV8G)FLI?J|d!*EVyxy0f4&9^^>SW}XN??s?08q-T#cji)kCY8(Ykt0S~ z3L<0)0?{3FN(C4uV@*59%RkjB&~2_EmuL@Sbrr3;IJ@vPZ`6}+>6s^YSQ<6j@d5-X zi#3`ch>IALB}C7!vtulrJ0`IiC&{6kmw3bA+E|1xA8odN%uO%y@^f)q47;>6zh4<T zu&63dh})}`xa&@aZ$6Wx?en`>fUk@eQJs)SG?n5-cbVUo6&Z5Vc5mEz;P+AlAOD%u z%VA&6ruY_}+PC@KUvV$c`upuj{j*w#vA)qhNhk2MtRh_ME(u!%hDgP5mZqf=ST;44 zc1TQRVs^50>B!uEV;k#qcaXDfZ@WAKVqY%1yk?(x>p#(bDf)Ai!^_w1tf`(aU?NG1 z-#PDb+cl!8N|fu;PIX*F3oG$nV%@E7CWay>At!c|02)B6xU*5w%S~1`OPE|-^7r=M zoH5K<5t#1eLx@}>W-cE>+%z1OT3U>_SEP7Rq}_<vZY`4F$YOwF|BlcCR7*?a@>R4* zYH#1NET<tAfN#z#6!{=J)if-E@v{~-o(R#<oce(EZlpRoO9)Os_Rkmfw;qD|`?Df1 ziq&B3m{fIta%WGs6Kqr9cLS1V?M>+v-a46m7PDzNsmU^6*(00Wc<+ggzB|u9so9tQ z<h@;jG!i!w8hUiKwZd+P$PvK-KRrRPi&s{&?3W8UkJg*1KF9ki%Hj5b@~|`@ZSk*` zxNBgXXBL$FyUKpO(Wp#q*L+nQc=sjBFm+SZ+5Tt*_nd4FQ;|yax_kl|mAH=gL+E01 zW;APaLqyVKq=stp#DbZ@rh1R%(QIm6;!BI6jA#(`uTQBuQku4(O>4E9U7kV9KQ6!? z#r=0!^#iB_trlk}V)|#=gJ46s-3zx0RLAevuq8E2rM;q?ufvN}92;Kz=Adb`JwoG4 z+u|Y&kKOeVy0<3g(T^KbZrXG|gSGc4e+ze;{rXM+yh!K6FTuavmOBxqmsLTG8%?zv zvgP4j6ISyVm1EQ?VC9cP1rP^fimw-4v}wIwYl;v`c4KGmfNHxiI7LFYYjM$5bxoBJ zf0@|AA%#78Juw5!ajx3d5Y>>A$vy+yoBlnqea3p!ERd;1dw!cxtL)G5ab?fEuBe^^ zEqEZRf3Z_=$tNVSb8@RkC(C^;=^y_E)H+<}Oaah_p%T9{C&|L&B=TGjxZmzT>j&+L z18RD%9-fT~dIpRss&U59IkviDN)|cs*a@qh)E2xta#x$>m-W1fR<oSCdt8T{39kf* zxb%3zNvjz0ic1XknWpfWXvIf|oL4xme$bkLHo%*ZXWbrnvy1P%Uwyo5L0`10;>8%D z<k(T%yn|_??86^V_)YamWl3&*&r=eH2`dpY>8H(6axk_lwF`cIi>j+R{MZ3~T3&s~ z^vmbm_de0LTVD3z3Ph>`c=8~Eu_68R$hCd(rW}Pc929s@fn3G3S}$8e&J?%mY-8@n z)X=g(<G3LQ*HDI|x8RAmE3)E2T(;RPhVIz5=;CTS!m^ISOU*~C!#Sge{?<B8LV>$= zFA@O(@T(m@ea6aF69?hd(n+;MP(d>bjm6l<c)#QO82a-eZb)$Ei16L%re-c@bL~n( z^ekLQLQaHkj>#IWmDF@MRMbB%o!iFXL*8gze1Er!V`JrYkec&nEriwG(w;G7uqB+P z^HmD>&KEE)mtiCzU%{WUesJvwq!MrYn7w1q;Ns;s1EB)hpN=UH<>3%D+)bfq_Q%z@ zM0u@w4i&67kpfOM|6*n1X)JUuN$3tXm^Ycs4u3+uF<%_fJn)y$k*{B@osCCL<^ut+ zN3|r0lCO*E+?eB>IhUJQuPcXsBdQ%2V-ORB$H&qGN|?ujKH5~Sb(aUVPsJMz9wOZx zWh2$9Pj#l72_-TQ27JU4C)vjSe;L#tXHtyX>$$dW*h?ODSg8Ys1~e{5A>3~c$MH!0 zX{sigGbN3dC##6oXPh_j*O<*sJ<4L;?0?N4G$o~wY-)IO+qY$7vP(f%Iwd9W#RA&{ zHw{yrw6Eyn##(t5u^fo>amy7@xC!GbX3(0^{<>230$0uZnCrB-IBlw?6}c;%X9@j{ zkEF-YvDXobGm1wk&q-#DWE&pnO7el#H>S?*9+In@AUs||byCO&c!IA`f=(o?AWMr) zlS~Tou$vKZH|)|ilgIoMX~l*VHC0cMn&)lZ$$~Yq8&xC4-K`PCoI;qDRrR%oRQB3# z=_yPp*r%ykh2<H-GQ1?dZ^~G^^HO*?Fy@XiY4BXK_jTGV_=K`>KE9qY6JNhLt-<l{ zD-5>6mBzn_Kj42496=vad1fQ`r?CKAM7KbyWPA6H&d(%m+qddwxoiAh=GwX%iRfD$ zrxBX)g_Y@naY&IXj4{r{EXX0k&Ffcsz$Rwu`jORS_Wha`bf{2B9&1a-+l!^iflWPx zZRH=!-7Ts1cnYC%v&=o}wcIwv#*v(^2TqQ>0XI+1D6h>@u-BKh6goi-toF1J&jPdM zlHIMmmp(s#3yruOCIioIq4S@x(9S6D>);o^$WGDsf>$&lRC3|04uy(Mv-XW0!w7Q0 zO&&tOx?NsX?;_LCQN{^rcqge~$9_Lw=EU%|x5=0U1$It5GLkZ@Pdk5b<9l46Or{l( z_lHOHvY~Pex2OC_;l>N(U{fx(YQtT_J)w9$;tjn14I~k4GMm3`ImqIQRDY=_F1c6j z)TBdI$s@k-B5Vpw=;d4y%bnHQn6Hw47u@npQ^w2e^fI4{y+zt6NTk4a8&I~?zKG(W z<ey@{JmR$B1Fl)EtH^f<-Z$BBL3;uy4{n9$Y(bGr1!jP~`F<(gqd+e4nKv309%<Jm z!#e5!$($1XWcTPA04he#+w_yM=#t-`_=IL+2UsFanf#=0ONl|MA`ApaMa`=64Q{I{ z!{)@R+b^3Q_Bpe=x+!_c%1{AgWKN>Zt1f}+Oo|;0cx&FBNqv;y^Qd|Ao_{IXZT}2f z)k5G1j#f{$oaP>UmDlv3&8+lqome9uFww3xp)SHMu?XnwG&1${&x`6Ni#4EKSVdm( z!AY3G#DX71^m=!}Tgna*xK>W!ixjoOzW^XO+7<uXi$$bv>aq<BIVh$0qi-xE#qGbE z8Y2Lx;rA%M$K29Zd)1v#U1<@k{^+!5{s}u|7$-oLiFRSgn@pUFM&2=(>~iQ?LMj+I z6)%HxNVD=^g|FvrnH`@y;$nosEhtU_xUBWuIq6a`yC}>7;_)e+v_9cBarv36mKXd6 zwt+-l){u6H&w69guDMGai!rzY;#*5AIf(J&u>o#Tjb5N-_I|J8hjm4yfeZ1S{L%*T zaL7V;qBI<<Ga=t|C~|Ak9yAoASY3yf=eT~G{dkPM7hLmLhs^0<^frm~L_-;orC5ZH zns*uxXRgae2--9PI%`#mPv3le_27>boA~9UyG-u&z=lDWusi?yVBD&KUn-rZ))Z;m zi7hirBnq!P1^3K|=JF6!kTC0rX+#+~^^nfwUST3U9ze|r<`ReV&{}8jZq9i6n`Fbg zZW}f%l4x$~Mp-~`dvf4I=~t&D?2AYoFvX9?qe%M8$b^GngMYW;2U(wuDe0$VCww#J z(w)3eTNZOWs~r2c;)**(D?xkzP(DOmKy5GqVP&dVrWm>lgTmLuJDMk(kl~yp?fAg` z<?rInecba^;OIKVzZ$(Cq~pZ1sB`v9idfg0;&j-;W@ZjF*;~4-(vZ^A<O733b*Lhd zsK@TvisbJ@qx3hj#mNV@5$qc<FWe%1#a@P>+*wOk_;2haTanBcyfNLc(1-cLn|6sE zbKlWA0_2livAlrwMg7jX?r20h(VSM=9)dlUQ%D7M$a71#QTUnn2NsGvlWnX`eZ%ed zYz{={M0actZk9$*3WMN<wS2CU>y+;`LLf_a{aboA6_eoaEiywSnDip1ASJ0`z&?Db zMP+Z*{00Bo6!Z?{@VcZPaJgPF!k?fl3%Rf+Qtx*>2Ya*`gOw6NWXNd^5E03M1Y_q5 zHd*dR{e<`4aX!@1fSqxbdMVt5U+<H(Iib9qbUDJ5XEV6?3-K80AYBxyy;b)*#+xxH zb*IbSxP|2gex=1T*f;FNB`hE{v+a_jBKb<E^~l2rIWB_~nB&v?Jk*@9E$+mdmHv_@ zGWCb?i$<mj$*L?{H0m_Px%9vzrd>a;hX9alZUNi>$%9~F`8OVfl8d96yXlvf6P1&h zg_^k*Ju?Fv69Y3FH5{Ypmza~A<JZa8_CJ@_jt*j9l1~6CF&-8sW;P~n7B(hkW@dJF zS|%1sCML=+J9$U5|I0+p#n{Qo-0Vv~%Gl1;9F9>*O<apX!rji!#Mr^%AHJwrS-S$h zzW?%x4xnM~;`;S8fc48WW_E5C4tf>__J6wipAG`#tUb&DUp}!iikX{O8#_<~Y@LkV ztX$2F0UrN-n}dOwftmVCs0#4US>;Us76~<=lR1D<(Zoj8%^vQnR?W=u51lI)S2qAN z)4w{}0o<(rJ)#`&f2&|sX{<S{Nuc;0YEGC&^{u`lGJ!p*v|8`>G-ejZ<U&jQ9fA0! z3^<-YUwT9!A5JuBWWp1|yZG}yF~M*wl~{x!ov@h7W<@Hxs-?0FArHr!s_XJMsZUYD z?wWNLLnqON3863$aR6-jn+i3zic@)R+4Hfvv#(xwMz_YV0d?;25Uz@!`UW2KKr?6k z@YD6h$4RzksWMBwgSB$LDq<_T-swMx%USi_D2W*uPIEokyR|PBngl<#JPbGs)VU{x zz(B)J+t%qoYc@ZgruC!S>c{8tRY*cdf@9;P5w>Y78$)Hlro3@MBQ#-1s?)uB#t37! zAAO~EC<NWuv?T*b#Z1^=8*D6yt>4JIxTbO{th>6nvT7^pk`l9@6(j2q{c}gk*uwWr z2)tYt15F#DhF?e6Ag=uC=@2IjPeo-I@+7pZT~=AAj)X~x`K^?oGPn3NV0Hd5-7^cP zX09*mII%a(gB0Y-1z)X%{m5QX!rtJ_(-mmNnk9*4H{Kedn3|_FGtUIw%u^A<MWpMP zFAb6RC^!e3rUD>D2Lh)X5_i81tIxzHJmT=vjA#2Xnk&rLT?zwsU(0#neaL4D`SWKY zTJoU1y|23M@w>ddbhyb{EstcKP;sHm6I|ziv>tt@a74U8NMMbV_~CNNgg&yQ+@L2* zOwL6uWhG&~JcXAe9)~_2czVx-uO~l_8SyT6pCZ5LKoeO0(4}=UI^Yl0bfl_YdBdll zUb1A9O=0UDr}L2FF%g$phG;w|Y07O`F)uN7yWgK6nrXK|>}xRP%4=V)uE}|N``V-@ zbaU}u6QHO6=Hvl<){%xe*hg3z)!A+6mWhonCOhYn9v=o7md|WZ?UHgzb)rqF$Z=tB z@8?Jtal%O@q{iyH7z48NYyUaGC18@!H+Yi}#@>01NnwXmxEKp%jJO<7+Edq^JS{?t zx?BPx&}z{(yIa3gRyJQsSUOhwXl(=4Y`|q8?_-3--BIQn4CuxvjqXXO#t5CZ$+ra7 z_57cnA-1ZK8z;twQ%COtrbi|11PBKn%3d<XJ16qnZCQ?T8lQMM?~yw0`1riKKbP-y zE&9G@#~ys_-z*qis0D3SyyH7+vD*)~8VSH%7yGVD?Y(xjonPqqqjz&X{e3zcjQzx0 zvk&25MDAQ#-<a092y1fYZ2-bmbt6q0qS6OQtlvrsk@%N6=;A#d+SFG7HB4YmwCgxl zUW}fgRT$X~{+HDFMf&=e?%jVS1T7VF3phq;2QzaofG!h&g-suhQPtY}E7!2WF=_&I znE@;S=C3^!M@KgR3-i}~m4BF9I0F7N&;DZ}2GHeWVPzHN5M$w#;N}o!XBOrZW)cx* z7w2H*6k!%-;u2;S0Q}!3U$6YP79S_uf3eX3|Boz$IZ}uD9e^P^1A&Q&iIwLDLnw|H z+SE`y^tO}ji3YMk!i8&w0T&M8o}`bIYQa19&A?)4tt;fYp}NDsHh$m`ykZ!c5CdB4 de@4sI&Dh1w%jGLREL?0XEO6xH;))V*{{bN$;1mD= literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.tex b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.tex new file mode 100644 index 0000000000..5aa30df926 --- /dev/null +++ b/contrib/MeshOptimizer/doc/figures/log_barrier/log_barrier_max.tex @@ -0,0 +1,17 @@ +\documentclass{standalone} +% Paper size: 3.58in,2.03in +\usepackage{tikz} +\begin{document} +\begin{tikzpicture}[yscale = 0.25, xscale = 2] + \draw[thick, ->] (0,0) -- (3.2,0) node[right] {$m$}; + \draw[thick, ->] (0,0) -- (0,17) node[left] {$F_{\epsilon,\omega}$}; +% \node at (1.4, 12) {$F_{\epsilon,\omega}(m) = (m - \omega)^2 + \log\Big(\frac{m - \epsilon} {\omega - \epsilon}\Big)^2$}; + \foreach \y in {0, 5, 10, 15} + \draw[thick, shift={(0, \y)}] node[left] {$\y$}(-1pt, 0pt) -- (0pt,0pt) ; + \foreach \x in {0, 1, 2, 3} + \draw[thick, shift={(\x, 0)}] node[below] {$\x$}(0pt, -8pt) -- (0pt,0pt) ; + \clip(-1,-2) rectangle(3.5, 17); + \draw[very thick, dashed](2.75, 0) node[below]{$\epsilon$}-- (2.75, 20); + \draw[thick, domain = 0:2.75, samples=300] plot[id=opti] function{(log((x - 2.75)/ -1.75))**2 + (x - 1)**2}; +\end{tikzpicture} +\end{document} diff --git a/contrib/MeshOptimizer/doc/figures/opti_process/Makefile b/contrib/MeshOptimizer/doc/figures/opti_process/Makefile new file mode 100644 index 0000000000..c57c1e8936 --- /dev/null +++ b/contrib/MeshOptimizer/doc/figures/opti_process/Makefile @@ -0,0 +1,4 @@ +opti_process.pdf : opti_process.tex + pdflatex --shell-escape $< +clean : + ${RM} *.gnuplot *.table *.aux *.log diff --git a/contrib/MeshOptimizer/doc/figures/opti_process/opti2.dat b/contrib/MeshOptimizer/doc/figures/opti_process/opti2.dat new file mode 100644 index 0000000000..c0093752ee --- /dev/null +++ b/contrib/MeshOptimizer/doc/figures/opti_process/opti2.dat @@ -0,0 +1,71 @@ +-2.64148E+00 0 +-2.43013E+00 1 +-1.70784E+00 2 +-1.48840E+00 3 +-1.24431E+00 4 +-1.22296E+00 5 +-1.46493E+00 6 +-1.37456E+00 7 +-1.06042E+00 8 +-1.08719E+00 9 +-7.98080E-01 10 +-6.91630E-01 11 +-5.29097E-01 12 +-7.59110E-01 13 +-7.96486E-01 14 +-5.83650E-01 15 +-5.67035E-01 16 +-5.54370E-01 17 +-5.58354E-01 18 +-4.42153E-01 19 +-5.31631E-01 20 +-3.67621E-01 21 +-2.35836E-01 22 +-3.03352E-01 23 +-1.23011E-01 24 +-3.10858E-01 25 +-2.79462E-01 26 +-3.07822E-01 27 +-3.90367E-01 28 +-2.83299E-01 29 +-3.25716E-01 30 +-2.32968E-01 31 +-6.45337E-02 32 +-7.54033E-02 33 + 1.03627E-01 34 + 1.10993E-01 35 + 1.57424E-01 36 + 1.12755E-01 37 + 1.15172E-01 38 + 1.96417E-01 39 + 1.59601E-01 40 + 2.11292E-01 41 + 1.83952E-01 42 + 2.25986E-01 43 + 2.67051E-01 44 + 1.72728E-01 45 + 2.87346E-01 46 + 2.34241E-01 47 + 2.50449E-01 48 + 1.53213E-01 49 + 2.73509E-01 50 + 2.20303E-01 51 + 1.71445E-01 52 + 2.94302E-01 53 + 2.40149E-01 54 + 1.62477E-01 55 + 2.70177E-01 56 + 1.97067E-01 57 + 1.49844E-01 58 + 3.15566E-01 59 + 2.14724E-01 60 + 2.78222E-01 61 + 3.41295E-01 62 + 3.99265E-01 63 + 4.07313E-01 64 + 4.55684E-01 65 + 4.37392E-01 66 + 4.56385E-01 67 + 4.88812E-01 68 + 4.47293E-01 69 + 5.02562E-01 70 diff --git a/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.pdf b/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6d99b6df1571b44bb9886a1c66a20baca3ef48c4 GIT binary patch literal 60448 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 Z73A#d>HI!=+^np8oJiEvQYz9&{|5~7+JOK7 literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.tex b/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.tex new file mode 100644 index 0000000000..b6a59c1672 --- /dev/null +++ b/contrib/MeshOptimizer/doc/figures/opti_process/opti_process.tex @@ -0,0 +1,40 @@ +\documentclass{standalone} +\usepackage{tikz} +\begin{document} +\begin{tikzpicture}[yscale = 0.06, xscale = 1.8, thick] + %\node at (-1.4, 40) {\Large $\displaystyle J^{\min} = \min_{e,j} \frac{J_{ej}}{J_e^0}$}; + \draw[dashed, green!70!black](0.5, 0) node[below]{$\bar{\epsilon}$}-- (0.5, 75); + \begin{scope}[black] + \draw(-3,0) -- (2,0) node[right] {}; + \foreach \x in {-2, -1, 0, 1, 2} + \draw[shift={(\x, 0)}] node[below] {$\x$}(0pt, -20pt) -- (0pt,0pt) ; + \end{scope} + \begin{scope}[red, yscale = 3] + \draw[dashed](-2.9, 0) node[below]{$\epsilon_0$}-- (-2.9, 25) ; + \draw[dashed](-0.358, 0) node[below]{$\epsilon_1$}-- (-0.358, 25); + \draw[dashed](0.193, 0) node[below]{$\epsilon_2$}-- (0.193, 25); + \begin{scope} + \clip(-3.5, 0) rectangle(2.4, 25); + \draw[domain = -3:2, samples=500] plot[id=opti1] function{(log((x + 2.9)/ 3.9))**2 + (x - 1)**2}; + \draw[domain = -3:2, samples=500] plot[id=opti2] function{(log((x + 0.358)/ 1.358))**2 + (x - 1)**2}; + \draw[domain = -3:2, samples=500] plot[id=opti3] function{(log((x - 0.193)/ 0.807))**2 + (x - 1)**2}; + \end{scope} + \node at (-2.50, 25) {$f_{\epsilon_0,\omega}$}; + \node at (-0.10, 25) {$f_{\epsilon_1,\omega}$}; + \node at (0.45, 25) {$f_{\epsilon_2,\omega}$}; + \foreach \y in {0, 5, 10, 15, 20} + \draw[shift={(2, \y)}] node[right] {$\y$}(0pt, 0pt) -- (1pt,0pt) ; + \draw[->] (2,0) -- (2,25) node[right] {$f_{\epsilon,\omega}$}; + \end{scope} + \begin{scope}[blue] + \draw plot file {opti2.dat} node[right]{$m$}; + \node at (-2.641, 0) {$\bullet$}; + \node at (-0.3257, 30) {$\bullet$}; + \node at (0.214, 60) {$\bullet$}; + \node at (0.5025, 70) {$\bullet$}; + \draw[->] (-3,0) -- (-3,75) node[left] {Iterations}; + \foreach \y in {0, 30, 60} + \draw[shift={(-3, \y)}] node[left] {$\y$}(-1pt, 0pt) -- (0pt,0pt) ; + \end{scope} +\end{tikzpicture} +\end{document} diff --git a/contrib/MeshOptimizer/doc/figures/patches/patch_def.png b/contrib/MeshOptimizer/doc/figures/patches/patch_def.png new file mode 100644 index 0000000000000000000000000000000000000000..ab24babdab6855bb239548774d52fed6524230b4 GIT binary patch literal 15744 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 OJ9*6fDD{Zr&Hn@M;r_M& literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/patches/patch_tangled.png b/contrib/MeshOptimizer/doc/figures/patches/patch_tangled.png new file mode 100644 index 0000000000000000000000000000000000000000..343bb769d027944518dd4ef6bd39a948731629e1 GIT binary patch literal 16690 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 literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/patches/patch_untangled.png b/contrib/MeshOptimizer/doc/figures/patches/patch_untangled.png new file mode 100644 index 0000000000000000000000000000000000000000..f9cc54230a49433bbe07167003a590aed3cea56d GIT binary patch literal 15945 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 B0E_?t literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/patches/patchdef.xcf b/contrib/MeshOptimizer/doc/figures/patches/patchdef.xcf new file mode 100644 index 0000000000000000000000000000000000000000..6a507128e9285fe7f381827c1f92f7b2b69b90ea GIT binary patch literal 86327 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 Ve_zA<a~b}A{7+=~I{r1`{~uoy&g%dG literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/untangling/linear.pdf b/contrib/MeshOptimizer/doc/figures/untangling/linear.pdf new file mode 100644 index 0000000000000000000000000000000000000000..54300e6d637db86121d4c3c32773fe20b14f63b6 GIT binary patch literal 18894 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⊃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 literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/untangling/p2.pdf b/contrib/MeshOptimizer/doc/figures/untangling/p2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..bc47412ff8e1d3e10d5b8a476efe571c887eb2b7 GIT binary patch literal 19114 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 literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/figures/untangling/p2_bad.pdf b/contrib/MeshOptimizer/doc/figures/untangling/p2_bad.pdf new file mode 100644 index 0000000000000000000000000000000000000000..895b9f35e94be9591fd88528082a7508dd102f8e GIT binary patch literal 18933 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 G8y5ghd2v(# literal 0 HcmV?d00001 diff --git a/contrib/MeshOptimizer/doc/mesh_optimization.tex b/contrib/MeshOptimizer/doc/mesh_optimization.tex new file mode 100644 index 0000000000..729a804861 --- /dev/null +++ b/contrib/MeshOptimizer/doc/mesh_optimization.tex @@ -0,0 +1,833 @@ +% +% Template for IDIHOM technical reports +% +% to be processed with pdflatex +% +% based on initial design by K. Hillewaert + +\documentclass[12pt,a4paper,a4wide]{article} + +% ------------------------------------------------------------------------------ +% packages +% ------------------------------------------------------------------------------ + +% inclusion of non ps-graphics +\usepackage{graphicx,psfrag} +\usepackage{subfig} +\usepackage{epstopdf} +\usepackage{amsfonts,amsmath,amssymb,amscd} +% typesetting headers and footers +\usepackage{fancyhdr} +%\usepackage{lastpage} + +% fancy links +\usepackage{color} +\usepackage[citecolor=blue,linkcolor=blue,colorlinks=true]{hyperref} + +\usepackage{parskip} +%\usepackage{alltt} +\usepackage{verbatim} +\usepackage[latin1]{inputenc} +\usepackage{float} +\usepackage{url} +%\usepackage[francais]{babel} +%\def\baselinestretch{2} + +%\floatstyle{ruled} +%\newfloat{algorithm}{tbp}{loa} +%\floatname{algorithm}{Algorithm} + +\graphicspath{{figures/}} + +\renewcommand{\vec}[1]{\ensuremath{\text{\boldmath $#1$\unboldmath}}} +\newcommand{\mvx}{\vec{x}} + +% ------------------------------------------------------------------------------ +% modify here the properties of the document +% ------------------------------------------------------------------------------ + +%\newcommand{\reference}{D4.1-30b} +%\newcommand{\shorttitle}{Curvilinear Mesh Generation Capability in Gmsh} +%\newcommand{\theauthor}{T. Toulorge, J.F. Remacle} + +\title{Mesh Optimization in Gmsh} +\author{Thomas Toulorge} +\date{November 2014} + +% ------------------------------------------------------------------------------ +% page title and table of contents +% ------------------------------------------------------------------------------ + +\begin{document} + +% ------------------------------------------------------------------------------ +% define headers and footers +% ------------------------------------------------------------------------------ + +%\pagestyle{fancy} + +% header from left to right +%\lhead{\includegraphics[width=0.1\textwidth]{figures/idihom_105px}} +%\chead{} +%\rhead{\small{\textit{\reference~-~\shorttitle}}} +%\renewcommand{\headrulewidth}{0.4pt} + +% footer from left to right +%\renewcommand{\footrulewidth}{0.4pt} +%\lfoot{\nouppercase{\leftmark}} +%\cfoot{} +%\rfoot{\thepage/\pageref{LastPage}} +%\newcommand{\chaptermark}[1]{\markboth{#1}{}} + +% ------------------------------------------------------------------------------ +% main text +% ------------------------------------------------------------------------------ + +%\newpage +\maketitle + + +\section{Introduction} + +The quality of the meshes generated by Gmsh in a first step is +sometimes not satisfying. The mesh optimization tool aims to +improve the meshes with respect to a given set of quality measures +without performing any topological operation. The tool is designed +to improve locally bad (or even invalid) meshes by using an +optimization algorithm that moves the mesh vertices. + + +\section{Method} + + +\subsection{Problem Definition}\label{sec:problem-def} + +In order to improve the mesh, an optimization problem is defined: +\[ +\min_{\mvx_i} F(\mvx_i) +\] +where the variables $\mvx_i$ are the vertex positions, and the objective +function $F$ takes into account the quality measures of interest. The +position of a vertex in the interior of the computational domain +is normally expressed in terms of its spatial coordinates ($x$, $y$ and +$z$). Vertices classified on a boundary are allowed to move along the +corresponding geometric entity, in case a CAD model is available: +the variables associated to such a vertex are then its parametric +coordinates, as provided by the CAD modeler. Thus, vertices +classified on model edges will have as only degree of freedom the +parametric coordinate $u$, while vertices classified on model faces +will have two degrees of freedom $u$ and $v$. Vertices classified on +a model vertex will not be allowed to move. + +The objective function $F$ is the function of all variables $\mvx_i$ +to be minimized by moving the nodes. It is the sum of several +\emph{contributions}: +\[ +F(\mvx_i) = \sum_{j} F_j(\mvx_i), +\] +where each contribution $F_j(\mvx_i)$ is actually a function of +a \emph{measure} $m_j(\mvx_i)$: +\[ +F_j(\mvx_i) = f_j[m_j(\mvx_i)]. +\] +A measure is usually a quantity of interest +characterizing the quality or the validity of the mesh (for +instance the scaled Jacobian in high-order meshes). Nevertheless, +a contribution proportional to the square of the node displacement +is often included in the objective function, so that the mesh +remains as similar as possible to the original one, while complying +with other quality constraints. + + +\subsection{Moving Barriers} + +Most often, the mesh optimizer is used to change the mesh so that a +quality or a validity measure lies within a given range of values. +For this purpose, a \emph{log barrier} is used: +\[ +f_{\epsilon,\omega}(m) = (m - \omega)^2 + +\log\left(\frac{m-\epsilon}{\omega-\epsilon}\right)^2, +\] +where $\omega$ is the optimal value of the measure $m$, and $\epsilon$ +is a value for which the function blows up (cf. +figure~\ref{fig:barrier}). Thus, setting $\epsilon<\omega$ ensures that +the measure $m$ will never drop below the value of $\epsilon$ during the +optimization procedure. Likewise, setting $\epsilon>\omega$ ensures that +$m$ will never exceed $\epsilon$. + +\begin{figure} +%\begin{center} +\centering +\includegraphics[width=0.45\textwidth]{log_barrier/log_barrier} +\includegraphics[width=0.45\textwidth]{log_barrier/log_barrier_max} +%\end{center} +\caption{Barrier function for $\omega=1$ and +$\epsilon<\omega$ (left) or $\epsilon>\omega$ +(right)\label{fig:barrier}} +\end{figure} + +In order for the measure $m$ to remain in the domain of definition of +the barrier function $f_{\epsilon,\omega}$, the value of $\epsilon$ must +be lower than the minimum of $m$ in the domain or subdomain of interest. +Thus, a constraint forcing the measure $m$ to increase to reach a target +minimum value $\bar{\epsilon}$ is introduced through a \emph{moving +barrier}: a sequence of optimization problems is solved. A conjugate +gradient optimization algorithm is applied to each problem, so that $m$ +progressively increases. Each run is stopped after a fixed number of +iterations, when stagnation in $m$ is detected, or when the target +criterion $m\geq\bar{\epsilon}$ is reached. Between two runs, $\epsilon$ +is reset to a value just below the current minimum value of $m$, so that +the variables remain in the domain of realizability. +Fig.~\ref{fig:opti_process} illustrates this process. The same method +is applied for a maximum constrain. + + +\subsection{Passes} + +It is difficult to handle several moving barriers at the same +time. This is why the optimization procedure can be +used in successive \emph{passes}, between which the objective function +changes. For instance, a moving barrier can be used in a first pass to +bring $m$ to a threshold $m_{\min}$. In a second pass, the objective +function is composed of a fixed barrier set to $m_{\min}$, plus a moving +barrier that forces $m$ to drop below a value $m_{\max}$. This technique +can also prove useful when one wants to impose a constraint on a crucial +measure $m_1$ in a first pass, and then improve another less important +one $m_2$ in a second pass. + +\begin{figure} +%\begin{center} +\centering +\includegraphics[width=0.95\textwidth]{opti_process/opti_process} +%\end{center} +\caption{Optimization process: three successive series of +(maximum) 30 conjugate gradient iterations\label{fig:opti_process}} +\end{figure} + + +\subsection{Strategy and Mesh Patches}\label{sec:strategy} + +A common use case for the mesh optimization tool is when only a few +small portions of the mesh do not comply with the required quality +criteria. Involving the whole mesh in the optimization process is then +unnecessary, or even prohibitively costly. Therefore, the tool makes it +possible to select \emph{patches} of the mesh (or ``blobs'') in which +the optimization is performed, while the rest of the domain is left +untouched. + +The first step in the definition of patches consists in identifying +the mesh elements that do not satisfy the user-defined criteria. A +primary patch containing a user-defined number $N$ of layers of elements +surrounding each ``bad'' element is then built. A geometrical criterion +can also be added: among the elements forming the $N$ layers around the +bad element, only those located within a user-defined distance are +retained. This additional criterion is particularly useful when dealing +with anisotropic meshes, as the boundary layer mesh illustrated in +Fig.~\ref{fig:patches}. +%The optimal values for the number of layers $N$ +%and the distance factor are case-dependant: they should involve the lowest +%number of elements while still leaving the optimization procedure enough +%freedom to reach a node configuration that complies with the target mesh +%quality. In complex cases, a unique value of these parameters for the whole +%mesh may lead to patches that are too large at some locations, but too small +%at others. It is then beneficial to use the untangling procedure in an +%adaptive loop where the patch size is progressively increased in case +%the optimization procedure fails to reach the quality criteria. + +A potential problem with the patches created as described above is +that they may overlap. Let us consider the case of a subdomain built +around an bad element, that contains another bad element close to its +boundary: this patch may not provide the necessary degrees of freedom +to fix the second bad element, thus the optimization procedure can +fail to reach the mesh quality target in this patch. +In order to avoid such problems, the user can choose between two +strategies: +\begin{description} +\item[Disjoint patches] Overlapping patches are detected and +merged. This strategy ensures that each invalid element in a patch +has enough surrounding elements for the untangling procedure to +be successful, provided the primary patches are large enough, but +it may lead to large patches, which can be computationally expensive. +\item[``One-by-one'' strategy] The untangling procedure is applied +sequentially to each patch, with the objective of fixing only +the invalid element around which it is built, while allowing other +invalid elements in the same patch to remain broken. This strategy +lets the untangling procedure work on small-size patches. +\end{description} + +\begin{figure} +\begin{center} +\begin{tabular}{ccc} +\includegraphics[width=0.33\textwidth]{patches/patch_tangled}& +\includegraphics[width=0.33\textwidth]{patches/patch_def}& +\includegraphics[width=0.33\textwidth]{patches/patch_untangled} +\end{tabular} +\end{center} +\caption{Detail of a boundary-layer mesh on a curved geometry: +tangled quadratic mesh (left), patch definition with $N=5$ layers +in red and geometrical criterion represented by a green circle +(center), untangled mesh (right). +\label{fig:patches}} +\end{figure} + + +\section{Implementation} + + +\subsection{General organization}\label{sec:gen-org} + +The code of the optimization tool itself is divided into three main +parts: + +\begin{itemize} +\item The class \texttt{Patch} handles the information needed from +and provided to the mesh patch, such as the node coordinates and the +value of the quality measures and their gradients. It allows to work +indifferently with physical and parametric node coordinates, and to +avoid modifying the actual mesh data in Gmsh until the optimization +has completed successfully. +\item The class \texttt{MeshOpt} is in charge of setting up and +running the optimization procedure in a given patch. The computation +of the objective function, as well as the assessment of the success +or the failure of the optimization procedure, are handled by classes +that represent each contribution. These classes derived from +\texttt{ObjContrib} are called from \texttt{MeshOpt} through the +class \texttt{ObjectiveFunction}. +\item The function \texttt{meshOptimizer} and the related functions +perform the patch selection and execute the overall optimization +process. +\end{itemize} + +In order to tailor the mesh optimization tool to a new application, it +is necessary to carry out the following developments: +\begin{itemize} +\item Implement the main function setting the input parameters (see +Section~\ref{sec:input-param}) and calling the function +\texttt{meshOptimizer}. +\item Implement the class derived from \texttt{MeshOptPatchDef} +that drives the patch selection process (see +Section~\ref{sec:patch-selec}). +\item Implement the classes derived from \texttt{ObjContrib} that +compute the different contributions to the objective function and +check the corresponding criteria (see Section~\ref{sec:obj-func}). +\item Implement the appropriate measure(s) in the class +\texttt{Patch}. +\end{itemize} + +These steps are detailed in the following sections. + +\subsection{Input Parameters}\label{sec:input-param} + +The input parameters that control the optimization process are +provided to \texttt{meshOptimizer} through the structure +\texttt{MeshOptParameters}: + +\begin{verbatim} +struct MeshOptParameters { + int dim ; + bool onlyVisible ; + bool fixBndNodes; + bool useGeomForPatches, useGeomForOpt; + MeshOptPatchDef *patchDef; + std::vector<MeshOptPass> pass; + int optDisplay; + int verbose; + int success; + double CPU; +}; +\end{verbatim} + +This structure carries the following information: +\begin{itemize} +\item The fields \texttt{dim} and \texttt{onlyVisible} specify the +geometric entities (2D or 3D, all of them or only the visible ones) +in which the mesh will be optimized. +\item The field \texttt{fixBndNodes} determines whether the nodes +located on the boundaries (i.e. the nodes classified on model +entities of dimension \texttt{dim-1}) should be fixed or allowed to +move along their respective model entity. +\item The fields \texttt{useGeomForPatches} and \texttt{useGeomForOpt} +determine whether the geometrical information (i.e. on which model +entity each element is classified) should be passed respectively: +\begin{itemize} +\item to \texttt{patchDef} (see Section~\ref{sec:patch-selec}), in +order to take it into account in the selection of mesh patches, +\item to the classes \texttt{MeshOpt} and \texttt{Patch}, in order +to take it into account in the evaluation of quality measures. +\end{itemize} +If both fields are set to \texttt{false}, the geometrical information +is not computed, which may result in an improved performance. +\item The field \texttt{patchDef} is a pointer on an instance of a +class derived from \texttt{MeshOptPatchDef}, that implements the +methods needed to select the mesh patches (see +Section~\ref{sec:patch-selec}). +\item The vector \texttt{pass} contains instances of the structure +\texttt{MeshOptPass}, which determines the optimization procedure +for each pass, as described hereafter. +\item The fields \texttt{optDisplay} and \texttt{verbose} control +the output (respectively the iteration interval at which the progress +of the Conjugate Gradient procedure is printed to screen and the +overall level of verbosity). +\item The fields \texttt{success} and \texttt{CPU} indicate whether +the overall procedure has been successful (i.e. whether the target +values for the quality measures have been reached) and how much CPU +time it used. +\end{itemize} + +The structure \texttt{MeshOptPass}, that specifies the optimization +procedure for each pass, is as follows: + +\begin{verbatim} +struct MeshOptPass { + std::vector<ObjContrib*> contrib; + int optIterMax; + int barrierIterMax; +}; +\end{verbatim} + +where: + +\begin{itemize} +\item The vector \texttt{contrib} contains pointers on instances +of classes derived from \texttt{ObjContrib}, each instance +describing a contribution to the objective function (see +Section~\ref{sec:obj-func}). +\item The field \texttt{optIterMax} gives the maximum number of +Conjugate Gradient iterations to be performed for a given objective +function (i.e. before a potential log barrier is moved). +\item The field \texttt{barrierIterMax} determines the maximum +number of times the objective function is changed, i.e. the number +of times a potential log barrier is moved. +\end{itemize} + + +\subsection{Patch Selection}\label{sec:patch-selec} + +The patch selection process is controlled by an application-specific +class that is derived from \texttt{MeshOptPatchDef}: + +\begin{verbatim} +class MeshOptPatchDef { +public: + enum { STRAT_CONNECTED, STRAT_ONEBYONE }; + int strategy; + int minLayers, maxLayers; + union { + struct { + int maxAdaptPatch; + int maxLayersAdaptFact; + double distanceAdaptFact; + }; + bool weakMerge; + }; + virtual ~MeshOptPatchDef() {} + virtual double elBadness(MElement *el, + GEntity* gEnt) const = 0; + virtual double maxDistance(MElement *el) const = 0; + virtual int inPatch(const SPoint3 &badBary, + double limDist, + MElement *el, + GEntity* gEnt) const = 0; +protected: + bool testElInDist(const SPoint3 &P, double limDist, + MElement *el) const; +}; +\end{verbatim} + +The fields of this class contain information about the strategy +and the number of layers in the patch: + +\begin{itemize} +\item The field \texttt{strategy} specifies the overall strategy +with (\texttt{STRAT\_CONNECTED} for merging overlapping patches +or \texttt{STRAT\_ONEBYONE} for a sequential treatment, see +Section~\ref{sec:strategy}). +\item The fields \texttt{minLayers} and \texttt{maxLayers} give +respectively the minimum and maximum amount of layers of elements +surrounding the bad element to be included in the patch. +\item Depending on the strategy chosen, additional information +must be provided: +\begin{itemize} +\item If the strategy is \texttt{STRAT\_CONNECTED}, the field +\texttt{weakMerge} specifies whether two patches are merged if +they overlap (value \texttt{false}), or only if a bad element +of one patch is included in the other one (value \texttt{true}). +\item If the strategy is \texttt{STRAT\_ONEBYONE}, an adaptive +process loop is used: the patch size is progressively increased +in case the optimization procedure fails. The maximum number of +adaptations is then controlled by the field \texttt{maxAdaptPatch}. +The growth factor in maximum number of layers and in the maximum +distance criterion at each adaptation is specified by the fields +\texttt{maxLayersAdaptFact} and \texttt{distanceAdaptFact} +respectively. +\end{itemize} +\end{itemize} + +Application-specific control of the patch selection is achieved +through the pure virtual methods \texttt{elBadness}, +\texttt{maxDistance} and \texttt{inPatch}, that have to be +implemented in a derived class: +\begin{itemize} +\item \texttt{elBadness} determines the ``badness'' of an element: +it returns a negative value for a bad element and a positive value +for a good element. The return value is a floating point instead of +a boolean because the tool always deals with the patches in +decreasing order of badness in the \texttt{STRAT\_ONEBYONE} strategy. +\item \texttt{maxDistance} returns the value the maximum distance +criterion for a given bad element. This value matters only if the +criterion is used in the method \texttt{inPatch}. +\item \texttt{inPatch} determines whether a given element should be +included in a patch. It returns an integer value: +\begin{itemize} +\item $-1$ means that the element should not be included in the patch, +\item $0$ means that the element should be included in the patch only if +it belongs to a layer below \texttt{minLayers}, +\item $1$ means that the element should be included in the patch if +it belongs to a layer below \texttt{maxLayers}. +\end{itemize} +This system makes the patch selection very flexible. For instance, it is +possible to exclude unconditionally certain type of elements, or to take +into account certain criteria only in layers between \texttt{minLayers} +and \texttt{maxLayers}. Moreover, the protected method +\texttt{testElInDist} can be called from \texttt{inPatch} for an +efficient test of the distance criterion, if desired. +\end{itemize} + + + +\subsection{Objective Function}\label{sec:obj-func} + +As explained in Section~\ref{sec:problem-def}, the objective +function is defined as a sum of contributions, each +contribution being a function of a single measure. In practice, +it is important to follow the progress of the measure to determine +whether the optimization procedure is successful. To this end, the +extrema (minimum and maximum) of the measure over the patch under +consideration are evaluated during the computation of the contribution. +Three criteria are associated to each contribution: +\begin{itemize} +\item A success criterion tests whether the minimum (or maximum) +of the measure is greater (respectively lower) than the target value, +\item A failure criterion tests whether the minimum (or maximum) +of the measure is lower (respectively greater) than a critical value +(for instance the value 0 for the scaled Jacobian in high-order meshes, +below which the mesh is invalid), +\item A stagnation criterion tests whether the minimum (or maximum) +of the measure stagnates compared to the start of the conjugate +gradient algorithm. +\end{itemize} +Thus, a mesh that does not fulfill the failure criterion anywhere can +be considered as acceptable, even if the target has not been reached +in some patches. The stagnation criterion avoids wasting +computation time in problematic cases by stopping an optimization +procedure that does not improve the measure. + +As mentioned in Section~\ref{sec:gen-org}, the contributions +are defined by specifying in \texttt{MeshOptPass} a vector of +pointers on instances of classes derived from \texttt{ObjContrib}. +The class \texttt{ObjContrib} is as follows: + +\begin{verbatim} +class ObjContrib +{ +public: + ObjContrib(std::string mesName, std::string name); + virtual ~ObjContrib() {} + virtual ObjContrib *copy() const = 0; + const double getMin() { return _min; } + const double getMax() { return _max; } + const std::string &getName() const { return _name; } + const std::string &getMeasureName() const { + return _measureName; + } + virtual void initialize(Patch *mesh) = 0; + virtual bool fail() = 0; + virtual bool addContrib(double &Obj, + alglib::real_1d_array &gradObj) = 0; + virtual void updateParameters() = 0; + virtual bool targetReached() = 0; + virtual bool stagnated() = 0; + virtual void updateMinMax() = 0; + void updateResults(); + +protected: + static const double BIGVAL; + ObjContrib *_parent; + std::string _measureName, _name; + double _min, _max; +}; +\end{verbatim} + +A class defining a contribution should derive from \texttt{ObjContrib}. +One instance should be defined through the constructor in the function +calling the optimization tool, and passed through \texttt{MeshOptPass}. +Then, a new copy of this ``parent'' instance is used for each patch. +\texttt{ObjContrib} stores the pointer to the parent instance +(\texttt{\_parent}), the name of the contribution and the corresponding +measure (\texttt{\_name}, \texttt{\_measureName}) for output purposes, and +the extrema of the measure (\texttt{\_min}, \texttt{\_max}) for the +evaluation of target criteria. The method \texttt{updateResults} updates +the extrema of the measure in the parent instance for reporting purposes. +A derivative class should implement the following methods: + +\begin{itemize} +\item The constructor \texttt{ObjContrib} may be needed if fixed +user-defined parameters shall be provided to the contribution (for +instance, a weight factor in the objective function). +\item The method \texttt{copy} returns a new copy of the instance. +\item The method \texttt{initialize} is in charge of initializing +the contribution for each patch, i.e. setting up the fields and +calling the initialization methods of the measure in the class +\texttt{Patch}. +\item The method \texttt{fail} returns whether the measure fails +to fulfill a critical criterion. The whole process is considered +as failed if this method returns \texttt{true} for at least one +of the patches at the end of the optimization procedure. +\item The method \texttt{addContrib} computes the contribution +and its gradients and evaluates the extrema of the measure at +the same time. +\item The method \texttt{updateParameters} recalculates the +parameters of the contribution (e.g. the blow-up value $\epsilon$ +for a log barrier). It is called before each run of the +conjugate gradient algorithm. +\item The method \texttt{targetReached} checks whether the target +value has been reached for the corresponding measure. The +optimization procedure for a patch is considered successful +and stops when this method returns \texttt{true} for all the +contributions. +\item The method \texttt{stagnated} checks whether the corresponding +measure stagnates compared to its value at the beginning of the +conjugate gradient run. In case it returns \texttt{true} for at least +one contribution, the run is stopped. +\item The method \texttt{updateMinMax} recomputes the extrema of +the corresponding measure. +\end{itemize} + +The derivative class is thus in charge of evaluating the measures +by calling the appropriate methods of the class \texttt{Patch}, +applying the function to it and defining the success, failure and +stagnation criteria. In order to make the implementation easier +and flexible, several functions along with the corresponding +criteria are already implemented: + +\begin{itemize} +\item The class \texttt{ObjContribFuncSimple} simply gives +the value of the measure, with no particular criterion (it is always +successful, never fails and never stagnates). +\item The class \texttt{ObjContribFuncBarrierMovMin} implements +a moving log barrier against the minimum of the measure, with a +user-defined critical value. +\item The class \texttt{ObjContribFuncBarrierMovMax} performs +the same role for the maximum of the measure. +\item The class \texttt{ObjContribFuncBarrierFixMinMovMax} sets +two log barriers: a fixed one against the minimum of the measure +and a moving one against the maximum of the measure. +\end{itemize} + +It is then possible to implement a contribution as a class deriving +from \texttt{ObjContrib} and a template parameter that is +instantiated with one of the function classes described above. + + +\section{Applications} + +\subsection{High-Order Mesh Optimizer} + +The generation of a high-order mesh with Gmsh starts with creating a +straight sided mesh. Then, each mesh entity corresponding to a curved +boundary of the domain is curved by adding high-order mesh points on +the model entity on which it is classified. This naive procedure does +not ensure that all the elements of the final curved mesh are valid, +as illustrated in Figure \ref{fig:untangling}. The high-order mesh +optimizer aims to fix the invalid elements created by this process +by ensuring that their scaled Jacobian, whose bounds are evaluated in +a robust manner~\cite{bounds-jcp}, is positive and lies within a +user-defined range $[J_{\min}, J_{\max}]$. More details are available +in Ref.~\cite{untangling-jcp}. + +\begin{figure} + \begin{center} + \begin{tabular}{ccc} + \includegraphics[width=0.3\textwidth]{untangling/linear} & + \includegraphics[width=0.3\textwidth]{untangling/p2_bad} & + \includegraphics[width=0.3\textwidth]{untangling/p2}\\ + First-order mesh & High-order vertices &\textbf{Untangling} + \end{tabular} +\end{center} +\caption{Straight sided mesh (left) basic curvilinear (quadratic) +mesh with tangled elements (center) and untangled mesh (right). +\label{fig:untangling}} +\end{figure} + +To this end, elements whose scaled Jacobian lies outside the +range $[J_{\min}, J_{\max}]$ are considered as bad elements. Two +optimization passes are defined. In the first pass, two +contributions are included: the square of the node displacement +(see Section~\ref{sec:problem-def}) and a moving log barrier against +the minimum of the scaled Jacobian, with $J_{\min}$ as target value +and $0$ as critical value. In the second pass, the moving barrier +against the minimum scaled Jacobian is replaced by a fixed barrier +on the minimum scaled Jacobian plus a moving barrier on the maximum +scaled Jacobian with $J_{\max}$ as target value. + + +The high-order mesh optimizer is accessible from the ``High order +tools'' window in Gmsh's graphical interface. The parameters are +as follows: + +\begin{itemize} +\item \texttt{Target Jacobian range} corresponds to $J_{\min}$ and +$J_{\max}$. +\item \texttt{Number of layers} is the maximum number of layers +around a bad element to be included in a patch (see \texttt{minLayers} +in Section~\ref{sec:patch-selec}). +\item \texttt{Distance factor} controls the distance criterion +for the creation of patches (see Section~\ref{sec:patch-selec}). The +factor is multiplied by the maximum distance, among all high-order +nodes in a bad element, between the node and the corresponding location +in a straight-sided version of the bad element. +\item \texttt{Boundary nodes} determines whether the boundary nodes +are fixed or are allowed to move along the corresponding boundary +in case a CAD model is available. +\item \texttt{W fixed} and \texttt{W free} are the relative weights +of the node displacement contribution for fixed and free vertices +respectively, compared to the Jacobian contributions. +\item \texttt{Maximum number of iterations} is the maximum number +of iterations in the Conjugate Gradient algorithm (see +\texttt{optIterMax} in Section~\ref{sec:input-param}). +\item \texttt{Max. number of optimization passes} is the maximum number +of times the log barriers are moved (see \texttt{barrierIterMax} in +Section~\ref{sec:input-param}). +\item \texttt{Strategy} determines the strategy for the treatment of +patches (see Sections~\ref{sec:strategy} and~\ref{sec:patch-selec}). +\item \texttt{Max. number of blob adaptation iter.}, +\texttt{Num. layer adaptation factor} and +\texttt{Distance adaptation factor} control the adaptation of the +patch size with the ``adaptive one-by-one'' strategy (see +\texttt{maxAdaptPatch}, \texttt{maxLayersAdaptFact} and +\texttt{distanceAdaptFact} in Section~\ref{sec:patch-selec}). +\end{itemize} + +These options are likely to change as the high-order mesh +optimizer is being further developed. + + +\subsection{Mesh Quality Optimizer} + +The mesh quality optimizer aims to improve the quality of meshes, +as measured by the ``inverse condition number'' quality metric. +The elements below a quality threshold are marked as bad, and a +unique optimization pass includes two contributions: the square +of the node displacement (see Section~\ref{sec:problem-def}) and +a moving log barrier against the minimum of the quality measure. + +The mesh quality optimizer is only accessible through Gmsh's API +in C++ or Python. It is launched by the function +\texttt{MeshQualityOptimizer}, that take as arguments a pointer to +an instance of GModel and a structure \texttt{MeshQualOptParameters} +as follows: +\begin{verbatim} +struct MeshQualOptParameters { + bool onlyValidity; + bool excludeQuad, excludeHex, excludePrism, excludeBL; + double minTargetIdealJac; + double minTargetInvCondNum; + double weightFixed; + double weightFree; + int nbLayers; + int dim; + int optIterMax; + int barrierIterMax; + bool onlyVisible; + double distanceFactor; + bool fixBndNodes; + int strategy; + int maxAdaptBlob; + int adaptBlobLayerFact; + double adaptBlobDistFact; + int SUCCESS; + double minIdealJac, maxIdealJac; + double minInvCondNum, maxInvCondNum; + double CPU; + + MeshQualOptParameters () + : onlyValidity(false), excludeQuad(false), + excludeHex(false), excludePrism(false), excludeBL(false), + minTargetIdealJac(0.1), minTargetInvCondNum(0.1), + weightFixed(1000.), weightFree (1.), nbLayers (6), + dim(3), optIterMax(300), barrierIterMax(50), + onlyVisible(true), distanceFactor(12), + fixBndNodes(false), strategy(0), maxAdaptBlob(3), + adaptBlobLayerFact(2.), adaptBlobDistFact(2.), CPU(0.), + minIdealJac(0.), maxIdealJac(0.), minInvCondNum(0.), + maxInvCondNum(0.), SUCCESS(-1) + { + } +}; +\end{verbatim} + +Many parameters correspond directly to those of +\texttt{MeshOptParameters} and \texttt{PatchDef} described in +Sections~\ref{sec:input-param} and~\ref{sec:patch-selec}. The +differences are: +\begin{itemize} +\item The boolean \texttt{onlyValidity} forces the optimizer to +use the ``ideal Jacobian'' of the element instead of the inverse +condition number when set to \texttt{true}. +\item The booleans \texttt{excludeQuad}, \texttt{excludeHex} and +\texttt{excludePrism} make it possible to exclude from the +optimization the quadrangular, prismatic and hexahedral elements +respectively. +\item The boolean \texttt{excludeBL}, when set to \texttt{true}, +excludes the boundary layer elements from the optimisation. +\item The field \texttt{minTargetIdealJac} sets the target value +for the minimum ideal Jacobian (if \texttt{onlyValidity} is +\texttt{true}). +\item The field \texttt{minTargetInvCondNum} sets the target +value for the inverse condition number (if \texttt{onlyValidity} +is \texttt{false}). +\item The fields \texttt{weightFixed} and \texttt{weightFree} are +the relative weights of the node displacement contribution for +fixed and free vertices respectively, compared to the inverse +condition number or Jacobian contribution. +\item The field \texttt{strategy} determines the strategy in the +manner of the patch selection options in +Section~\ref{sec:patch-selec}: $0$ corresponds to +\texttt{STRAT\_CONNECTED} with \texttt{weakMerge} set to +\texttt{false}, $1$ corresponds to \texttt{STRAT\_ONEBYONE} +and $2$corresponds to \texttt{STRAT\_CONNECTED} with +\texttt{weakMerge} set to \texttt{true}. +\item The fields \texttt{minIdealJac} and \texttt{maxIdealJac} +return the extrema of the ideal Jacobian in the output mesh +(if \texttt{onlyValidity} is \texttt{true}). +\item The fields \texttt{minInvCondNum} and +\texttt{maxInvCondNum} return the extrema of the inverse condition +number in the output mesh (if \texttt{onlyValidity} is +\texttt{false}). +\end{itemize} + +These options are likely to change as the mesh quality optimizer +is being further developed. + +%----------------------------------------- +%\clearpage +%\bibliographystyle{abbrv} +%\bibliography{D41-30b} + + +\begin{thebibliography}{2} + +\bibitem{bounds-jcp} +A.~Johnen, J.-F.~Remacle, and C.~Geuzaine. +\newblock Geometrical validity of curvilinear finite elements. +\newblock {\em J. Comput. Phys.}, 233:359--372, 2013. + +\bibitem{untangling-jcp} +T.~Toulorge, C.~Geuzaine, J.-F. Remacle, and J.~Lambrechts. +\newblock Robust untangling of curvilinear meshes. +\newblock {\em J. Comput. Phys.}, 254:8--26, 2013. + +\end{thebibliography} + + +\end{document} -- GitLab