From be8fc11dd572569e952781a5b999503cbe73a1a7 Mon Sep 17 00:00:00 2001 From: JanHab <Jan.Habscheid@web.de> Date: Fri, 16 Aug 2024 16:42:19 +0200 Subject: [PATCH] Added Ternary Electrolyte introduction --- examples/TernaryElectrolyte.py | 111 ++++++++++++++++++ examples/__init__.py | 0 src/__init__.py | 0 src/__pycache__/Eq04.cpython-312.pyc | Bin 0 -> 17910 bytes src/__pycache__/__init__.cpython-312.pyc | Bin 0 -> 179 bytes .../oneD_refined_mesh.cpython-312.pyc | Bin 2838 -> 2888 bytes src/oneD_refined_mesh.py | 1 + 7 files changed, 112 insertions(+) create mode 100644 examples/TernaryElectrolyte.py create mode 100644 examples/__init__.py create mode 100644 src/__init__.py create mode 100644 src/__pycache__/Eq04.cpython-312.pyc create mode 100644 src/__pycache__/__init__.cpython-312.pyc diff --git a/examples/TernaryElectrolyte.py b/examples/TernaryElectrolyte.py new file mode 100644 index 0000000..01a8da5 --- /dev/null +++ b/examples/TernaryElectrolyte.py @@ -0,0 +1,111 @@ +''' +Jan Habscheid +Jan.Habscheid@rwth-aachen.de +''' + +# import the src file needed to solve the system of equations +import sys +import os + +# Add the src directory to the sys.path +src_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'src') +sys.path.insert(0, src_path) + +from Eq04 import solve_System_4eq + +# Remove the src directory from sys.path after import +del sys.path[0] + +# Further imports +import matplotlib.pyplot as plt +import numpy as np + +# Define the parameters and boundary conditions +phi_left = 4.0 +phi_right = 0.0 +p_right = 0.0 +y_A_L = 1/3 +y_C_L = 1/3 +z_A = -1.0 +z_C = 1.0 +K = 'incompressible' +Lambda2 = 8.553e-6 +a2 = 7.5412e-4 +number_cells = 1024#*4 +refinement_style = 'log' +rtol = 1e-8 + +# solve the system +y_A, y_C, phi, p, x = solve_System_4eq(phi_left, phi_right, p_right, z_A, z_C, y_A_L, y_C_L, K, Lambda2, a2, number_cells, relax_param=0.05, x0=0, x1=1, refinement_style='hard_log', return_type='Vector', max_iter=1_000, rtol=rtol) + +# Fine point, where space charge starts to diverge from zero +index = 0 +nF = z_C * y_C + z_A * y_A +for i, nF_ in enumerate(nF): + if np.isclose(nF_, 0, atol=1e-3): + index = i + break + + + + +# Visualize the results +fig, axs = plt.subplots(ncols=2, figsize=(30,10)) +labelsize = 30 +lw = 4 +ax1 = axs[0] +color = 'tab:blue' +ax1.set_xlabel('x [-]', fontsize=labelsize) +ax1.set_ylabel('$\\varphi$ [-]', color=color, fontsize=labelsize) +ax1.set_xlim(0,0.05) +ax1.plot(x, phi, color=color, lw=lw, label='$\\varphi$') +ax1.tick_params(axis='x', labelsize=labelsize) +ax1.tick_params(axis='y', labelcolor=color, labelsize=labelsize) + +# Create a second y-axis +ax2 = ax1.twinx() + +# Plot nF +color = 'tab:red' +ax2.set_ylabel('$p$ [-]', color=color, fontsize=labelsize) +ax2.plot(x, p, color=color, lw=lw, label='$p$') +ax2.set_xlim(0,0.05) +ax2.tick_params(axis='y', labelcolor=color, labelsize=labelsize) + +# Add grid and save the figure +ax1.grid() +ax2.grid() + +ax1 = axs[1] +# Plot y_alpha +color = 'tab:blue' +ax1.set_xlabel('x [-]', fontsize=labelsize) +ax1.set_ylabel('$y_\\alpha$ [-]', color=color, fontsize=labelsize) +ax1.plot(x, y_A, '--', color='tab:blue', lw=lw, label='$y_A$') +ax1.plot(x, y_C, '-', color='tab:blue', lw=lw, label='$y_C$') +ax1.plot(x, 1 - y_A - y_C, ':', color='tab:blue', lw=lw, label='$y_S$') +ax1.set_xlim(0,0.05) +ax1.axvline(x[index], color='green', lw=lw, linestyle='--') +ax1.tick_params(axis='x', labelsize=labelsize) +ax1.tick_params(axis='y', labelcolor=color, labelsize=labelsize) + +# Create a second y-axis +ax2 = ax1.twinx() + +# Plot nF +color = 'tab:red' +ax2.set_ylabel('$n^F$ [-]', color=color, fontsize=labelsize) +ax2.plot(x, z_A * y_A + z_C * y_C, '-.', color='tab:red', lw=lw, label='$n^F$') +ax2.set_xlim(0,0.05) +ax2.tick_params(axis='y', labelcolor=color, labelsize=labelsize) + +# Add grid and save the figure +ax1.grid() +ax2.grid() +lines_labels = [ax.get_legend_handles_labels() for ax in fig.axes] +lines, labels = [sum(lol, []) for lol in zip(*lines_labels)] + +fig.legend(lines, labels, bbox_to_anchor=(0.73,1.1), ncol=6, fontsize=labelsize) +fig.tight_layout() + +fig.show() \ No newline at end of file diff --git a/examples/__init__.py b/examples/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/__pycache__/Eq04.cpython-312.pyc b/src/__pycache__/Eq04.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d115d2ed6ed42485613169199be3432cb7a86dc5 GIT binary patch literal 17910 zcmX@j%ge>Uz`$@Jd4C$C4g<qu5C?`ep^VQ<SQr?lGo&y?F{Ci2Fy$~tF{Lo3Fy}Dm zvP7{kg2Y&ISaaE;*mBvU*mF6eIKX18Ih?s%QCwg)TMl<FPZSTB&7Q-X%NNC$%OAy` zD-b1+D;Oo1D-<P^D;y=9D-tD=D;gyVR>zSemMb15o+}Y00p@e&NajjKNrBl+Inuc@ zQL<n*SB_k+e3U#RLyBDrU#db1f2u-?K&nEDV5&ljP^v<TaH>LzNUB1LXsSZ0Vih|B zLyB0cLW+2*LW)GHQi^1%LW)$Xa*A}SLW)ePLW*pvLW*3fVv2mKVv0hlLW*LlLYhX3 zQVVO8N~&s#a<&Eo!vw~nQz<G@YALEw>M5#G8YyZ~nki~gS}E#L+9?`QIw_h_x+z*w zdMVmb`YAe51}VBxhADbcMk%~e#!L*UDyeFz>Zuy3+NnCJnyFf;x~Y1p`l$w~hAE6G z+$lUM`l-gLMr#aK3qe9ZhLwRK$|TA($}Gw}%7Td@RW_>#B7;n(TBMq-W`c+?GJsW; zKzPVx3S){PnyNBnc?f$ogkpf2Qvu~7Q7J~N86jM#nkonnnM^T8Q&WR13t^+#gxy~z zDJChVDQ0WTSF=KNLG8q@+BC%?#Wcl|IMpfKsU}ri3=FBJATq@&#WcklLnm?JSO;+% zGKuCp+J&?Yl|tGaEo~6zbK3dKmK1+gGF38Z+E?jtc_rp4cqAqjCugK)rhs^QaGpa^ zc}a$DVq$VeYMx$7D%VR;bopsA-eUF*@YH0!#gdy^oN<deEj9NRb54G`CgUvuzx=$M z%)HdZqJX0Oq@2`TO~zY1eyQap`FX+lIc2FunjE)yLsE-N+)DG3OEUBGif^$N7vyA? z++t42FS*5%UX++}iz%hz7Hei+UTV=TrkuQ6EY7JpIhstj*i&;-b5rw5Zt>=3R-~rH zL%Euaw^##QLxPhv8E*+E7o{eaq{bJere)@(ro@BX_Y#!#Zn2l<Wv1m9<-YvF$iQ%m zqaY(QJ|{J;<Q6B0Rg{^YQF4pDARfYCu8McO#atEde2cX*-Z4H1L^;O?-D32<#qN`s zo0O7hbc-p`=oU|2X>L+#QG9Z0PEPSH&f@%>vP6)dZV3eBXBHRd=Q-u)lvL#==H=bu zE=tWwtcWj2EK1D1#Z+N%i>bo!mH@<=AV0+ymsIAYf|Qk%7Ujj4R2HP(Vks)g&$-2s zn^+N_S&~|mECLFBDCS{cU|?ooVEC*f!obkZ(9YP-)Xv<_($3n>*3RC}+0Nb0*UsPW zHJu@av5PN-sf)jZFO4yUxrL)vq=P?=F@>dtqgJ#=AcYlFKo^;ofWioDbQZKw1aqK7 z2@90Lki`aLA?O;e5)K$I3tTzEco2FG+iH+Y85kI9#qxMccp;(;3^f8ZT(AsOD^|h} z6Hj5U5z7*U@enkuct~M_n<ri(43n=Bhro0eSSF~IC=rFpW{JUA2)ahBMgnfXB$8SQ zgc=yDMiOqSREacPR0<{<!@|H&D_tv7D_bj9A`6#?>jKNm*DBO1)+*IVX34`;Am|iE zm|0nh2vHad=JyyT28LSYS`{2-FcEErDo!&vh&DqFrx~0?o1tE-(!r3%n8MY<QLE9x zn8ujG-NI3;*};^?n8MS-QLEL#n#P#I+rm++-NBZ|n8Me>QL95BuGC<**Xq{jW+}tM z5JA^yz*I0Y5N(!TjUHCBG>JA#9j3BYzeXRcSz0g^1l^?!Q(0?JV}R8xZI}vzW~std z)*99rVl_(#rUJz*6-0=_SUA!pJWUaj$Cvg~7$q4P7}A((MBusB2r2dk$~B^J*BB$Y zMhzAs2)ahM#)y#r;U$|10kiaKjEOeO6v-^&LkXUTao7WwCo0Z}4<&t^K7-o`4<$3Q zd<HLRarg`_Pi3DO;Pe^XM!3(+$?_Sz{Kw%lxIC48W{A^ga2w%1v#2qtF|9GHF|V;m zXRWpDWKZD-wLvB@7FBgHcd(=}r3kce)LM0Lc5rtvr!l7pws6#1gLy1z%qc=G9JMwj zu#PrEi8d^M)yTriC?qjOm>4XNmgvCLSFtiMq%hTRRB<yfFfr6v)kxRKz*K?cY7{{v zs`@G}1_rEl%fakHvRerz1~V1atQ4kBPF!}E=)+uzWF9vEVc3Di%?u0-px!1ncQY~6 zScCjsBU>Z48rsH#xf;o4d6*b>pWrarh6s}t@S6;BHwf3-*6>VVENZN=#b#G0CpSZl zTnZB?c0m5`<W6A%=>oA~=2PYy5^W&HSG)`iwYC!&^Ta#Y(->2PTR6JBI=sN?pE*SY zoc`ItX`VTaB}EjR10Z~sG?o-GTIPWoIap2wg&)0h0jlkz`GA1|6bs<g4C+7G*4WnC zA=M1ndMb$4oIL@Rh&H4{jXkz@AGpOW-U4sEF*4LRU{wcdqf4NulgcuHm0<`v%NW6i zv0yzLQ-)f{8pkYCm^gw)^o$r8QY1kTRt_;T)JPHNOJQmK*E_&U1)TcfwH7wt*4QKT zmzcxcSz}itRb#nE3YL3nok}cWas>L%PB8z}I;Tk2IL9OUk3u!h@p3RzYIsv5v&|V8 zia2U`>z(7_eaJk6PR33KP#s#tks^a4qnyH2!U@x#<p5(LXpl}&xe4=8ifk1J0|TgD zLN=#HxZXJ)-YZR!t8tE3f|*g`4r66`z*q>n#0|#I@`AAtbe0c-4P(Jv!pKnLoaGM_ zMbI^fJ~tBsLzh>rON~o0lNUo1V@V)PRf>G4SBk=HmbvhF1jjVI-wsp9zyM2q;Ql$Z z|6U`Qq6iAj35-SlNTC;m&;?`Fh-HPq*a$i+48ex6K&iHsDTOhO3Dk#y`LWiOfcb<{ zH#|;Y_8@$O%@tW#`~Y{08(D6FhcLbtCCP4aC(AAHa*C>M@gU1B@V*LF-Qro}R^wjd zQR7+Tn#LN;P$QV41WKtz?69_0jTlJ0Qc{`0kfE5doQaVkl7W$dkzoQ;&$J5WNQQDo zP36*QTnr3c3JMAe;1OAcl8jV^l+4`JyyDFKyqwhHVuj+$;*!){h5R&y)WTBmh-R@u zK~ZXPYF<fdib7_dm4aVsZfa3xa$=4`2x!0+G=d3Io~RI#ky@0SpHi8Zm<y85sZ?;z z&nwO>E=kQRQE<&kO)e?Qd)Rq)MENzKtwaMBA-)&uD(&MZcZLMs><7@2TE+=%HG zE3gE}1Lt-h+H`J;!ud7@+eaOfd=72Oi*tiZCLY@KsH43AB$F5C_Nb#>;d~ohG9|N2 z!z=#WMon9TM-9yi=Qcj-=uoIO)X~$^)A4)MG0CtNVtsjLNe0M#P#~p(ou8SkP>>Ju zPG(|`jzR%A_&|YETw0W>qmUQp1{NvFFG<W%NGnQBRY=ZAEJ{yRNC5?KNu`bg$Xc+P zl+3iWQc$2Pq~(-Wq!xohu(%*KIWx6b;oL?Y1(5F)64BxYJc68Bl3Jvr;B#n`t)Y%W z;-O9WRQZAJf{aun*`TA4n3tk(ZX;M0W@~0%N@|53#ODE^p=yvt#o$2Gg#$1bG-?hS zKUc6)NXyAjECCCGq9iOar!*C0&-pfm#1gRSV0B6PrFkidMU`NMAl=}hc4D+c6r$>f z4AkS+T>!Hii{`3$M+}Y5kT}8!B?U*Yd#mD|iPz!`)&ib5z|iDalAoKItdLfe2$}o< z1r#js9YJo!;@--5=lCF!OmfCyk~hp0g&Kw8k|MA>L2>2+%l)9tpH!NYt&p3aQkqi= zPLYU|56-xH3Z7{S>X~`T`MKa!pP7`Cs;&c$XK1mJS*!q>2}w;+NXsu$NX%0}RjdHX zMqtChE`ZLcz}yBFLva<jOoFF-uzaEsNy;Jd3Yn)-uu{m(L!?)~QqU9*C?3GGI0~70 zV84JSj=(m7yaFx)VHWBr<QIS@c@lHL@*tNY)IcoKQAny(NJ&jgEX^rVFaRq<pAb^8 zQb@|r&%t6Cq)<-INh~e~m7ofKsYQ9kCAtAQiFwK3h)K;+0GCRjh$$@w=QR)$YJ)C( z&IuI!xurP}$7iM~gcOyg>L{e<6sJPs2kcK!972lqTu^}wa=1%TY9*+6aWBot$xhW# z@IAaICkG^e<SDnroZ?il$B^c=@PtqhX!Z-@5_m*{+y{08WO@+dC`6*Hc+@oWQB&8W zrbY!@g>#z~KzxNX4G^WNpQa9BKtkf&X0SP6r=VE^b|WZ`P~yZdKQC25*G|C&RKDec zW(pM&OH1-|6H7oro&zbQDh%*=$R{<eL;+SNfl?1B3R3cO6EpKrY=Xpog&`iJf<Tjx z#F%9W_6+)*p@J1CFJntcpsFOT5**A3O$sIX<%vZp#R^raMfqR@L80RhPSV8+iAAXj z>d=`|bsYuuocweUm62GK5|7M=3xE;~ETzLWf{iUoh0kQ-bfS7#YH~?_k-9>Dk%D?~ za$-(m5y(0yO95g;u|i6IPFiMOg<e`}t^#Og6kK(|_2!l47E~%E78NB{!V9e8{G3uy zCPj%0m<<r;mE`B(i<DGQ#wklxD9O)BElSKwP6dY}N>W8J+%Q$w0&FmBx)zV&zKIo? zxuv-ZkkSH_dZ6Zlrg^~$xERH3Qv(A?og4%XQ<MrBY-eS>qmDvlyt9r%K}M#ILV=D# zZgB=!1{AqaT?&cll@F+VMyh@CQWTs)1q7&(hStg{N-c)8Z$OO(P*R7Nk01*?)1XlW zp0`%WELMO;4zyy(hr|X*1`?;KDGG_jApgT-4(!?@(ByLwXx26vJ|WG(zyKPW1WojQ zHe+C5n94Yv0snM$4FhDVsFM-au?}Wf$>aw%d?nK@ro4h%?3u;MIr+t@noPGCD~dpq zHN_yS6&ij;>F4H^=qKxk7N-^!>t`kAWhCmm<R_Pcnz+UK0Y&-gMTxn&nR)5@>6s<^ zNyW*!Nc9=G3@z4Atw_u*$Vn~M*VEH4E=tySEi^FEE2zB10xC7C<UrL$YJ4!bVH<Cf zTBv7}lb@WJQ*5UPk_Yu3KZ6E#el#%L;TP<$>a3cfIKy$K$^xd#{K^+Nls|(yd(;k} zB0UBMh9c0ovnErK5s0nMz`y_vlp@f$%`H}NK~*J>+xcJxks!^WVVojRY!!hf-a#ug zQa~B^7Kcw_dQoCtdg@D1aK8kt3!sTlRx%ZV#-DC+rj_R8#OGvYr^37i3Rx6yae^A7 zpeAa3l`?Lx!4;K)f(2v<G<s?}Yi2mkNSx`iK;tsM_5}`Yu(xUAsUkZD1_qcvK;sA~ z{@?;R5!`%?uTsJ95s0dCoIcUK%&&8SLx)a2kpj5`lpGWqAPJ2Fx(+A4N(qlYAYFj? zN|0`>@u7a1U+V&g7L9$e5}I8=gLbI#0qOxjLK<IuAXHU@mh)isiRxv3jSCzabn*#k zz!BXi&d|`t?-Q7+T2K)H8Vv-y_!b{(2Ot>~*Pt>Cgh3?$xM&BZf~ic?89JG37(rv+ zolG_GvF~7pm5hEX88lgLF;{|CW>v;J7l8)ziex~M52_s$6dIt3hbhmkN(Ohb$#Yu* z(gP}$el#%L5D}lDJkfIj^Md4soEJqjFYrK<3&>26^FSEH20PIORQoU^*FH52u;H^# zmKx?1M$k|y*zv3>jNn0gR><UACtD2@NE{>vsf$2$+)BnG(4r?z_M!k#fPscDZ!s5S zWZq&dC<2Y_6@dn?!5%GUXJB9e)wB&TZ!&wuJ66f!_NQ08;|frE0?l`VN-AN|3CWYq zX9O)UTu`{sbY{$o$Q^<!V=u~DUlg|9k$k{;XXZs=_X|Ak;228=c^Tw&5C*Yvc^^J+ zO^Wx6Kx3vwp`fx1$>&9&dao!P6c7l%gX0&Q-<|RM-FY?09B@qps)SHVV^Hb?`v;uj z7^gFUnhT(a>tqCtdqW~Fm;vHS&;Yb16U14d0e6&q!I)PijXMVN4uBFGD4xLyO>{!y zMCTcT6U}D?PPD$jBL@j+Q1S-_G6=&18Wd+!nWr;!vO=>03nD8pfiehu&=r)Xf*FeZ zK)wY#l?{=UAdZd&Ng?tIX!)K3D6>FvOA%;57=Ly-0`djO>tJ7?W|x(LD+*VKTog9E zz+(vU56BN7zko1kQ6M;=^FaBA1xLPN?PP-lImj=aEFcomx=Ue9VeDi9MGJE70_7rD zz5}TT@jKa(a~LG@z)6e)DMS!S4CEp7JO*+vG><_;CjvBgjz5!~00j@IU_i-amMaPu z+Fq13+~9ao)^rck4#ORV2LyK(A4ojGcrbZq^-lZC7Ty<Sy)O!TpGdwC5`HrCqHy>H zo^aB_5Rv%?MHqtfDrOi)6AVM=)A+;C@S?2AmZBYsI}#5t?o2)qc%blL@XqX=`j^eU zF3Ngc6!tn1d?7gOWaLHRunRn4kT9fj?*Y;}1~tEmK+{;rrNA!^n;h_xU^{%R6_}d4 zpfVX+`7AM7ZnMy41LFq8jVv2dFDu(LFwolZpxHQN#}_4mVh2wv3+C>7pkgE$M1aau z@Cxvx<l<Z0nR&@Y;5FHaInP0Po`K<meL95k#Xh7;95K3<nOBlp1nJvaDcoXAxy1(Q z``==N^!7D%ia>?OEfMGn?$W%>l6bJDvc#MsP&s*v%h})8H$L1y$j1fJx@QLuJ)4;n zfmTKrftC#4;z~*^&a42B^c8_NgcO1HK-}U@gRM3%NK8(>#Q|G<UIbdMT*S%1z;KJX zxHRb&M{<5nPGUiED#&LgsYM0(If*5yx5PpHvy#;Kl>D^f`1I8L+|&~A<i{=Ul+2>c z<cyrulBDD!K2Y$0)@2ugmN*x2gG^;B0}pWA;slwH<Cb5PdyBa^wWJ7Crxk%R%PrC5 z{JgT%qV&|f<ka}&BG3pxW`16g7D%@UVnhqFavU^Vb&EMMsrVKfWSHR=TTyC3eo;vg zs9?XvTbx<~8m5WQNi9pwxy9j=pY8)@v3UBq`QKs%S5~)J3yL!HN^Y@&M@(*UK>bq* z?)7PU7lB%!MWEhA5vYO$H$TAbtRhegw+PfYECQFF3Lx)-t7_0(Fr=*lT3uMA3X%YI zsf$2e$RZ687qnmt?585of~_JGkeCI?i_E#j8Mio`-3`I3`ERj>LukhETa2aHO72_C zWuO*dS-dldWe6gSZZU-$++vKs#T0IMizyt$H7)|pbr(5-tN|6yMW9LQB5#m|JfLn8 zxVr~Rz`P(Hq>&Eda>IHaAPz60X%6MW+P5Gse_CQPD6~`4O2FyjmH<QmVi+i;+~Q73 z2JbP52es*Vl9HiqXb_JJ!MlZ!0X1%sdCo<tARmA#=^{{FR0JwaZ!tRFVsyL30h$)b z%*!kRu^i*UEY{Naoc!cl>;;gm7q{5J5ngnQ6PCtOZn0IwmnG&DLo~ry&QLK>V1UKg z3cw;opw>e%DA*F9Kp{aPK|vuQ0aQ<thaDh&JOQxNkOo1D)-W(IfO2ecJO=~A|33{3 z9~_t%xVRgfZg6rnIDKJbWK{tZA2=8|BxYD%VpqAtCv=@p{UV?G8s_zUEBSWtoN+qu zb<*n!Uw9|;6F$WYN=6%eF7r8dFn?iV5D=eGwZM3}-9o#|%ElW4FY}u>czj`F;FF%= zu^?ju#}17P($1H8T^ii(aByGeki5ttIYW6y*<}v32FEXK44gduJe@of0=xMe9PfzB z%m|!Zagjx&!MQ`YBYA@19chgff|sSWFS1B91a~NR6i;yez{bGK*YDctIzh49<2sM* zMIPD9Jo1gM4Ne`5H+XodC<6);oi8kmthyjV8$@VA2o44j@#!`bZ5A+H7FKTXxxpfE zokiv%i_DD3D=g}FM8v22O!QeGbXi2D!S@D>;B^++i!8D;vaYab-VqX=t}{_*M$u&< zr3UXCEd1A5q%X2a&+xdyqKa1^9y7miFo;WC7c;ylX1Kv{yXi*L9fF%Jb_DJZ-5Gko zaCgLYTfd98ewS?nE(8W$v<<#s6mlUf>atjLgZ~|Isq5lK7sZV>IBs{{=(<C3v&W9a z{i!=s4><15xNhfv(a!&}UEqbF;EQ%47mPzMgvVSKkG;Sm0`i3ZMEwOi8~6_h9v3|* zdZ6&I#AP9`2Jbt<V$<y>+ApxZVB~bb@wn?j*At3|JuVCTHuyXt*D^to>GBih7f4^w zvpc|eob@2<fyBccmjyi=yvR0^2Cl?y<Oene9`PAG3$ixo9N@XY<=f!=fs28I^8$~| zWp<gbER3Am-#8dKJs7{Sfyggh47@^9R3;Qp)|?ZvKzVlLWghi4N*8%_Zt(F>Q18s1 z=`^Ewf%9yii+ma@j4$%(Z4tW2XZ(?wk=Nu48$@T}Wc4{F3z%nHUgl9<!*r2H3#3!2 zGi_qg4CNWclWQ*WDKAN0qq3rSwdR(P9m<;{FRR&K<g-7bbdk>mWRNT4M@}|gt}lFG z<0cl*FkZmCAb5r1WpSO$Lb_{8HaM@Yyv$>{$LS)E-5oyRDK0aGX9O=$UQoQk@v@}e zWfA=?A{&x7OJ3%)-jj5Z&jDnlBjZPYPF}7K#!n&)JTf<Uc<%^^PDz;&G{XeiXSRd( znWe2Si`nc+Ibggy^Rj@)8Ka8=zITMg=djEunh~-faE0K)(3x>7Dt8#Jti32}ds)Kn z2+M)s!<?6eyv_t&6!QPb%qSSZ_>q~Jm#@q53lAfwJSb$1zH=~gMlgP7W8@5H{K5hD z6@lPgAvoLrBA@n(<coZUTbwTPnSnfEPFw&laGYF!kxy-n@S2bf%Bv&yu<Qul&3ReV z=^~%gk)Vrw?jWN)Xc)vFL>M@^z$L4Ia6f1S)#)<7e1pdwejy~@4Hlm3ED{%4BrZ$Z zTw$?A<38Zz>X+!0xXvkkkyH9Ir|bs?Mpn@UqBl5r`#C!~Cn)ytd}n546@9?M+V0xu z+M(F&0WoZb#1$5$8(2lZurct<&nR4=xI*{}pKgOYsD6-|qdZ@4rrrwm%e+PnZa0(- z8r-h1DBKVdYjA7vzQHauA>|Ug)D1Pm4z{Zt$`80jW^i2MR=A<1+u?SVNBx18_L`ve zVJpKnc<#u!XySHR*ZqX@MP0v(TK*kwS9sKKh{!a!wfNo;kpNL&*cezjuCs_<WD%W` zJUwS(&UG>Mi(=|mSTt@3OM(k>#>w`LJ`Iiyl{a}rFR+Mpc-~>*yuhQpz;Qw10@Djz znpaq~KCm%JNKP-GSU$NDsfPN%#=s#w!Q(Q!%pF1D=@JtqW+>0snW+Qv*($*mhAV_G zO6gt})azioBP=@IVxq+i$N8=^T^A_M_P8#idr?OBvW)(98N-V*hSz1xFUpu-7Pjc% zppjCj`xNJ^&Qx8%I9ubol=ej_?aNZS*QN9?O6gyhGQB8edRfq{gY5yo_zZ~!7AwLw zgk9jbzQAF9gHvQe#wAX<8~j2OoM#BnNL(O%fnVhUhsp<L1}^#UfsBl-q8~xY<X17M znSNJUD1(#v1t)8UF#9cz_;}FVZG1em_afo|WiT+Lhl0UXSjXnW{vwcE5oqyZ`pz?z zakt+;v`d$1jf-R1=3$=+nypHoH4_AO+NbL}%e;PMCS_lg2^sIg**FHbi$Se^sNR+K zRjd^X(Ymo!d@3<ziA4n&nJNlkK9jC)6-P;8l2uYpX=)X#N@cvGiYC)7*5v%0{GwZ| zIf+TBIlmZn!7|P&zZk8+tYDQYK9$P&n8cidj6@Z%LF_68V1_0qcxucIGD8NQegjY2 z6lF0mFr-`c7(D8$bhRrI2l>F^7JGbrN`7*D{4G}S#4DsH#+F-<X;M%L>8G(n=WD?o zI&cRJ(mfG`ii75H^$Jo;ij%?ppj&Y9yqsdFIJj%XT$+{x?wmooX`l{O5h&sy{VQ;H z3p9ROBmipHbAmg5dLS*Jjv%=6cZ&mT3&>%hfv8)8xrrqOIr$|ynMryDl_1tFHYm+p zkW+F?Fh4KV1!eCrxMz8b72MCf#avucbc-3(cVYpp-2k^(K?x@>F*h|n9=+p)=q|yB z->`O^z$pS0@sO?&d?*-cKom3|cZ&t=UY3fS%v{hm=}b^t9vs)V*eW43OL0bi`7O4b z)b!N6lp@f0Ab30h+~EGjVFO;%lWJE48g2oNj}$91GcbH$W@Kdi$i&RZ@|lZ)QTQ%{ z*nI}2iwsJ48T9TlXx(RUxz6BnnZe~ggU($Bsk;pFPZ<n9vXnD3s?JFLzyP9GltSno zQ2q%~2>(JzB$Sbu24&<GLmA~Y9~c<w7#*2DGB8vyIx<0oKQJ(OGX)?xp-fQ-P9{?h zf>Xg%i{OMXM=-+;$YCx-aH^RdSl}}5EItTMB1;N_Q^Qh^;P|tKu)_7Eux7G;2K(|u z2|EJ|Pe;{dX2}QqLJb}_1cVzrZ}15=xZmL6Z*YYWTzn1AH@J8koNsVQG&tVi6Kin4 z!70?>bVFFY!RLmMNQ3tcZvF<B8z2KdvN1?&udvt<d4T<d@QLIL!4Vgt;x8m7T}a8k zkeh#@u=WE3gAY?U(+38I7^YYdmBf?`qRN=+L6k3ZDDwvfh6Lse5S7nd%>0FcLAr$b zB8xbzTQVW>0~-S?Z-aBYN25na-~{F?EFw2pcwqdF5@ddh*9{iF2IqFKMz4<YD=gx0 z-UWVzD=dm|eJx%O5JpU3o)EG?YJ>Sz7HhZykVO-M7jSJ*zsh2TEXp{+c_RA^<%zsA zidSguaKFmpf+P!d4AccJK5!}W+{M`92RET35NbHo=QvI5sJy}=3D?%@^&y;*fkg_O Fg#b&{2$ui= literal 0 HcmV?d00001 diff --git a/src/__pycache__/__init__.cpython-312.pyc b/src/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a4c2f1275d9e6807ccc319935c53511bffbf67a2 GIT binary patch literal 179 zcmX@j%ge>Uz`&4{v_B0*KL!!#_%jOw1H*KNN(N0vzm*I{ObiSRpFwJV1?lJJmFOqy zhZd(673*gu=4B-6yW}UA=BDPA6zc~R<);@V=H_PRrR%3>mgpxHC+nu>q$ZaX<>yqE zq~_+Qq~;Xs7Z)Y#$H!;pWtPOp>lIY~;;_lhPbtkwwJTy}U|?WmU|=W)F+MUgGBOr1 IGcYg!04FFfE&u=k literal 0 HcmV?d00001 diff --git a/src/__pycache__/oneD_refined_mesh.cpython-312.pyc b/src/__pycache__/oneD_refined_mesh.cpython-312.pyc index 8bd99bacda254a65624f8611c0fba32b9248ffc7..a4daef0bf736fb8e56a7fa8085d94423836c6fb3 100644 GIT binary patch delta 312 zcmbOxc0!EzG%qg~0|Ns?L(2ZNgo(V8j3E=%&6F8a*m5{?xuUoj8B*9&xl=e&c~Ur2 zxzgBDxLR1Ecq^GSxhIymaj>W6q~@mPm2BKD!N$ll`2w34CmRC;LlG+j1H)u>c0D$B z5RYSWG<!Uw$mHGZu8irE89AJ}Q!5g43vyD6_4V{7J98K_@@+2X_{CVycZ)qfJ|#an zKK>SKUTJPYWsxWY1H&!0+=5J#g32Oh5QjY_KPN3SucC+r#N$j#EY7UZD^1G*+j)x_ z!~!|t7ISe)QIR;vdL0G^hLsGTL7ptqW?*3W#bJ}1pHiBWYFA{&z`(%Bz`#&!%D}+z mVe$hmF=g4i3?d&mR2cbJ2!CKuVdURo45kj4d;#%_KnelXeo&<V delta 256 zcmX>hHcgE8G%qg~0|NuY_r(2aP7`@089gSdn~Affa;C7Sa;0#ja-^}PaJH~SaaS^F za!qV-+jvowjgfoub2cwtRt5%!TkNShsky0nC6le#_1M@L7#ND!C+D%pGYU^W$L`7) zJz0dqd2%v`5hL&BX&k>8>v?Xm$H%ASC&$O%V$CbfEvPIK0hz*<Taal|P+7zb;;^UW z=cHxkRTQy+c+90~IYnTrn2Sq_io`%x=rAxatYr8Ma(9t70|Ub^4x8Nkl+v73yCPEt u1_nk328LoI1_p)?%#4hTADNgLSw3?yFbdygm@LoDHd%vPhQ)+|fdK$_=0Oes diff --git a/src/oneD_refined_mesh.py b/src/oneD_refined_mesh.py index a335934..d34bca8 100644 --- a/src/oneD_refined_mesh.py +++ b/src/oneD_refined_mesh.py @@ -6,6 +6,7 @@ Jan.Habscheid@rwth-aachen.de import numpy as np from mpi4py import MPI from dolfinx import mesh +from basix.ufl import element from ufl import Mesh -- GitLab