From 4de1f03788b0979e48f3f0a9a2d6343c88c3991f Mon Sep 17 00:00:00 2001 From: xavierr Date: Thu, 12 Dec 2024 12:05:05 +0000 Subject: [PATCH] deploy: c5960bf82638fff8536ff3988183c2b8b5f2bb31 --- _images/runProtonicMembrane_01.png | Bin 0 -> 18152 bytes _images/runProtonicMembrane_02.png | Bin 0 -> 18154 bytes _images/runProtonicMembrane_03.png | Bin 0 -> 16636 bytes _images/runProtonicMembrane_04.png | Bin 0 -> 18739 bytes .../runProtonicMembrane.rst.txt | 153 ++++++ .../runProtonicMembranePreamble.rst.txt | 114 +++++ .../runProtonicMembrane_source.rst.txt | 115 +++++ advancedtopics.html | 15 + architecture.html | 15 + basicusage.html | 15 + bibliography.html | 15 + compositeElectrode.html | 15 + computationalGraph/graphdoc.html | 15 + controlinput.html | 15 + genindex.html | 15 + geometryinput.html | 15 + gui.html | 19 +- gui_calculations.html | 15 + gui_features.html | 15 + gui_troubleshooting.html | 15 + index.html | 15 + installation.html | 15 + intermediate.html | 17 +- json.html | 15 + jsonexample.html | 15 + juliabridge.html | 15 + modelinitialisation.html | 15 + objects.inv | Bin 5337 -> 5680 bytes octave.html | 15 + optimisation.html | 15 + parsets.html | 15 + publishedExamples/battMoTutorial.html | 15 + publishedExamples/battMoTutorial_source.html | 15 + publishedExamples/runBatteryP2D.html | 15 + publishedExamples/runBatteryP2D_source.html | 15 + publishedExamples/runElectrolyser.html | 19 +- .../runElectrolyserPreamble.html | 15 + publishedExamples/runElectrolyser_source.html | 15 + publishedExamples/runJsonScript.html | 15 + publishedExamples/runJsonScript_source.html | 15 + publishedExamples/runProtonicMembrane.html | 461 ++++++++++++++++++ .../runProtonicMembranePreamble.html | 333 +++++++++++++ .../runProtonicMembrane_source.html | 370 ++++++++++++++ publishedExamples/runSEIActiveMaterial.html | 15 + .../runSEIActiveMaterial_source.html | 15 + .../runSiliconGraphiteBattery.html | 15 + .../runSiliconGraphiteBattery_source.html | 15 + run_temperature_example.html | 15 + search.html | 15 + searchindex.js | 2 +- seealso.html | 15 + soliddiffusion.html | 15 + thermal.html | 15 + tutorials.html | 15 + units.html | 15 + 55 files changed, 2197 insertions(+), 6 deletions(-) create mode 100644 _images/runProtonicMembrane_01.png create mode 100644 _images/runProtonicMembrane_02.png create mode 100644 _images/runProtonicMembrane_03.png create mode 100644 _images/runProtonicMembrane_04.png create mode 100644 _sources/publishedExamples/runProtonicMembrane.rst.txt create mode 100644 _sources/publishedExamples/runProtonicMembranePreamble.rst.txt create mode 100644 _sources/publishedExamples/runProtonicMembrane_source.rst.txt create mode 100644 publishedExamples/runProtonicMembrane.html create mode 100644 publishedExamples/runProtonicMembranePreamble.html create mode 100644 publishedExamples/runProtonicMembrane_source.html diff --git a/_images/runProtonicMembrane_01.png b/_images/runProtonicMembrane_01.png new file mode 100644 index 0000000000000000000000000000000000000000..b0afc5e26f443e6f7f065fbdff6d5f7136d2d33d GIT binary patch literal 18152 zcmc({bzD_j7d3n=6j3Ck1r-UU5fSO|fYM5Lh;(;{NePIEl%#}+fONNjNK1D~!=bz0 zxw+51&wc9q-rx7n=O4m}z4qEG<{Wd3vG9E)^Wfrn^7AMZ>Z15Vv>Xa`(gcM%(R%JA zykq98I|Dz?+KEexo}IaXjeDCQ(kx;Ng}R0kM++-BeOw%J)wsMde0JG#FqB61^r>Pd zEjD=(ruK)AoSj~l@;Ui_iuW~2Qu)bk>_WiI`08Q6dp14^t<~9J`S-NMk=M@!CuM|( zb$YP{#@Wc@I}|Of?z3}C<9y|9#I!VFrVk!uP8RUyjP&(QO)PO$M3kkJl|@5;ye?71 z-I+s=61%+1T2 zoSbA2I(vy~VR4b!i2K9W^z`(&xY70pR~H8gGTZW0UST{(w<}KZ*k8i%Jngd>DNmp1 zb6qM6b63sODhsb4D6otb^ek^+%#kRt9HF{rHQJS?Y;JBYc(lKEv=e)TUrdc-`2Nzz zr6Wp)&@buf0X`o;eq2~^a(vw1-><+xgx}ZK$IZ>Xl1b8Z`b7b;MO&P3SuvfRz0&kd z`zPg0En4b4wKC5mkNCzcx2dDbw6rvLH#e7!IZmUtxYw_-PIc?(>2bKM&uEpoI6FCM z6x%h-5IxVjCQvn~6#exR|ba zj#^t=OX*bXVM;PGGO)f@)z#76xbeb=oSgh{v!H^kNPvy%<6bT?zsow?f~UcRiK*${ z%%>oW;ZoyX!KPZ-Ev#V}4k99=qM{-X4-aC8^U{_4X%p$q`_GP+Yc8p(s-k~SPji`e zGrj0p+nxv#JXr4-aa(Ji?MQK4>?a~5)GH;gGQx}ProMCM4lnP(Xe}cHgG{WzPFN3To8DJF+KleR#KhbXd!wVBESG9y zYpbrNHaIjC>$WOR5yj&Dblq8gh~kG?C(Jgfk z=uQyds!wKSrZ|_z(a$`;Qun>h_D>J&7p@Iirf)nmWp0#W`jVMxX>M-s;6TM~lUP#X zsvKLRS$42F(DWiq+oNwZluhZY%1SfW2;O5Go7>~^iTzax&d$#4ye{M4eR;I%4h;7; z7YB-DVR+AAVcAr0Y;JB!hOwBNnRTi)_!82GPh3{6@HoJ|a<6T8c(}iRw_Dwkn}^3? zpP+pGm*gOMvTQ88U+#HyDB!-!#;onJL%YY4A{*Q7LZYrd(3fMVUFMS4!F(PY`!PeP z?Q~0CUYaiVv!Zk6iY%ookHBarJg?GuSz%f(kc zF)U13N$JC(W%`8w!D7LP04#~Y(45#B&%?D?8Nq@;#<3@LW)T4GZfPKopF zpU!e|`^-dHmg^2r!vC}DD&lA=Dk|9Xlm$OvfkFQ$wU_4Rcnn)U1}+8$238#IGH%th zuSqWzKa2Kgx$3@-KVSn7h}mn2;tDdJrV88`xlz1j^YrP{dd|}@B{v3rC^9@J9fz#Z z3Mwj}r`6{lmUnh`W_)m;iT5ttNilTGE|J?hGTn8ZO$rMq%23Pud6V(2Y?(9(DX|`EEMZ)C?pzUY>m3@3b|%r*9+`%V+T!n593ArF^DkGP!pFyNnvZpv zyM@_f2$e|3xj^MKdLlVyW@ct;${?AYf#Hj6tbo40zErnXg@^m@`YgT7$F~0S20tec zwnhYvf6)Ypt<{ofclPvfm=2V=IzrG(mWiJG{d;|*NBd}6@aTF1Oe-a?!&mi!zyrK> zH~9mux2D}+Rawi{-^r!YB*2{5?QgG0m56=PZArjye?!I*z9M(9^+VHrXEN+ycLV3* z#V(^e$WoJ*zK9P?L6+BHL5HP@4fC4f5qHjnhNfl;+;L_`MMcGFs)=kWRXXY}yXoBp z4nro5LbhACX5+o7B5&*ee0%-=9rES}FlUot+63)OFa{9DnN_pVv9j;%x0iK?EZt!^ zL+E8q?nGvEAV`dKU@$>U@QaouuZRhdAIIFBRFb0NyQ$PA}kB64_ zmHBUnA4=(JwRbjQwv1IPJoxv1Zp`=C;*4&d8yFbq>kHD=)m2L}Y2G8{H0gveP!xR~ zQ{uMX{=jVSXDDNzLw@W}&8V`n1L#&uE=T^D0PN}_Gf090r>+1Q|$Kl3d5P9w3fV=3vHB_%z6r=qm zkn%x#l}Vo3(5DBNrfS>U+g&nVZa~Q8$Q+9?)k#W9vhUh4DBI{(9~5QLD*chW1>r4? z>&%I5c92Sxi2cXxNgcI)i?y|B=f`)$bL zAX?Bf#$t zyP`{{e9mK8rq|xT#Qz=l!fg=|5j$3!{cY>1sv_HIOwn|VjCMzF@670EWx3o|li~sF zNBfUi&a1!0r=BTILf$NM*?3ZXE;KZhvZsz;YoNCmk_P)HA4rIUVLQ9KxAnZloaGPr zH#+4ZaP7m^@x95x!9h)(keebIPx4q(eG`y0O!xw6iPdzRWCL)1hpZ=$ntMo=2iaS14wIe zVWIcj0&e8TqcZX#irk|lwu z&m^Rz+x@1QkdLQYJQr5pM}+E8V=x%aG91@V4vVw3W|llK3;@B>x=akpiFg}K7kaY> z+bxlJW4w`5lvQ=5FQ8;h?Capo53JfP2Gd^@(>^e%R%>8pF@P}><^uEc?_%g{%B1oW z5}x~nTNtUTk`0-s^_^IhITFUMMtUL^c%?x~EdA@(kGJ*xFv_>@%Z+#*@!MLL-I~Kb zcTOkpp5XrSsV#zSh$nS*VpHs{hjMC`bF;H#u*9WInj0E)r>(MkGT7EfZaCJqJki%E zw0h>;25HlP;vZcrKioB)5`Odu&o%QDwTZbor&IJo_+~>0{fiebc-^I4TzK%=Nq+C| zueB!HRwgGUy-H7+AVr+MS{ zn#JGk-XN$`ukHfI6zO;Z=2*i&1mY+cx>j_g z?ld z!0qFDl6jh*+SBt0@*`SItQ`8T*;SbY7=^w@EQktL*W%JrYyRmoXJ&_~vDD{2a@!Uz zE}T}z=r5HHD{NuSWk{qeaX6|zp~tGPtu=N(xw{lBV;t>eXJ_}3$9}FeRldk^Sl6=n z>EOkl3LDC+_^wenurc^YiqrC}4Q0x9=h6T`HvCGGEE>_p)JnQ&6;^9`tny!?2%Yp3fzR?OGMeRXs`IK-XDJFr9qc{cw|95fHPK(A z#yPYX6fc1?QFDe|h&)5H!~p;VAm8}=-gDcEeo!j_8i26)b8^+=VAtN>`UgC*$I*df zkw%7n@W&Xy6FY0ufO&YVMuloHO*(U2i&I#0_gnd^i{1C`Qjh}Jcx-0&RqWFabj;W2 zyAM83O9q*H&5lwAeR*t=*e7m}eW&~PYoPA2cptmw3XmsaU?E*C&yV+puX84#X5o2l zY{S-=(8kH=!{^OV?u7g50hAc=*fWRF_X#Rj6&wpUs5_&J3YbYBi;C7(K06f^6{V@E z=?Uva#`dvn5dS7A2k$P_bqao7*cErl0hpMijrLgec z(-b4!+jmf2?WLRjrT~SNGc;hwNST{6yXxs4K*)giq(9zUDc{3DWw#~un1=MsI3cPs zJl|rdKe`rzbMBPYvwNyKZd#>I?99x~Jw021xQL61QTSOoIeMN0{s-9PD7H6AwbOvh zp@>aaVAv=U<@8dtwy}A_5{vS}cf9JJHdD0}6Vfs~-qsUT18gg{EZY`RX;L_fdEozz#I-4PbrU~27Idtponr%&a3a=a&tK9ifC{igu z!&m9DPMDCevoGj8_g5^^`ARfe*Xcq%?{rI=Sp)}u6|Epf zq0dbVB&8TGCS@IHrdDXN9&+f4j#8{3jiB>o*-ajh#_ClWlwNhXtL{ulVH~lZ`!Q zFA_Y^R+>LawXS^vE$Qd|VKY=QfojnLSYu6T> zIW=41Af>dfdIBTykDHK@e(hM%&58D$q+{gyiqeqdyL>|+si3ve?&rKh^y@Tn*No^o z2A4D)#YCr@Vr~+avCpm*lM~<7EC}VD^B30nX7=Y5LT1GhN`xD#leg*Z6sxL{4sE|5 z7C41HM#soYZsv!}c$eYLoXCWN zpD{wB^h9XUzb?3rxyII^NPDCCEasjt_OtU-^tJcd$K_r2E_l^CC7^)kw*X7KB_!?yNNNK>!&EE+K_zWExXu1Kk>rooeIS??JXL_ zQA@}3{?$k^-r-Iuk?hvd<>zWwt(LM~}Xs?6~`ri9L);(rd=+tUV#Jzjyg z5<1WS^Svt=CK@eDc{*V|vB97#d4G*NDzOE=%JG8B;3a)=BC+_N1Lj4`&Lp81vwVd& zj?1R=$zSvFO~LH_9CxLEyr%#4KS!{Vob7S(yi=%vrrht(oqyf)8-rPxLM#R6wFk6+ ztrxE@hD`ZIKCMt~HP0TFTeco{m~*oGDycMo-2ipq?NGnDM9EQ2STI1u{pYGhRsQ05 zz^%%=df+m3ljqYo&7a*s*|kmY-|QgMB*f^oR12N`>(aQORi3UWZ;uXZ>|4ns zzTPlnPu{e?d-pC~y@2@g<=oudACs#;e*6dzCv_)gVqn-^$Y~9{DmdKRyA4(F*)wOF zqj`IVhBWJ`v_~&^Zsmo|LEwULhFeuSFU&*Z1h03FDfhqHp3A3OigCmT6ZiIR@)GnsLy$1>sr^Q zh7o=R;VSx3@O{3PS^f?4jnN630yS z0*lVik4qdD=S+leVK`81q_zg@&G#$pcbP;KZo)PjIHy^u4Sb`rg2GF0Z;n23G*mpk zzP{-9!NKu*RUC#bc-jhkgC<>A5uQ`6l+Mp&_eg@q3?qP%W-pkwQa( z&SB70Xg}Y*KHKpih-z_k)M{g{OIBbfF*o-P1B1z8f1YMp^kqZIQ(ljF%9i*tjAsQP z`iPRmq7g2To}M1a_il$x-7au@2EJ^>O3=~{ZA3R)ggOpOb;L7AnFnu`P8&(A+vMR z27KWm@&&zLkzy}#KPQPGO{&&k*J!HF<3m1}=pe5ivQIc)K%LEY{5quZW3IuN$$<#Y zLrMg0(@X^}{~pHW%FLyrd?fiCX&u{6h#3K>l?rv6j*~6dMb37qX z7xyzQG7903>Ty4N)q3G0@|VNPQF52{d6w5! z%qXPc-%~bqmcB+kD`_H%C+m)H%3aiiP3XgP0r~h!E*;)=;Urv;&~$Ls2z}T*810eH z+g5I;zdCNafmG(~<%t40Z=}D3={p6^v|KO0oG!kETtcTdQLr=PEP1H^@hN!!8tKQw_bkZwRgEeom3S z8!FC=i;GK25@iW{ASPD#{rgOj8EiBIgQ=B?dZP29l9G~8_6iG6A-;gBYz#ll za84r43BCJY5+V&99m8cmsPKpE`+%@u)+k)w-I%wqu#n|jc?qnIL{hQ+{0Fk1Sg5v< z-V^nO`jY&BW1b_OZ z_v8sRzW&pvGg^0nChtyHhZ@^`v(GR%8g=b@xErJBxL?Hnz8iHUo9@Yi_KptQ-fz0o zt+AP@sk0_kz}vhydkL59_ES(v=rRdVajw4sw{j)PXskFd_H$B`v*~y#m1wZgCybAe zXApxxLyG_E)vJha_h5AgmmHGC7CMOfeYeM~RlmYP|DKrm)P-4Gltu>x1ZXlNN+3Zy zkb{yE5)PQbhVS1%9g~u3g4#?nnp57kvudlDq0ptN-38v{0 zLns9Dx{S*ZdvcR;C&$)PI(--g4h{}{Kj-HwrIqF8zW4bU9bKaKwn$EYd9+Gx5t7=C z1R&uk3S{7}zlzrhX&z{-06{5(2Bx6PBr_v}j#^f>HG|mB-kz2^DSK_?AgiE&OU)OB zqSJ|`#N=cmQs?Os*1|Y!otGzbWhiFsF^8AXcAzF;y5mhVa7|SQo49V^P<9ddn&n_zvrRzhoV_URAxL(d%*= z;CNPHi~C8G$|X#Ix7CP10}}lHa2ViGv1kNeL820y)oe;45`kYnn-@5aYuCAFBQFLFaXGBnA1Lbcy|i#9+J&JaNBX!7qQh7my?%#AeeH zlrc(@lXM2+++WNEa^sutd&Xi4D>!zV@h;f-qO^I4@8=>Er+fM3$%0S>fefspv z*RMhTGr2>)_Wlf9XP{Y^;_okMZM{;mRPGA&6k&TPqcVgCtV>jUy45e=y(8dII)~CB zT6T^7m5{d82e21v5}N{hUEmY z99C5wGcNSw<3e%HGSH<;85%oa14vW2H*pb#Qu_XOyVPxGRq${n2zFN%GXQhT(v>=p z*aDPEfl_i>@oD|}^XK>P-{EONT1!p>T@Qzt$!RLW5U5t;$W@q{?=zScReAZ4n3!_Q zk#a!6$+dlb&Y;S|7iT(Bf_xiKp}tX1+A~Pey*sbDQUquX%Ay>{^1PfJ9Bgb=Q1ipW z!cW6` zVagy>W+;Z9XiS@!a`QcY}_t|@r&Vig_^)5hK)yUW7&(GGoY>v1Bu{i6rE>uQ3b2n@zqkNG=>6R65Ld$L%N;viu|ZmR%a z$opIJusjg!4&AWS^nc{dViH+tX@1W`H_+RbhRdWCuEQ|TV%))vv$Mam77NM!#U+8> zU%zZdE1$i6`xbH-aNZF{N-fP%T)v+t_)kVeb#ifX&Z=yJoS~j?7Qtz%WM##c`A4o~ zXmx>33BkN9j498kU9jFty$=$m_ob@>pnpKH92y)1vkf63q4!0KyB_=75Y40F(cOO} zQa}wL|8A_TsAfGmGt#A1s<$#;JH&{GLapaHtvuOWX0&5|-R3xD4w(ax3CLrCRQx>F z<7i&qlEyIBqeV+kirY_ryrY$T!})oBbW{jU9w3$$y_5PlLaMv#ISd?VZc^gn)^>Jx zBxvEmd6vsDIj~Qf+}%8YSl`~>hGwqvIYAPA0niJ|bg*W5IDT2#+G=fVOiNFSKM3&CJ|Z zYDs)&V8HpIev~nXo`1y*+kb{43rbB`f1AJv+%@ZMYtDQ1@}(Q>AOH-5+X@V!fTm!@ zzzjsQ5RsA1E-j5@x$mq_!g~-}u<&&sk)Tj-ei(5r&JPqU!2^^Oz5Di!?b4;7uV249 zuT5pSHv{bhD+|{CK<~bFa(-$m*ukXXde(~lY`|d^6`sl~v!kPUWMqBKUr;Ei(~gCq zEY?G7-QWVde*LH>ckSd+j#1AeiEM(|95(0UAV+*suyP|OHe15F}| zMkgjF($LeVq@-{#1N*M#D5678Y;S+}GNhbgNIN4-A`-fg?(w2U~nyjT)kr zp!LBx00u7_q@F=JO_0Pkm90oAoJVkFI}YDsWRy=;0CDz3;D{(( z{q4f*@6#Z-kW)|qut0WS6qn@}1%?2z4w#q9N};EaEmcn4AMXGw#n6y@tsfEA{#{P! z9dkZ<> zATU_ds856LisHoqUjGU-WI z=X&zpr?{9W}%xPA+!B*{aaed z|NiDb5DeTc+?kOKsWz`S=)O(M@GY=H=%b7#IL2dh@a$`02p)0w_jcYtZ)Y-EDe6T_nl4;_qk1<>McHudDl_ z@Wsmu6(N=U=q3RnA<_BTWa%h7CPf8>_ix`mQdON@Sm1-{L3}b$|MXV9I18pmeM?Kr zj8zyw1_1h;g{ zfXRY$1QM_p5nfNF0fYjG4Ngw?LZZ>XXJ*2~!ylr_$jEqzuW%Sh2@6+owDQ&9b`=*E zGO6YI_{hZY8IQw0d6QhKb;}Mrj^w`+nKLT+6X()%ayal|WXMaTfYk^t*~BY8&Gxcz ze62sv6n#gh5|!>yq#=W@t*tHXc9^KUNNrLnsJ4FOAl=I9$5AGRSCCDnvMv)UXq3qgA&%T>Mo`ZS z%=&I~aTP#f3eTm1-3>gc?Afztsec*WQCqxt@gkZgq+wlETvfFXhqV-3vpL{;0UnUN z>>&!(krh*=o=T|fw!61S_}JV$UCGth_|{N_c$&Ji^A7OXiVR&9hZ~u&R>BkD`xDvy zE9&C#{o;}m!gdI+dHn!ke1CLw$Zw5ESIVPGXs!_>v1rQ(*Ga`1);82P-u$e zOe-qlzH#HmwQH5RuYf5E8r*0do}P5MFf8%nU+BRve&$k=lBTAn!0SC(x(S6auo<~f zyKXWW1H%RisiY)MHX({8y%g7x@*S47X5kY(y$~QLuU-`df8XcNH(6OT2M56_#0QB2 z`vut;@(mXw2dXWo?(lGjCWp0<%2(XSC|0_AtyVE z%})|25FGzrqv@S^4&j5?(zTmdGV7CK36O99BUG?`+%K>W5JlJcFy@xR$IVyQbY4IH?m5}{{?O82F7XT}_>b$j z6#I$mc!J06<+{ewZf}@n9T#fVy@zFe^@Z#5`$+c^UPuboB81nq^Lo1_*+JH`Dci{9 zXyN&OB8_rt8|3bf+YX0__UBRx|N2C#oQNA~`X-RXgAD~cg|^R+Km2|!#~Y1MZXjJo zxcR5vA4jN0JpZgyF1APCqb+MM9Df$hPjek{`kce?(-0wV;g7`}GG)pG z^-H}w4abjF18t1qYRj=S&EJuAB|Ac}*u!@_=pudkl8f`}REOW~WzCMs&^vl7yd zbvt=y9*4KDr5J=0gCO4U?;nKZz+SDFL>xtFOn=BtdyS175Ps8IST2e%9OVPNO@3 z1EDMc762CJP`17##LY*K9>J1zaL8|i3YS!b#de&|NNe_@oltF!$T$a3^$7{oppy(1 zT1)x=lQ}!5Mvn3tE1W1mUq%RHh7-(SJUE6h7N1g5roZXdw8RQ(%gf(*q=`ZeCD@|cS&DsPgug44FJ2$svrK*UqaeV(&ae|aefV{!yynFZjBSMrHyHWHB z=1h6rbIKQ(X#SJFrKTS?z6_Q?^2+ zY&Q!9*MSg=Z9ls$+raEop12Cy)7a{YT;K(A0({=2cZ=@xt91d&D_49Terh+$13xid zuoN9(936x?vVjprQ(XMlR1xJWOlbZsI z?USSL;*a77JBEi@>@L;?hlCJby}C3tMNC8lF&VN-R9M*b*jN@6!^g~CCyvj-(b#l3qG@*IL%F5TdRc?+~9)vozP55i6jBwomII=-YQ zP`HU~m((X1x)FBadh@C-COU*ffBQ{_@J{CX>(*lG!N*mJ$oGGB8$ZA8s8A`CF^k|Q z8d(lzT)tC=rLoiBqfNY;EjPgHy!2f6#-2`8|{KuGw%JYVw1Ox;OjEvFI z(O`8HM?<9sBpEN1p1>%9Gp<=t0HF67>y0L`ko|@KVAVlNeHR;h_44KS$JBnh-apYF zA-#+n0C(_&je%%;)T zd2+H?eKzF-BX~q#IAqb)tA7&Zl?Rwd>)+{(@Sc8)!9rm)Fd22XfFc{kwU(wVwi-K$ zzq7qcC3o>(*d}e1J9FEgn8>XluI$%t9fv=h5B>a@=clw5_-IbGuP4#vbNg2o1i5 z*wC=h(6Z%f9AK*l^39>B&ctuTg67W=#+u|6fBx(eavV2?B6*NW#(J*PN1; zmVoP~S*S!FoIe4eNSbE?uw4+Yg$kb!40iPnbeu4ojapj`pZ{R+Wrxz3Sy^K_O+QE^ z{rvF*xNkPCGFX0|2n0fcV`3M(;@@Zho)77tKZgTl1LknRcql39|IOLcqoX1t!TxdA za`!d$zIyRK>p)`FmSSOG71GYmuNFfG3im z9nK*^Y3qBFiRo)XLN)OJz%WtvfM1VqN&ulQ#ja<}3;5oorlzK)rG-}c`J;`oFIj^uMUN&Z-w;bvN(>?4O&}l%!0Q-IU{%WI0&l3x`0!rZ>;A*?@|VJgtr^KpTDk-0*yIt0XLDx8s6&B44h9T4OeL54)Z^Tb zFQnfVl@9Z6F)&Cxd>L~nEQaOa01MdBK~=-_=QR!wYt5XLPUAhkVHe_vQ7v~X zl1P#OSZyIS0tnq|torz{;DUGv9kynivAyBi{QP|M$B%G4&OGCZ=!0~n3NX$_L_`37 z;&E6AZ<`Dcts1bHL>}^QCFKE7`Ttr{5)}(|%(YDUA4TaAeLAc0mu$EYR199Zxb=U&hpmRA>0d-viaaLSKa0;m#XpNr9?FPZwxK?^ z6;Io*83->cOKCAN{fB`D1cAuNNH~&qP9c)p&TuVMLSIKGu0is07F4v$%geA(;Q``J z*|}aIGZuLNeUmJSdPBjF(Pok(uKGEbSn!qHNH}o{%P6mL(uSG=Ts)rQQ%{$t(z@n= z?}EdS5!pOhaI%P~)tQ8Y!)#zBZ?+RO0-qnXwW2d3FXLOMB*&xl?92We1`8o0E8S^Q z2%hiBwCw#BpP&Ch^(lnYV$YXEU$2zkjqWe7yoxU>CU#!ahi$#jP2A1)E6ac4G#Vjk z1L%;lqGDfvf6O2Lap;;!UZf8=ZjRGf2n$B)K14u|Ix{n zW2N#Hi||99yPm*p0&f7EmUe{)gsDHyhJiK#?(QMe%rXPoo_&<|cE1rfuyfh^jZo+T zvv|#p`DB~t8tqDRRW+wZu_#AZa4T{BztO28%7!*@0}BfbSoM8xUc2VS-S-W+L72VK(NWcHm0GSTw=r4({@^;lyXpdc&?} zQqBIJZE1UMx27lg)8B))K$`uYRO2UDpzBe#vaYTrZJg(l0gY#8+iWk75g+9UNB=6@ zLHcTE*I8T^EA|P_tp^yulWx=72NG3IpJsQYHFI+&Ty)2 zwt+tOBb#nD9N5@}GkR~X3Le4%6tEKR0}y?g(TKN|TL7W@lviFMl-5lV9HA1EAexa} zzWm*t0Zbu{tQBtKzVvWd;M5RfYDNYXhrt_Aa34Po4v-EzItj7jL*pbI6k4H=b;|}| z1FQ~Sa8%R)v=qjqDuUK_TY*qmmsxQrfrc*!2M0s#?PzVCocHw;RPis7zYD-#?Qjw= z^!D zdK8@R0Cw!%yVX|D!w?^UCUt?7X-a9x5%gC$Bo3YwRZlcZovgtd$#clBEGM@LXLSO} zIZa>^JK^3qtHHFiu;VWE~o&6^&OX29)`22i{+m6jtYh7Jk zmR|kt?k@Zh0HN4g=*7(ZyzAkaHuff8kSAD;{t$TbLE?t0S;_# zY``E)RS4@mE8m@C^z`(Ele~aq9d@6?0uq3QRbE~WUJ|fMP=IOzO#zhME=P{}xw*Rs zQSx>#zH7b+3*Ochv`BtFJ^*WuGi}$Y)k+-9_4Ow~Riu*&x9ZUcReNndvjRGaOU0)W zyX69ApjfAI?9Eo#?QAtUfH`3X&0K|qP#o@`N=rXZcY7tlM8Wj#LN?hyI4E%m_#03e zDREo^u)Vsr_Tu?-2r!^MIG1Sx&k{t%UpOL{3i~-c%HO}SE`Y+<2y9EpYJrpA1qEAh zG$p<@yD2dqIPcjVEdVgTOvvtm6g6i>rWC%PY%~tS0$vRKEmOxm7iQ!*9A_zWCz8T zE(@|myx#ja^UGs3Ku3d5u5eSgFMt!y>k)_)5jgCyBpl$tvpX^S zsEzDUj&0RA_?LA-z@j9~O-L9|3e);EZReT-r$+xt+uKcdi|`Z{7H;qDNgfQ}-`2(v zLO~D%T#Lv_M@vVCt=-+5c|BSs^Pi2uW#Qpb4l}#GGSMtgqk<~Z0G=l!G!D`q=z}1; zfSK&mClJ(rMW66wVP$2d1`E;cT&-KcOopo~Dt1M3nnKKj%q8fyy)5caJOrxV)uU~1 zOw#7kNTyO6km2p|r?qkkalNstdt z@!kmH%Z8dExwfv(V4^Mn;uv7R3V0_)@?f=*6%r#k{7nR~FE^<$so)lA9KsRQ+WPud zpzZe#WDG9;ofI2v-jF;wPFU#%sXQz)a&C0=oArbkhI9eY6@-ffr8IDlHSJ$Z_yCLX zW820{3n1iW!CM97=h5NPkpm}*vL_sAMcZvIsHShu&6!ZIuCFgl?b4nocyku@%?hY2 zuzy2cwYjyG`Q?kt*ejBCvI_W6c01$Tx%a;Bd;dOu^K}}@Xpx)hYmQy!LH)QEH@x0pk@B60oaBwY(fESf-tbSGEB0*@Uym<48KFzY z14>Iph!A9Y@mnd3ON?yz7~<1>L=8b6+%7(VB=OczBS<7A8bMNnYz`yW4WDu#2)lWT zBaz9An3x#tGAFjI?UgAiCMLA0a9?U#TGQ9B<%{+7WsdmqLWQng!lbl>6#5yv=59J-oTNP8xBWeN7?vH48XO z6s}q3Jpb+6{STed@h_sHdS0HpCE_@J>g36#*`mSHw_Sz4Hd0hf?lU< zd5+Tya9+3|=_+p3FJu|m87fe$ezpG^{kF+^mS0_+(+VOFqlliL67B;FM*hSa(rE+nvRB|;>&~tCR*CG zCTg~^udxFrmFoTXYG=QHmM(MU+Swl5A1HUt^OwARTRxii!``6~XO^OVyB2G&Y#FGibQ>pns;a2) z+YD8AbaW6)d}(Mf?#!I9@4Ug5sZ?!8~=wlbMx zi7hNGEuEg8KCR>Oxu>USPhh$6d}uG`vgx%)31IW0tCzgCWNGyB*#;KhFlzaOH9> zsa0)7YKOIDQDU=nm6Wb{ZaG+6TjN(M+*bR_oUOIBaa0Oodh0Ko22&#g#}fB5dJdJo|q*O#fQBYj!ju6twKk~CN6u^ zt)31Em+fu(qNS#m5=W+5sb*@LHk%dKAAJd3v8HJ_f-7?t6uuI7qj*}Dqt+2yXjv#~ zs09lPjYb#BmpI}v^&fYp)3ab=FlcS;kTrh(hKR#twm}0q_9(1Ssxf8wH=KC=2J^|2 zCtoEd>h9CKy1Ns`L)P{xGO~O0q|JCb|Hmd;ONo3hnQoqMoBZEKdnk?{j}x%e+;!5` z9h|S+me2f>tN$f{nDs=Mc~%9+X%N?MLmgIJT)bsXPerAyrDZM}82;Cd4Mvag2$*9w zCCJi>Y~oNgZO`$s)|F}ZRJ}txGi*HJ0Ytn=bRCaoVSUCY#Fe4!=jRtIV3}(<)tUT! zcIxvMEWVHO@tRs%>G$FyB2Jw-v$5KvE3v!sy}P>`7D?b~9L2k&zJ5*k!{^VRn^PnuCB+u14<>qTO@&JAU1F}<>dvYUqD{W%y**om^|F$Z z^24>p6%o3;Ze9d!e`ueFXpQ0{6K}%;LWLrv}eu;>D3&9 zxyZ=KfMCK_rCDeZjg#(~_^PICSf7!>X&y!hePQRNr%zAq(B*7zsp)#IZY=)fqG=&H z>!Eo6{=4#SE$fPISc^xgST;5{J$Dux2unrseQvHD>`b1jom}=nLrjJS++gKepZR<# z9$o3Vt;zYC5VC41Bu<5$_1;-*6&#Ecbw>ZBup5H+W;&A_Qk9Z9XE-A-dUn#(9+_OfJ*Np-h%)pR^@HZuk;=E`B*(D1ELlacMl(S`!QNZ)#q)dZuR$2b<1&XT#RK ztl;OEikkMA%h9X&^dGiHx3LtfYirl+M*V*>$Lm5^+HW}P{h%)rhmKqwViOeX=_AZM z_31#IYajfOGm2c|lTQ#UX`;wA5Y>RR)E+OIl7CjhtKaROX_+a%d2E_}v8PDY0zRf{ zQ+Us$fwUp|;>=DMo~x+;-900BuG_<-ZIZSylrc3%5eJ(ETN|dL5f^g&OKu1}1+yRQ zu$Dz^JWESUpFVw(yuiUBYdY2Ow$>n2+-RGnN84GO^jfJ}mX4_N9D|5Ms%2FuPvu6< z78{?@*X%-xy^Wukp0l1SO1sYVd`3Y9=`E0Agw47xjTP7xl^JmDnYG5-etmOAaKI(` z*X@&- z{4E15PrA6e7MS7n)BHv&?^QN3GNO{MYB^Zx3IDA+uh0a3X$m!0 zba2R@4aMw@Mn*OKP)S8{9rW3vIOv-dC+gPlDCkFDt&5hW~RB>^GN*eKr`Q0 z#S`cRgQ4ojG8ErxYHG^nN?R5qAV*MzdGF$No8`99sjMO*A`sIg_jc#Ku>&%?ii(P= zsvpY>b%Y+s23EyzyneB4Ue^ux4$&oNNq=GJGsgC)B&1Z$NV*K16?H=hqq2^}bXQZU zWomKjr17v;iT+Wo_Sf^+BJ0VHw_IL{pFXjh)2=GeCmo*b7!}TlQrTNh+%MnT!aG%Q zadUHDx}>P1<$gw0O%1zNo3GB9mX`LM;%s4|`nr{_*X9R4Mq>+&`O^?s^DERw{Z8v- zS0-FFy`MLbcel-(zre_$dXs;|tj$9dFMJ>ScFAe3KP~81mz$}nDP}+r78pkBT84P+ z`%P?+@9g(((yGJWbZGS&48Qx@%nzEX7yb-lE{d*t+un@%0T^85A}P6BI~JWm>^`lg zs=7Aa-O_i>s=qjrLk+E4wFfALLC^}dy*4}OhUYSD-r4cMa_EGGg{=>`&p$m%6`>Od zVcu`mH>2ov;GG8#y7EoG!z$nQln?-%etABEXEd}xqF-VN2YBY$FZ5ZRh4^L=+fy=!uI2r zvb1Q?WKLbV70#-|I|9lRHrozf!$lUYg+mIpn-^z1irH_i1>S+(jmwImM#CIteY0|= zzp5GZy@qM5p59u_V`E`wb2+nihuy=|lT{(XLiAZn5G`Nj#z^32UlOc51`=RhU0tkI zX;Yuwa;xC}&$Ij4xLXC*g9CF3CrAJmE&?`SWnt;tTi^MVj*gM=_L7$m!42)1*)FB0 z2_+wdiB>aT!d|>^fm6G*t1z@3(!i_u_=-nOC-K2=G8cE2+pAW-$zq78U<3rXP_@51 z?-UMc#J1eC)M2;?ZiQObWoKit`AJ`u_dbQhPDidFEMX%dT32_ssrEtC z$ja3B=j4n_YipHLA7dHB?2`eEL!2`-G-L@+gDe^BIJpnc7LvGhc+==ko}q;X=WBTQ zfKfj|O5vhUd3QK&$Beyg@=Z8wNd|Axz%RK_GJN~?P0Om}!zzV%xyNQMzwCg=aw{#L zkvivV01fvgiI1Nd+UV2CD~x6-Qt08@8Q(KaEqf|8+9`cjGoF3T44qTXGj_NvM111g-i30j&0!XO-kP7CwWDw^pmd&5?B64AS}T zHA6+e6hHjp&jvL#ik6acaWXm7Oq;X=11Y6#%R~U5?B!Efom>ORH?#fPwgo^rJ_DzN zHvAG2Rr&c>Gt-f)L+2P{%*@UAS5hRzAte|3mLN#dQHrBI(R{{Mefd-9vN_E%r%X%% zg7k?{2y?}~e0hSNUetBzQ9;5G5pq4y^-ggJ9ls3zB!X=4zyZe*A1{~2F!Ppv=Rr>Z zc99qr1fip*qB5w9wZ%FVd%?bH2tC_VdTe(ZS0>ofaD_%GTwPL5pHdhzRC{bS^n1MeVk+o&HKW$GVB==mcK_~7QgxIJ41lnpfuy$npES0(4b&KsppL*Wn9IDPkmwgIf z*mUzuguckUlF{vIYAi1)Ds)(G>%hY0r|GO4!q4Jc9(Il>7B?w(yyrneZxk1vlV>`H zWh5!%@`;VDtj(IYuw=0HOyZC^;PZM|mEq^=0>*cXPfCSI;R7)`z$W4RoppQxqZ4Z)zwp{cXCg~lc<(vOq*}OmHl65#$`v<8hdkcHo81!aUstt}ny_@r z{ac4vOU}8`KXT8Oojj2FsDqJz*sR=*e`}n%VI2 z-$T2urWsy<$!j=z5Y1xJ`N!XHw@27FmdT?U8@WuaI_x9^w~m)4v!H^D+K_`y64q9q zZ*cXP=>0wKXC83)I&JwVM!hES{Cikp*Gb!$I3|Lrh@aXCVL$#o7^aVgH)3tfFR2-0 z5B$DfwJ-mASB~8&Sz`kVqu)<6pHim7s#jUExzO_zxAFPUGHbam4r7W{e3UJcD#nd+7^F5 zPlRsNquK5c^FMxH4`Hw$FXdEw6kPLrZhgWdB0TrL&(p{H*ninF{yo+tjW{^bu_Y~M z>$A+N&;Pzceh?o?E-Iv({`Z|CnQs{yukBB*HyaG#&+9u99vaRM58R$=mQH+hw1$d` zA#XIGD4-|eqOXXGZda@iV1Xsm(D>olqb=yNFf{c&g@lAe^v#zf{Ba+4%siW&4f+k$ z7ZJS<#)8TkepXgvsO^pNgaPSZx^#(^HRb*LM^GiTyymhO`Kuv| zk9C~$px3tL_3PEZK)C}c*^469Hbx#qcn|FCqzq;aDt8T8r%)X6oC}#-xr8CCUXf#J zfnV$z7@bd@I`#hj`ydA4`;zP&9LB9Nk@4}nP;rNxm8i_2U0z-`FfgdCtrfKFdnEqA z6Q5b6kb+Kh{_S+m?mm%1)n)Ql&SbVK9z?b|nQ+_137 zc$L9Cg2%^3L|kA7ltFGJ<}mrv|6ZI>=h}q@K$}pXkuwMlHNPTqIimb>@LliRAP>V% zKjYfDPYiud-ooykA-COc5;?6{#}PWE*kMt$hELnIGTLxJSG%{Cy2N;5Hm5 zJBD}H2YEO-^99g46{UrR0@tn$Tr4=SfRa)BIDeX)$=1`jOm{3%Fx2Dx^IPgy?@AB5 z&GcTOoEpIG#ocppDfW+ujN}(EP*m&y9?5CA#t-s*mQKZ1-3uxpYBqHDw|aVedrRym zMD{ucBs6mLrP8a2kaoReOIYEu{ZjYs-c_TK6Bshp40S!6u(`G@=~U`1<^8?gmgeSZ z-D0o#igg-pRIy3tyTRQ#XL2J6SU$j$pn!ncDYhA|G5!8gcu&$-hm~YVK6usfU2?cP z?9aWg8Q?>?tHs#S{$ILA1?I+rBp6fVW@7>jJA7lwE8_?_CfW4qf^xWH=h~m^3 z`4&TzPxJiy=AtBO#@wZ{oB z*O2n4yVFrHiMhb4?t#?4FM1a$d*+jL zeUn0oz*MXNBwcP3wWJqynsI>{64-c#bm+qf;$Q5}lIu08^>!*1lhX^_lg!P_v!v%> zXV1;e-PzqefBrmuY))Yz<}iNuLMAyAUp5lZ>`{qulmK;h~QR$#&^utefCf~Yw zQ^0xv^gwYvhqc)UH4huORb4OC95|LE8l&c0ndid!4FyKkT@z;2O`7g+_+4f6^79s%kH zd&b>xcRAP*N^ISwB+tm#U&Ri=3!_#X&FHC`Cba0 zLC%#qmgjU;2=OWeU2?$3R_^SHt=*c>gC*(h(zSkQtLpR+ZFdiXs7INW{pb(UuL z!ORnABMM6>%Fr zkdjdPN*2yo4;6Xx?d^h9 zVmk#~gaiGiovqv;*b58KEW(&36Mj#G z6Yu33Q{iI7s0g1nIJT5m#`Ts za;ZCulJpdfzGyDJpzB5JR&&iLQFVEJ(=*YVF&-f zy$ttG@Kvil59cs|K`XyZTx|$KZC#}$JlQ_J!+Q+qIGQztaBAxf9_z-(ogfG%RZxms z-d;#i2wx<;65qP&dWJA)d~}lH^Fpk2M;aFl|=upofo+)_zkuV)*D0WZ=5`diExE=E}-S7!LER zn3!po0f;fWr4CacqI9-!^Ip=q2QFX2l9cUTPh>g&U5Ok%=ik_yV_->t>(;I9RlM`c zWG6&weu1Aq@{FBldOM4(2Sw-0zmKUL@X;Dg%<3pTlphyTvkDbG^EZGZWlrHu7nnf| zGqI=#JtnXbLY}rd15%v8HaXFP?hiIF5h)%2E7Mh!X}kZO>3&A(da*HkZmkI0j?`_f z;v-*@latHexig6?DfQ8C+BTT>(XzP!9Vhn5Fb z{0B3@m093_$eF|@@pvsIr5uQhKnHn1ksczEzpenuu(OW`K{5>l59r5MU>&~%P-Eir zFa`N9LqbrDWgeS$234QXXqvF@bTvXK?xQt>l==Omocq>P3JC=hAcKkeadEGm;^_|u zuDA3$o@wJr%QiPXKMqgVxQ$_~;Ks6wv@{w5F|&S-`b?j!tgO_9OP3lKXFx;CV@day zl$IWZ&`V8C4HAu++A)Otb0(VUmh>7HWJBB*X{b99sl260H%M>Uk@HxqDt%x<>cf%JjxyWKm1$v>Pl4_9v-F_w8|Gh z=mF~$2(9+^b{-a%`uM>Eh^B8!sT(olD$Ux`k|scna@S=RxtLRD&z_~Bd7Y3@2}$bZ z%a@>6;~#+>3taK(u*u2Ex3`|N^X-lCc$e(&ZKue^u3-oF);`8sZOxU<3t09!Onv(R zDsW*_f+7$IveLus%m(#A8l?`Vc6N3$G6COCQc;D+#aX!X1lyUadbv`sVYIAq#kN05 zdCC{yS2iv^Jv{{w&tUoVtB4}0)u*~{*zsJ-qJ7^~{2L>d4g1X=XAsK%9IFf&f6#MX zJF5FIGFSbFT*3|M9uyI>aGVg-{BcM8=~SO!AWvMEF7EE;gE0E1VPUtKXE^Mj}c_zm*YKb#avx?tU2jMXJcCd_sLXkS>92+Tu{4~3YI(Xm!AoGQ&s+}6Q2c-~q7pt)gmc1nyuBr8(L3~x zod_r(nt=&A8k$0n%_UGbXZuT*ACoXGEH8`NkKePi%Psvvgglg-)#O`-<(dE_DM$sK z7Dfmqg6ySV9Nq$ey)#VVEd*Pw;G&q=PRT?9J?|rbH$S55^oGY~k{pkkWEwp+hoyM` z{(Y!)R8%6reFHl0`B|?GSm$%SImzbD2a#%*7;?g+`0)O{#gE(%`S}k_7uVMl0m{Jz z`U}j}PDha-K8x_YAdFSPZD1&$VGGRRF0x^d2yk+K_)I5`^xwAv<#9j)H=-F&pBuwbULv=9U?F zoo_K4Tt$DHbaGXLJ4TPegH#8u(#XgNZldW?KwzNkojWFTu^ym2gHDdFs;Vkbph3>~ zu{A2-Pj+Z-9qWPl2e$T2>o{!pq@*Nx2_+=_YuNHyc%NmWE#4g{S`fVt96YG4#*QGt z0LDS}Jxodip8@JjugHXDIZW1cK z)(h3Uwpzf_xVZaTzPVuZJ!ZS1YNCcbEzZ}Q%M;t%+XPU~d|yio|B9Wcx?-t)`JTd0 zTZhq7Sd2i9S3;ESLD|cJ9R>jSGctMssOaF|;*o&y9D@eQ_fWw*%|cvezOSk}?y^SB zp~@icc2!syQd--m9%962Ii|9mpO<$jul*Vp82s-F5;#~MKsdl-fXWzW+rS7Z@Ig)l zlqmsscHh!OP8^DeiV}U}3^_7gH8Y0Suo*T>?CRSJZ-NQJ2t$h4ynySdJGW`}e7o7U zMguF@;3nax25vSyJRBg!B4Ja22g$MrjU!Z$ex#?t5!L#^Pp8tOBu6(gDoO%y8Gs4z zr6$(c?LwfB!B_$|uvS9GjT3G*_Z>ISlQx;gWMT=WGKjQXT7@WQoFlO4P{%3CpB5cV zDZ24@N{*apBtCo?AdM_f#RGNqVuz{w;8(z$LJ*P9LMLzcEN!E}L$*AXlBoLNfd#ml zx<9EvUe2oAnkGE25y7B<08j$dY;A3AY_cugt*p@g8{6B0LTYYqTjQ;AYv1XA!qJ{&;aHJLb(N~N%l3TX{#1nwA;pl9^MljkZ0T;aL2^N z#Md6wkQaB{+}w7JH-HKdU+K8ToD0AdRNBIi0tgb9(sx7-%4PSlNHxu6axm?<17DK| zWod1}KlA(N5_o{`-o2YH;sJ0uIJgfnhl*1E^g*Qmu5|6$5GHYv3l|;%IDyH`XG%e% zN^&7)f+I&qXTL%WrK3}6@q^dfdmn5QT`et8@qWs&SzTOw5g2Gccp5>jOFB@aL3JlR z%^fFbJ@Ec+ILP6E%D#R74jvI|Fw(qvV-im&Nq4tanNKn@;`-^W5ya*oumb*|U>QLY zX=-X>V`Gz%y>~ANS9}69Cm*cscNkGvx^?vYRoc+X8WqX<5Jq#s^6dD>2T4Ti?b!vh z42`4|vVX9(NN8yA8ImDY8`5T@4yS-Mq#m$3!&uxvn(Sxq@B;$Q-cR0R#W z>!4lN+ccPwy*v}6))*BX9WMa6TU4>F4yFeYpI-vRpJ)1=R z-l1SYG68TI#dc>7*cMu{b`|siXndSc% zo1}J&MEkxa3R zhhxIS`3&lh=lx({WMn*bDgxpL zMEmgYJXo0|_J+pBfc>+xvpWU{y+Pn-2Cr5D#5zV%C&+hi0Vm9{pG6Q#ZNKy{`Wo2} zAOEnBzk8Qf*zUdm169>Fpoc)k29f+{L#VYyJ-EXH0s^2GafOjLznz8vI9Ij52WPPa z&;jh}+%`FqL|jiJAi@~W-`dy+JgR?iu*xeHNzg^ZU%isNz|Y_PIS62RJ9tk4g=Dfm z2E=33p1{Qn7qYkQMv&g`1QO-H%PiqHMSCT>Kr~XOq0y>k_YfPwgb6btkz+jsGsd0v z1o7EEIhJsL1|gdyjd>si4^tjJazrsj2(jU5J5CQZO zFb@V*bXKMhV>%4NHWWS5u9h7h-JN0S22nh^PIk=zwZuS5gi2Q<_t6Vk*#k(=mBV(L zz10q<{<|uQ7Hn#1abNgMQc+$GhOY0KT7unyhmdtxu;(X^-~NxHXi0fqw_#~{8DgiI zKnQXmU$qS;Q*utEDM9goW%R%2&{&+7fBjcW&TyRK;ljU0k5qh6&1KhB~ojZ*X z;{yW%GJ?Shk&%}6A~dupq!OGql`e}T;1|})YNMf{Avmu-eF}JVc<2f`Z>l3=u-=W- z9bv=;{2UuA0D2V)Q@NO{Z2v*ny?F5g(*&WjCrg)y8Nf4OOzJRTV&jGFS;WLVAQ7z& zI>D?ro9rP-@$(QuXbhsw12h8^99RH9Tm&TjXGX`EM#$#r+f%QBZ-CiuX%qxz1&p^s z+2SdpYMV2A9X7v0$`%8ZJ{t5Ax-WPPqp2Bek4-ZKmglk_< zIYZR>=lRNRTyTmnPExsO!u_jIx)F0c0FKvtsz`_v5~0wm}3waTnCb9|OU)%G$w%m)dz1^v_dD z=?=s2O9gheuH((;>aP$!?a+#@UEqH9>hb}?i{RnyV1L5#1{+@I2^`n_ZPfm9wBGGA z0*45f3b`it45F{kKxaym4PjzL%dW|xoVq0le{4H7+FBq z!b8%tG3vcU_}uX_zS{Qr4V`qEp)>H=XTPYtx;XCyqKhkpfuDEfE-YJh1lDsI9KoNY z6R6OD-(5ytuo9EebpaLx5z4AJ`vyJ$x$b!$P4QkUd=I4m@zGH*e@-QbUgM3v=Sxh+ z&dGUCMkYqkIsxNI*9Z?MTEc&QWm1qSj=|Ke{ zyZ<4=s(k+jBLQN5Vs7J0q#C)-YW=Oha02!W9bF#)0D@mc)LA~c6scC3Ay=8gycbM3 zfd~QjhvLyGzr;K+FyJ%`6&v$?@E$%K_@%}8;n@!%-O*2W zFgR?(Rx&GYxm5qlF?^c_UQ@G?%8gXi=~vSMfk(nZS?L&De68cusImA%?W&YZdez-d zo-cw;0NX-@Rnnoqsw+O+*xk?|Ey+m}sO=86Xa7To51T4d0j;K8q(>RO*e0k+eNYR= zt)!&Hd>>3CJqfX~9L#%rdvslg5UVSm*C%;y(_gb@(Os>ks^J$BQkNt@d(EQ9Yi&k@ z@+jHZfEkitfvXVg+bagn+<@7vjp|Rf2pm9`Sal_(u*k@<`T4Wp{#VjQhRB`7VPy0SRygtms)9c`O$$T)1*Y2|tZgGh%S=$!v}7Tjx*f7C1_2YsX{wQ-A&p zl>oSK&2c(n$>82SLcwj9Zf*cg6|I>~JJTf;IAgx|hAZ5R{MwBCdOlsUG430>JuKE%VY>hINQs)yZA+{VO1C+S`Z30*ySR zbnk{2nUmGXMt3}HqlK$~DM3rCn+jDEISy8YO-*8USr=plW?h^w?4i)c%?LW+Eea03BeVJ32r^^`R{(85 z>QU{$yZF3qbM24`7*~?q<-?m?0kddHPE;@e)Q)Gp+8%y^f742T^})cA|4%IV|G}Yf zr_}@hS5-SEF1@tW4cOM`=xAWi9UUD3cQNvtb%9VgG4^Gj2|?yQX4$khHAP=Bc=p30 zBqW6V*sthj?+PFH^CUNlx9?tGv_;&9RHX)=A}D;*@A+CptA);THqzvx&A@IKdc8v1t9SN z+!iLhnuv%9sy>=9xYv?mGlex^Va&Ck4E#C~n422UPjR569sxI282t9_TPUMM!OjOo zJHuD4{r)WAQT!jMsikYPAc$OtQgOmHPfba;wHebME8b|y(dx$sTiuGFI`hAC{ko3` z@KZxq868bToMztmJIoK@(BfiZC`s@$$E;du6{PUIw zBYFJh&6!MDlcNBgKt_$aftbnpi;(rr?0H6v`g%Zv9K6{vy+@9A*x*4RGt0S_HCXed>EdLqkeN##jBE z-ryZYO-*)YP*vK>U3GK@d?~I?0)&Ff4IEx+>QD*GfBOSvZf;H}eYK3*;@FrW2!eZ# zotqmJgu-1*sLyx0wtI2_3qsu;(>e}>+S)8ut@{%ZV)L4KxDVJ709xJFYP_op!?l=g z6g7AWslz%t6dSB#6B8v2n@{Eah=ZOZM#fB?3Iw?t3h3yU3Oqw@_D>C%@vD}i;$t1_$$fp!BI<>TW^|Mck|i!us@x_R>nMyf=sg{G#|5l@)*Do+@ZKk*m*S?&L$N`>>d;`|{b~956)a-2rzwaLA>=8O|_ijr`CoKXE*V zx}fBLjRKetB?^J3YoN6xG9f{y$`jx(I_*JEp%rdxCa)c6ol6u}X1&V!t|P|pp?_wo<-e7XN=y`r8XCgpn2cF$QObu8 z!Dl6O@CR^j`AOfte_z+$J`X)_bL^@qV6aT|-rJOm6(FO#Y63PIX!d(d!$Tx+j!@>I zQ&U|w$D#mkr80bgs%dI(dwvj9HsBtOzrK0SLpSsdIV-}59y}PGovi?( zZFhSeSnnPTCZI8Zn!^k1B|I9r?+qG4&>3_IK60s7K%9c->I%IJV4%oHOYzBb|8;Uk z5E64S7fsqf-<*WX9Wu!meL~X~G+jbYb8>RBvs;>g&vq#*6r{OFcko)=Boq0!z-Xc! zXcVV=a>YPrq&92XqlKvnwvnzuK!30jFnIFnixE?TnLq@UgFYat_ zw+51-`2(u@ioiKhpr9$PZ6rbSD6kx`{XRMh!zR0VxlXmKu!f(VT}CqE`%0mmz5Q59 zh#8Xt&hNyjQ&$}(6)AJiDl~?A(Vc zEC~@F zeXnXCA{k?Y>Hv6_u=@$?7<}k0P1B<{FVDdYLBa0o%7rSn0SY*rMJ^yTl!BC0RzYD9 z_5w7r>g&J5beFscCq4Hsax)Y4RlUl~6L?_Y!GVJU+l$)7*qEV_5fkuDvQgZ?oMWc( z*Nb|e((zgL~B3FOtQclnT% zFR-#Y&-H6yYxAhRn!0WA<joK z?#l5P^A&qy;;lNCr{JGf?Q*IGcJQ<*m9`7exvWrj{wG!V4@vUB)5U-FaND=rA4Vn> zrKG+zhMk|K({-Er0Ex`}z5)l~&{=R3MMgv%r{%5NLOD=QVKQT%T`T~<$r&9>OG`t; z4@E^qSy@?NROkBD+~+#^_Bk;*L#iVe`%nzWLl@{h(|2%K0qa7tnJFhLyZop7s{no2q$D?&mvZq<9#0$%anLOE<+5>c0T6uvP0)mEK&ur* ziTF2fTqZltfp`F&RWR>B?3-z;k=l+PJA;K@#y^;$5yi#}yn}=vVk}@umGt8#Ay}(2 zOF(nb+V&Hg<($AQ=>ff#6wrnV2`3+&?uSlIPyb#@oWvyp;y-vi!N{-(Jpg3TBeSLk zD`*eOCF_b+47l5Hi?MOy?oJyE!+;`TC+X+}@9DaNdyFM~YTkQ)8}wO1J3FlHfIA?b z&cWFLIR-Ss@LtBmY=Ob^g@0(M0t(gt#BwQCKl>RWHObPG@b^yk+ih=Qy zyxOTl5aMTq?*#ySaQ2$V24G9be9qR7*@qgbJ8l$^M@bUMZ$dB z;0s`8W(I9!+9elyYS@^WM*#Zw=NX30CA31X5VQ6|B8O$hKuKu}Z6Fs|SU~u`%*?D0@_6fR5?o74QgUXXqOAL(xzBmE z>#~Gp3IrpZ{Mzn{GNminbdHgd5*l0qjtB_P!wRc}8GvzK^V||z)~MRX&0AHhs^UY} z`|U&RMx4Rn0kRZkZF17&!|A*5%>#T@WMU{w%h|-el@xI8i4pW0Q|N+)#|<$V$|l$n zd1l?809ZgH5nwHGF0M?Cvqbn#YbDae+`K^{Dfm)LD;(&%l5Zv|;x- zVdHU?QeHW5-8QuYxOu59TjjMYc|kw`TCAsBGEgyxGXRp80EG!1cjkalgXO}*!ju#h zK>#&pZ0YFf5oBY#D+%A0z*z1Isvva!Mn*@M0R93czAaYJ8i*K>M%8y)a-LOZ3i;IQ z>+3VQ3_S)2zqc6b4Sr1>uz0{hv2iW>IUdkS-&$Hx;6-wAOvVxf<5_5rjpo%Se;E09 z;|fVdGaoOnWZhhsEXZsyT6iQj@I1iwEFfe6=nTAyDtSLLcFuqsB_aYiiVLgF&Kw~q zqFJ2x{;o^{*_q4LpN|S^C3>!Dm=aoEZ_#5_x_h96dmVKolrWc2KniT6gJiF_IPzr` z3&I9Jbj&nZyKk+Snwl8!{i*Cet~WyEn{>jguh0Bg4uzh2d{!0g&J^2ll_P4`DPSK( z&?~@9>_RKDFrO@`m9=Ak@)^rkp!gF#mYTLUH5C;XptE1dzPswizY$g~3bmJoL1aEb zO+7~R^Xg&)u?Z&^mnHN8L0>Lzf7^S%9gE#gOGz+W@|Xc_872hw{#@}-^7T_k+YNZ5 z!F@2ZQ~;jND_0iBqI8{>j>~w$7cWF4qB(nEK~jZ*-RCvN{PI(dqz|B^Nd?kCr+gJ? z>;Rg;i?jv>#@@nn384gYxF#4`VNEgwz2pCN&V{$nnat#J1*YJ88MxhyD~5TfI=(>x z15PQzlo>h;Ktm!ud~pH<1kEC=c;6CeDHJyy7uHLVIx?! z&w(M(9+nN<9D$@uurZwgariX3*4qTAGYLjst-_i8z4?7Qyu?g7w5U=Fdu(KDZv)jAi#0CYr#Zw`lIP{bj-eP^x_Y zKExmihyfhH5CF-uO47IT5CvJkSQ4sxU{C=b25;mqtN!VIO7Z(2*{ogf0fv=xE!j^v R;Y(tWyHfI!=$j9p{2viZKFq_U%IA!KEb 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

O&z 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 $7A}y# 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 Xc81eZUHN!N(z(;hr!wWP-1+|ij3x;h literal 0 HcmV?d00001 diff --git a/_images/runProtonicMembrane_04.png b/_images/runProtonicMembrane_04.png new file mode 100644 index 0000000000000000000000000000000000000000..6bf2f061f6e8078971c5530bac2d2a1950315c6d GIT binary patch literal 18739 zcmdUXXINBOvu>lKph!>z1O!A-G6<3pkSriUp~*o+a?UxZ1Oq`NNd_f0(BvEiB#I!= zfVM<5Uca`&Vj zA`qvX5D1(Vyi@QA?JK8H_z$j=oT4=D{DpIb+$1ZO*@g(jHH4g$xSCtS%DDI4%b4#c z>m+T@-`?C+nO_Nv%P|WydmBq+Ht{pg#3X|ppSB2hgU&a@rL#&a!&vKww4&`BZ4>*h zc;jf3>*p_J_z{^~yl2o*yR0IYMDFAJxx8|kjjfY=d3m|cz?VH}c(}N@$xFcWi=d|@ z5*Y=v8CmbChRIb>Hj*L`As5jIgjulN8N^*9e^vy7l3o`F(Q{?$Ji@O9PXmGA8MwE0 z{_bf~Qqq?%U-nLa`}VEOdUR1cQ79)X>z=&)VsCn97yqQyf$D{$=o_9ptF?Ah62`{q z`T4fVqTX@5mKm-gi`O_gIqB&oJ+5B5)Qdv0QnMPhGN(=TJ+)B#xO*NSf0l@ck57GV zv0u^9aEiTr?7IKY&CSEboO~L+N#E+}5XpXph%?Pjc7}`;w2HcE(+okT)cA=9tq4Dcsh-e{xwF;k6zqQO#89 z@FlaJo0|GsZabNw7++>HzTfgOEPrfjqUYdH!h4{pxjX+M%tBYJpJ+!nwV2AbhD%sjn2s)0r`!gmlL?zb>%I9k zid7@`#9%Tj{G-xzNeR#1dNjLEMYkzFE93Jh)i$y%vC}I*r^Cc-#ws4*ea+J;x1Vkq zu1$vd9B<|O9<5fd5z^eLfG1s_Zne~q?SK6dEnm?6={5Pz%BY6A`j3^B@p|7AxOZU& z`>%}+pTqUmj*bovy{a*vgB6JvZ{NOs_3AvGe|~G9dT(?`CHPn{EzqaBV|)YG-5s{ ziy3&_a$fAW;4c`*=dAfT?mBsnj*MMfszT^ut?j>h=|a7E*HYF z(^;L{n@ir=+>9*u`t}sp!O;bAx1 B6HDC56KA1lW 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 and :battmofile:`1d-PM-geometry.json` + +.. code-block:: matlab + + filename = fullfile(battmoDir(), 'ProtonicMembrane', 'jsonfiles', 'protonicMembrane.json'); + jsonstruct_material = parseBattmoJson(filename); + + filename = fullfile(battmoDir(), 'ProtonicMembrane', 'jsonfiles', '1d-PM-geometry.json'); + jsonstruct_geometry = parseBattmoJson(filename); + + jsonstruct = mergeJsonStructs({jsonstruct_material, jsonstruct_geometry}); + + +Input structure setup +===================== +We setup the input parameter structure which will we be used to instantiate the model + +.. code-block:: matlab + + inputparams = ProtonicMembraneCellInputParams(jsonstruct); + + % We setup the grid, which is done by calling the function :battmo:`setupProtonicMembraneCellGrid` + [inputparams, gen] = setupProtonicMembraneCellGrid(inputparams, jsonstruct); + + +Model setup +=========== +We instantiate the model for the protonic membrane cell + +.. code-block:: matlab + + model = ProtonicMembraneCell(inputparams); + +The model is equipped for simulation using the following command (this step may become unnecessary in future versions) + +.. code-block:: matlab + + model = model.setupForSimulation(); + + +Initial state setup +=================== +We setup the initial state using a default setup included in the model + +.. code-block:: matlab + + state0 = model.setupInitialState(); + + +Schedule schedule +================= +We setup the schedule, which means the timesteps and also the control we want to use. In this case we use current control and the current equal to zero (see here :battmofile:`here`). +We compute the steady-state solution so that the time stepping here is more an artifact to reach the steady-state solution. In particular, it governs the pace at which we increase the non-linearity (not detailed here). + +.. code-block:: matlab + + schedule = model.Control.setupSchedule(inputparams.jsonstruct); + +We change the default tolerance + +.. code-block:: matlab + + model.nonlinearTolerance = 1e-8; + + +Simulation +========== +We run the simulation + +.. code-block:: matlab + + [~, states, report] = simulateScheduleAD(state0, model, schedule); + + +Plotting +======== +We setup som shortcuts for convenience + +.. code-block:: matlab + + an = 'Anode'; + ct = 'Cathode'; + elyte = 'Electrolyte'; + ctrl = 'Control'; + + set(0, 'defaultlinelinewidth', 3); + set(0, 'defaultaxesfontsize', 15); + +We recover the position of the mesh cell of the discretization grid. This is used when plotting the spatial distribution of some of the variables. + +.. code-block:: matlab + + xc = model.(elyte).grid.cells.centroids(:, 1); + +We consider the solution obtained at the last time step, which corresponds to the solution at steady-state. + +.. code-block:: matlab + + state = states{end}; + state = model.addVariables(state, schedule.control); + + figure(1) + plot(xc, state.(elyte).pi) + title('Electromotive potential (\pi)') + xlabel('x / m') + ylabel('\pi / V') + + figure(2) + plot(xc, state.(elyte).pi - state.(elyte).phi) + title('Electronic chemical potential (E)') + xlabel('x / m') + ylabel('E / V') + + figure(3) + plot(xc, state.(elyte).phi) + title('Electrostatic potential (\phi)') + xlabel('x / m') + ylabel('\phi / V') + + figure(4) + plot(xc, log(state.(elyte).sigmaEl)) + title('logarithm of conductivity (\sigma)') + xlabel('x / m') + xlabel('log(\sigma/Siemens)') + +.. figure:: runProtonicMembrane_01.png + :figwidth: 100% + +.. figure:: runProtonicMembrane_02.png + :figwidth: 100% + +.. figure:: runProtonicMembrane_03.png + :figwidth: 100% + +.. figure:: runProtonicMembrane_04.png + :figwidth: 100% + + + +complete source code can be found :ref:`here` diff --git a/_sources/publishedExamples/runProtonicMembranePreamble.rst.txt b/_sources/publishedExamples/runProtonicMembranePreamble.rst.txt new file mode 100644 index 00000000..cc6581d6 --- /dev/null +++ b/_sources/publishedExamples/runProtonicMembranePreamble.rst.txt @@ -0,0 +1,114 @@ +Model overview +============== + +We consider the model of a mixed proton and electron conducting membrane, as described in :cite:`V_llestad_2019` from 2019. + +Governing equations +------------------- + +We have three components given by the proton (:math:`H^+`), the :math:`p` and :math:`n` type. We want to find expressions for the fluxes for each of the components + +We denote by :math:`\phi` the electrostatic potential. For each of the components :math:`\alpha=\{H^+, p, n\}`, we +introduce the electrochemical potential denoted :math:`\bar\mu_\alpha` and the chemical potential denoted +:math:`\mu_\alpha`. The potentials are related with each other through the relation + +.. math:: + + \bar\mu_\alpha = \mu_\alpha + z_\alpha F \phi + +The fluxes are governed by the gradient of the electrochemical potential. We have + +.. math:: + + j_{\alpha} = -k_\alpha\nabla\bar\mu_\alpha + +for some coefficient :math:`k_\alpha` which is not necessarily a constant. + +We assume that the chemical potential of :math:`H^+`, that is :math:`\mu_{H^+}`, is constant in the electrolyte and that +:math:`k_{H^+}` is constant. Hence, the current density of :math:`H^+` is given + +.. math:: + + i_{H^+} = -\sigma_{H^+} \nabla \phi, + +for a constant conductivity :math:`\sigma_{H^+}`. We denote by :math:`E = -\frac{\mu_n}{F}` the electronic chemical potential and :math:`\pi = E + \phi` the electromotive potential. Since we have equilibrium for the n-p reaction, we have the identity + +.. math:: + + d\mu_p + d\mu_n = 0. + +For the :math:`p` and :math:`n` type conductivities, we use the empirical relations + +.. math:: + + \sigma_p(E) = \sigma_p^0\exp\left(\frac{F(E - E_{\text{ref},p})}{RT}\right)\quad\text{ and }\quad\sigma_n(E) = \sigma_n^0\exp\left(\frac{-F(E - E_{\text{ref},n})}{RT}\right). + +Here :math:`E_{\text{ref},p}` and :math:`E_{\text{ref},n}` are two reference potentials (see below). + +We consider the steady state. We could introduce later charge and mass capacitors. The unknowns are the functions :math:`\phi(x)` and :math:`E(x)` in the electrolyte. The governing equations are given by the mass conservation for the proton and the charge conservation. + +The mass conservation for $H^+$ is given by + +.. math:: + + \nabla\cdot j_{H^+} = 0. + +The current density is given by :math:`i = F (j_{H^+} + j_p - j_n)` and the \textbf{charge +conservation equation} is + +.. math:: + + \nabla\cdot i = 0. + +We introduce the electronic current density :math:`i_{\text{el}} = F(j_p - j_n)` and we get + +.. math:: + + \nabla\cdot i_{\text{el}} = 0. + +We can rewrite :math:`i_{\text{el}}` as + +.. math:: + + i_{\text{el}} = - (\sigma_p(E) + \sigma_n(E))\nabla ( E + \phi ). + +The governing equations for :math:`\phi(x)` and :math:`\pi(x)` are therefore the differential equations + +.. math:: + + \begin{align} + -\nabla\cdot(\sigma_{H^+}\nabla\phi) &= 0,\\ + -\nabla\cdot((\sigma_p(E) + \sigma_n(E))\nabla \pi) &= 0. + \end{align} + +Boundary conditions +------------------- + +We define the over-potential :math:`\eta` as + +.. math:: + + \eta_\text{elde} = \pi_\text{elde} - \phi_\text{elde} - \text{OCP}_\text{elde} + +where :math:`\text{OCP}_\text{elde}` is the open-circuit potential for the given electrode. The value of the +$\text{OCP}$ at each electrode depend on the composition at the electrode (see :cite:`V_llestad_2019` for the expressions). + +At the anode, we imposte that the proton current is given through the following Buttler-Volmer type expression + +.. math:: + i_{H^+, \text{an}} = -i_0\frac{e^{-\beta\frac{ z F \eta_{\text{an}}}{RT}} - e^{( 1- \beta)\frac{ z F \eta_{\text{an}}}{RT}}}{ 1+ \frac{i_0}{i_{l,c}}e^{-\beta\frac{ z F \eta_{\text{an}}}{RT}} - \frac{i_0}{i_{l,a}}e^{( 1- \beta)\frac{ z F \eta_{\text{an}}}{RT}}} + + +Here, :math:`i_{l,c}` and :math:`i_{l,a}` are given constants. The value of the reference current density $i_0$ is also constant + +The total current is given by :math:`i_{\text{an}} = I` for some constant current $I$. + +At the cathode, we impose that the electrostatic potential is equal to zero and +a relation between the :math:`H^+` current and the over-potential that takes a linear form, + +.. math:: + + R_\text{CT} \ i_{H^+, \text{ct}} = \eta_\text{ct}, + +for a given charge transfer constant :math:`R_\text{CT}`. + diff --git a/_sources/publishedExamples/runProtonicMembrane_source.rst.txt b/_sources/publishedExamples/runProtonicMembrane_source.rst.txt new file mode 100644 index 00000000..c0bd70d5 --- /dev/null +++ b/_sources/publishedExamples/runProtonicMembrane_source.rst.txt @@ -0,0 +1,115 @@ +:orphan: + +.. _runProtonicMembrane_source: + +Source code for runProtonicMembrane +----------------------------------- + +.. code:: matlab + + + %% Protonic Membrane model + + + %% Load and parse input from given json files + % The source of the json files can be seen in :battmofile:`protonicMembrane` and + % :battmofile:`1d-PM-geometry.json` + + filename = fullfile(battmoDir(), 'ProtonicMembrane', 'jsonfiles', 'protonicMembrane.json'); + jsonstruct_material = parseBattmoJson(filename); + + filename = fullfile(battmoDir(), 'ProtonicMembrane', 'jsonfiles', '1d-PM-geometry.json'); + jsonstruct_geometry = parseBattmoJson(filename); + + jsonstruct = mergeJsonStructs({jsonstruct_material, jsonstruct_geometry}); + + %% Input structure setup + % We setup the input parameter structure which will we be used to instantiate the model + + inputparams = ProtonicMembraneCellInputParams(jsonstruct); + + % We setup the grid, which is done by calling the function :battmo:`setupProtonicMembraneCellGrid` + [inputparams, gen] = setupProtonicMembraneCellGrid(inputparams, jsonstruct); + + %% Model setup + % We instantiate the model for the protonic membrane cell + model = ProtonicMembraneCell(inputparams); + + %% + % The model is equipped for simulation using the following command (this step may become unnecessary in future versions) + model = model.setupForSimulation(); + + %% Initial state setup + % We setup the initial state using a default setup included in the model + state0 = model.setupInitialState(); + + %% Schedule schedule + % We setup the schedule, which means the timesteps and also the control we want to use. In this case we use current + % control and the current equal to zero (see here :battmofile:`here`). + % + % We compute the steady-state solution so that the time stepping here is more an artifact to reach the steady-state + % solution. In particular, it governs the pace at which we increase the non-linearity (not detailed here). + + schedule = model.Control.setupSchedule(inputparams.jsonstruct); + + %% + % We change the default tolerance + model.nonlinearTolerance = 1e-8; + + %% Simulation + % We run the simulation + + [~, states, report] = simulateScheduleAD(state0, model, schedule); + + %% Plotting + % + + %% + % We setup som shortcuts for convenience + an = 'Anode'; + ct = 'Cathode'; + elyte = 'Electrolyte'; + ctrl = 'Control'; + + set(0, 'defaultlinelinewidth', 3); + set(0, 'defaultaxesfontsize', 15); + + %% + % We recover the position of the mesh cell of the discretization grid. This is used when plotting the spatial + % distribution of some of the variables. + xc = model.(elyte).grid.cells.centroids(:, 1); + + %% + % We consider the solution obtained at the last time step, which corresponds to the solution at steady-state. + state = states{end}; + state = model.addVariables(state, schedule.control); + + figure(1) + plot(xc, state.(elyte).pi) + title('Electromotive potential (\pi)') + xlabel('x / m') + ylabel('\pi / V') + + figure(2) + plot(xc, state.(elyte).pi - state.(elyte).phi) + title('Electronic chemical potential (E)') + xlabel('x / m') + ylabel('E / V') + + figure(3) + plot(xc, state.(elyte).phi) + title('Electrostatic potential (\phi)') + xlabel('x / m') + ylabel('\phi / V') + + figure(4) + plot(xc, log(state.(elyte).sigmaEl)) + title('logarithm of conductivity (\sigma)') + xlabel('x / m') + xlabel('log(\sigma/Siemens)') + + + + + + diff --git a/advancedtopics.html b/advancedtopics.html index 591fb5b8..af973cc0 100644 --- a/advancedtopics.html +++ b/advancedtopics.html @@ -163,6 +163,21 @@

+
  • Protonic Membrane +
  • BattMo App
    • Features
    • +
    • Protonic Membrane +
    • BattMo App
      • Features
      • +
      • Protonic Membrane +
      • BattMo App
        • Features
        • +
        • Protonic Membrane +
        • BattMo App
          • Features
            • Use default materials
            • diff --git a/compositeElectrode.html b/compositeElectrode.html index 2374ee7f..688b13ba 100644 --- a/compositeElectrode.html +++ b/compositeElectrode.html @@ -161,6 +161,21 @@
            • pH distribution plot
          • +
          • Protonic Membrane +
          • BattMo App
            • Features
              • Use default materials
              • diff --git a/computationalGraph/graphdoc.html b/computationalGraph/graphdoc.html index 33164b91..28d394be 100644 --- a/computationalGraph/graphdoc.html +++ b/computationalGraph/graphdoc.html @@ -164,6 +164,21 @@
              • pH distribution plot
            • +
            • Protonic Membrane +
            • BattMo App
              • Features
              • +
              • Protonic Membrane +
              • BattMo App
                • Features
                • +
                • Protonic Membrane +
                • BattMo App
                  • Features
                  • +
                  • Protonic Membrane +
                  • BattMo App
                    • Features
                    • +
                    • Protonic Membrane +
                    • BattMo App
                      • Features
                      • +
                      • Protonic Membrane +
                      • BattMo App
                        • Features
                        • +
                        • Protonic Membrane +
                        • BattMo App
                          • Features
                            • Use default materials
                            • diff --git a/gui_troubleshooting.html b/gui_troubleshooting.html index 5609824b..04018a8f 100644 --- a/gui_troubleshooting.html +++ b/gui_troubleshooting.html @@ -163,6 +163,21 @@
                            • pH distribution plot
                          • +
                          • Protonic Membrane +
                          • BattMo App
                            • Features
                            • +
                            • Protonic Membrane +
                            • BattMo App
                              • Features
                              • +
                              • Protonic Membrane +
                              • BattMo App
                                • Features
                                • +
                                • Protonic Membrane +
                                • BattMo App
                                  • Features
                                    • Use default materials
                                    • @@ -340,7 +355,7 @@

                                      File links and insertions with jsonstruct that is obtained is equivalent to the one where we would have copied and paste the content of graphite.json.

                                      -
                                      +
                                      "NegativeElectrode": {
                                         "Coating": {
                                           "ActiveMaterial": {
                                      diff --git a/json.html b/json.html
                                      index bc28ff45..775fb46d 100644
                                      --- a/json.html
                                      +++ b/json.html
                                      @@ -163,6 +163,21 @@
                                       
                                    • pH distribution plot
                                  • +
                                  • Protonic Membrane +
                                  • BattMo App
                                    • Features
                                    • +
                                    • Protonic Membrane +
                                    • BattMo App
                                      • Features
                                      • +
                                      • Protonic Membrane +
                                      • BattMo App
                                        • Features
                                          • Use default materials
                                          • diff --git a/modelinitialisation.html b/modelinitialisation.html index aacd74b8..abff701c 100644 --- a/modelinitialisation.html +++ b/modelinitialisation.html @@ -163,6 +163,21 @@
                                          • pH distribution plot
                                        • +
                                        • Protonic Membrane +
                                        • BattMo App
                                          • Features
                                            • Use default materials
                                            • diff --git a/objects.inv b/objects.inv index d424c57c3d287a9353cee339686644e0e8658859..79166361e7144fb273ec59f57dccebb95b07226d 100644 GIT binary patch delta 5612 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 delta 5267 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 distribution plot
                                          • +
                                          • Protonic Membrane +
                                          • BattMo App
                                            • Features
                                            • +
                                            • Protonic Membrane +
                                            • BattMo App
                                              • Features
                                              • +
                                              • Protonic Membrane +
                                              • BattMo App
                                                • Features
                                                  • Use default materials
                                                  • diff --git a/publishedExamples/battMoTutorial.html b/publishedExamples/battMoTutorial.html index e7380f43..86117545 100644 --- a/publishedExamples/battMoTutorial.html +++ b/publishedExamples/battMoTutorial.html @@ -161,6 +161,21 @@
                                                  • pH distribution plot
                                                • +
                                                • Protonic Membrane +
                                                • BattMo App
                                                  • Features
                                                    • Use default materials
                                                    • diff --git a/publishedExamples/battMoTutorial_source.html b/publishedExamples/battMoTutorial_source.html index 533d8369..b5e9b500 100644 --- a/publishedExamples/battMoTutorial_source.html +++ b/publishedExamples/battMoTutorial_source.html @@ -161,6 +161,21 @@
                                                    • pH distribution plot
                                                  • +
                                                  • Protonic Membrane +
                                                  • BattMo App
                                                    • Features
                                                      • Use default materials
                                                      • diff --git a/publishedExamples/runBatteryP2D.html b/publishedExamples/runBatteryP2D.html index 4854ca2d..02895b70 100644 --- a/publishedExamples/runBatteryP2D.html +++ b/publishedExamples/runBatteryP2D.html @@ -161,6 +161,21 @@
                                                      • pH distribution plot
                                                    • +
                                                    • Protonic Membrane +
                                                    • BattMo App
                                                      • Features
                                                        • Use default materials
                                                        • diff --git a/publishedExamples/runBatteryP2D_source.html b/publishedExamples/runBatteryP2D_source.html index 0a87f5e2..7f93c7ca 100644 --- a/publishedExamples/runBatteryP2D_source.html +++ b/publishedExamples/runBatteryP2D_source.html @@ -161,6 +161,21 @@
                                                        • pH distribution plot
                                                      • +
                                                      • Protonic Membrane +
                                                      • BattMo App
                                                        • Features
                                                          • Use default materials
                                                          • diff --git a/publishedExamples/runElectrolyser.html b/publishedExamples/runElectrolyser.html index 2ed88465..c0838e55 100644 --- a/publishedExamples/runElectrolyser.html +++ b/publishedExamples/runElectrolyser.html @@ -28,7 +28,7 @@ - + @@ -164,6 +164,21 @@
                                                          • pH distribution plot
                                                        • +
                                                        • Protonic Membrane +
                                                        • BattMo App
                                                          • Features
                                                            • Use default materials
                                                            • @@ -478,7 +493,7 @@

                                                              pH distribution plot

                                                              diff --git a/publishedExamples/runElectrolyserPreamble.html b/publishedExamples/runElectrolyserPreamble.html index df948e10..80b2342e 100644 --- a/publishedExamples/runElectrolyserPreamble.html +++ b/publishedExamples/runElectrolyserPreamble.html @@ -162,6 +162,21 @@
                                                            • pH distribution plot
                                                          • +
                                                          • Protonic Membrane +
                                                          • BattMo App
                                                            • Features
                                                              • Use default materials
                                                              • diff --git a/publishedExamples/runElectrolyser_source.html b/publishedExamples/runElectrolyser_source.html index 86ef1dda..7a48dea8 100644 --- a/publishedExamples/runElectrolyser_source.html +++ b/publishedExamples/runElectrolyser_source.html @@ -161,6 +161,21 @@
                                                              • pH distribution plot
                                                            • +
                                                            • Protonic Membrane +
                                                            • BattMo App
                                                              • Features
                                                                • Use default materials
                                                                • diff --git a/publishedExamples/runJsonScript.html b/publishedExamples/runJsonScript.html index 8c805a6d..e1defb19 100644 --- a/publishedExamples/runJsonScript.html +++ b/publishedExamples/runJsonScript.html @@ -161,6 +161,21 @@
                                                                • pH distribution plot
                                                              • +
                                                              • Protonic Membrane +
                                                              • BattMo App
                                                                • Features
                                                                  • Use default materials
                                                                  • diff --git a/publishedExamples/runJsonScript_source.html b/publishedExamples/runJsonScript_source.html index b1a6f07e..ab47585c 100644 --- a/publishedExamples/runJsonScript_source.html +++ b/publishedExamples/runJsonScript_source.html @@ -161,6 +161,21 @@
                                                                  • pH distribution plot
                                                                • +
                                                                • Protonic Membrane +
                                                                • BattMo App
                                                                  • Features
                                                                  • +
                                                                  • Protonic Membrane +
                                                                  • BattMo App
                                                                    • Features
                                                                      • Use default materials
                                                                      • diff --git a/publishedExamples/runSEIActiveMaterial_source.html b/publishedExamples/runSEIActiveMaterial_source.html index 3137cbf2..ef4c45d8 100644 --- a/publishedExamples/runSEIActiveMaterial_source.html +++ b/publishedExamples/runSEIActiveMaterial_source.html @@ -161,6 +161,21 @@
                                                                      • pH distribution plot
                                                                    • +
                                                                    • Protonic Membrane +
                                                                    • BattMo App
                                                                      • Features
                                                                        • Use default materials
                                                                        • diff --git a/publishedExamples/runSiliconGraphiteBattery.html b/publishedExamples/runSiliconGraphiteBattery.html index 2101cfca..c10e3bd4 100644 --- a/publishedExamples/runSiliconGraphiteBattery.html +++ b/publishedExamples/runSiliconGraphiteBattery.html @@ -161,6 +161,21 @@
                                                                        • pH distribution plot
                                                                      • +
                                                                      • Protonic Membrane +
                                                                      • BattMo App
                                                                        • Features
                                                                          • Use default materials
                                                                          • diff --git a/publishedExamples/runSiliconGraphiteBattery_source.html b/publishedExamples/runSiliconGraphiteBattery_source.html index a4397730..eee3ff36 100644 --- a/publishedExamples/runSiliconGraphiteBattery_source.html +++ b/publishedExamples/runSiliconGraphiteBattery_source.html @@ -161,6 +161,21 @@
                                                                          • pH distribution plot
                                                                        • +
                                                                        • Protonic Membrane +
                                                                        • BattMo App
                                                                          • Features
                                                                            • Use default materials
                                                                            • diff --git a/run_temperature_example.html b/run_temperature_example.html index 24341d8f..db4e7138 100644 --- a/run_temperature_example.html +++ b/run_temperature_example.html @@ -161,6 +161,21 @@
                                                                            • pH distribution plot
                                                                          • +
                                                                          • Protonic Membrane +
                                                                          • BattMo App
                                                                            • Features
                                                                            • +
                                                                            • Protonic Membrane +
                                                                            • BattMo App
                                                                              • Features
                                                                                • Use default materials
                                                                                • diff --git a/searchindex.js b/searchindex.js index b5a8bfa7..9ee943eb 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["advancedtopics", "architecture", "basicusage", "bibliography", "compositeElectrode", "computationalGraph/graphdoc", "controlinput", "geometryinput", "gui", "gui_calculations", "gui_features", "gui_troubleshooting", "index", "installation", "intermediate", "json", "jsonexample", "juliabridge", "modelinitialisation", "octave", "optimisation", "parsets", "publishedExamples/battMoTutorial", "publishedExamples/battMoTutorial_source", "publishedExamples/runBatteryP2D", "publishedExamples/runBatteryP2D_source", "publishedExamples/runElectrolyser", "publishedExamples/runElectrolyserPreamble", "publishedExamples/runElectrolyser_source", "publishedExamples/runJsonScript", "publishedExamples/runJsonScript_source", "publishedExamples/runSEIActiveMaterial", "publishedExamples/runSEIActiveMaterial_source", "publishedExamples/runSiliconGraphiteBattery", "publishedExamples/runSiliconGraphiteBattery_source", "run_temperature_example", "seealso", "soliddiffusion", "thermal", "tutorials", "units"], "filenames": ["advancedtopics.rst", "architecture.rst", "basicusage.rst", "bibliography.rst", "compositeElectrode.rst", "computationalGraph/graphdoc.rst", "controlinput.rst", "geometryinput.rst", "gui.rst", "gui_calculations.rst", "gui_features.rst", "gui_troubleshooting.rst", "index.rst", "installation.rst", "intermediate.rst", "json.rst", "jsonexample.rst", "juliabridge.rst", "modelinitialisation.rst", "octave.rst", "optimisation.rst", "parsets.rst", "publishedExamples/battMoTutorial.rst", "publishedExamples/battMoTutorial_source.rst", "publishedExamples/runBatteryP2D.rst", "publishedExamples/runBatteryP2D_source.rst", "publishedExamples/runElectrolyser.rst", "publishedExamples/runElectrolyserPreamble.rst", "publishedExamples/runElectrolyser_source.rst", "publishedExamples/runJsonScript.rst", "publishedExamples/runJsonScript_source.rst", "publishedExamples/runSEIActiveMaterial.rst", "publishedExamples/runSEIActiveMaterial_source.rst", "publishedExamples/runSiliconGraphiteBattery.rst", "publishedExamples/runSiliconGraphiteBattery_source.rst", "run_temperature_example.rst", "seealso.rst", "soliddiffusion.rst", "thermal.rst", "tutorials.rst", "units.rst"], "titles": ["Advanced Usage", "BattMo Model Architecture", "Basic Usage", "Reference lists", "Composite electrode json input file", "Computation Graph Model Design ang Assembly", "Control models", "Battery Geometries", "BattMo App", "Calculations", "Features", "Troubleshooting", "Welcome", "Installation and First Steps", "Intermediate usage", "JSON input specification", "Json input example", "BattMo Julia bridge", "The Battery Simulation Model", "Note on Octave Support", "Optimization", "Parameter sets", "BattMo Tutorial", "Source code for battMoTutorial", "Pseudo-Two-Dimensional (P2D) Lithium-Ion Battery Model", "Source code for runBatteryP2D", "Alkaline Membrane Electrolyser", "<no title>", "Source code for runElectrolyser", "BattMo example Json input", "Source code for runJsonScript", "Particle simulation with SEI layer growth", "Source code for runSEIActiveMaterial", "Composite Silicon Graphite electrode", "Source code for runSiliconGraphiteBattery", "runThermalModel", "See Also", "Solid Diffusion Models", "Thermal Simulation", "List of curated examples", "Units"], "terms": {"The": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 40], "batteri": [0, 1, 2, 3, 6, 9, 10, 12, 14, 15, 20, 21, 23, 25, 28, 30, 32, 34, 35, 39], "simul": [0, 1, 3, 5, 6, 7, 8, 10, 11, 12, 20, 23, 25, 27, 28, 30, 32, 34, 35, 36, 39], "model": [0, 3, 7, 8, 10, 12, 17, 20, 21, 23, 25, 27, 28, 30, 32, 34, 35, 36, 38, 39], "control": [0, 1, 14, 18, 20, 23, 24, 25, 26, 28, 30, 31, 32, 34, 35, 37, 38], "solid": [0, 1, 3, 5, 12, 18], "diffus": [0, 1, 3, 18, 20, 22, 23], "paramet": [0, 1, 5, 6, 9, 10, 11, 16, 18, 22, 23, 24, 25, 26, 28, 30, 38], "set": [0, 2, 5, 6, 7, 14, 15, 17, 18, 20, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 38], "unit": [0, 2, 16, 18], "thermal": [0, 1, 2, 3, 5, 12, 20, 22, 23, 24, 25, 33, 34, 35], "optimis": 0, "octav": 0, "support": [0, 5, 7, 15, 17, 36, 38, 40], "we": [1, 2, 5, 6, 7, 10, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "us": [1, 2, 5, 6, 8, 11, 12, 13, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 38, 39, 40], "multi": [1, 2, 3, 7, 12, 14], "approach": [1, 2, 14, 18, 20, 26, 27], "ar": [1, 2, 5, 6, 8, 9, 10, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 35, 37, 38, 39, 40], "organ": [1, 15], "hierarchi": [1, 2, 5, 22, 23, 26, 27], "mean": [1, 5, 7, 15, 17, 18, 19, 20, 38, 40], "given": [1, 2, 5, 6, 14, 15, 16, 17, 18, 20, 22, 23, 26, 27, 29, 30, 31, 32, 33, 34, 37, 38, 40], "can": [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40], "have": [1, 2, 5, 6, 7, 14, 15, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 32, 33, 34, 35, 37, 38], "sub": [1, 5, 6, 15, 18, 21, 31, 32, 33, 34], "A": [1, 3, 6, 7, 8, 9, 11, 15, 18, 22, 23, 25, 26, 27, 28, 29, 30, 32, 35, 38], "correspond": [1, 5, 7, 14, 15, 17, 18, 20, 21, 31, 32, 38, 40], "physic": [1, 2, 3, 5, 12, 15, 20, 23, 26, 28], "system": [1, 2, 5, 12, 17, 20, 26, 27, 28], "defin": [1, 5, 8, 15, 20, 22, 23, 24, 25, 26, 28, 33, 34], "function": [1, 2, 5, 6, 7, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 28, 29, 30, 31, 32, 33, 34, 36], "variabl": [1, 5, 15, 18, 20, 22, 23, 26, 28, 31, 32, 36], "need": [1, 2, 5, 14, 15, 18, 22, 23, 26, 27, 38], "assembl": [1, 26, 27], "discret": [1, 5, 15, 18, 20, 22, 23, 24, 25, 27, 28, 36, 37], "govern": [1, 6, 18, 26, 27], "equat": [1, 3, 5, 6, 15, 17, 18, 20, 26, 27, 28, 36, 37], "For": [1, 2, 5, 6, 12, 13, 15, 17, 18, 20, 22, 23, 33, 34, 37, 38], "lithium": [1, 3, 12, 14, 15, 22, 23, 25, 39], "ion": [1, 2, 3, 12, 14, 15, 20, 22, 23, 25, 32, 39], "top": [1, 15], "see": [1, 2, 5, 6, 7, 10, 15, 16, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37], "schema": [1, 6, 7, 18, 26, 27, 37], "descript": [1, 5, 8, 15], "standard": [1, 6, 7, 15, 17, 19, 20, 24, 25, 26, 28, 29, 30, 33, 34, 37, 38], "input": [1, 2, 5, 7, 8, 11, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 33, 38, 39], "contain": [1, 2, 5, 6, 8, 14, 15, 17, 18, 22, 23, 26, 28, 29, 30, 36], "follow": [1, 2, 5, 6, 13, 14, 17, 18, 20, 21, 22, 23, 26, 27, 31, 32, 33, 34, 36, 38, 39], "neg": [1, 2, 7, 9, 11, 15, 18, 20, 22, 23, 26, 28, 33, 34], "electrod": [1, 2, 3, 5, 7, 9, 11, 12, 14, 18, 20, 22, 23, 26, 27, 31, 32, 34, 37], "posit": [1, 2, 7, 9, 15, 18, 20, 22, 23, 26, 28], "electrolyt": [1, 2, 3, 5, 7, 9, 17, 18, 20, 22, 23, 24, 25, 26, 27, 31, 32], "separ": [1, 2, 7, 9, 14, 18, 20, 21], "thermalmodel": [1, 2, 5, 15, 16, 18, 20, 22, 23, 24, 25, 35, 38], "instanc": [1, 5, 18, 22, 23, 24, 25], "same": [1, 2, 5, 6, 7, 9, 14, 15, 18, 20, 22, 23, 26, 27, 38], "an": [1, 2, 3, 5, 6, 7, 9, 10, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 29, 30, 40], "coat": [1, 2, 4, 7, 9, 14, 18, 20, 22, 23, 24, 25, 33, 34, 38], "materi": [1, 3, 7, 8, 9, 12, 14, 18, 20, 22, 23, 25, 30, 32, 33, 34, 35, 37, 38], "current": [1, 2, 5, 6, 7, 9, 14, 17, 20, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34], "collector": [1, 2, 7, 9, 14, 20, 22, 23, 33, 34], "its": [1, 2, 5, 8, 10, 15, 18, 20, 40], "ha": [1, 2, 5, 8, 10, 12, 15, 17, 18, 20, 36], "two": [1, 2, 5, 6, 10, 14, 15, 25, 26, 27, 33, 34, 37, 38, 39], "i": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "option": [1, 15, 20, 23, 25, 28, 30, 32, 35, 37], "In": [1, 2, 3, 5, 6, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 22, 23, 37, 38, 39, 40], "particular": [1, 5, 15, 18, 20, 23, 25, 28, 30, 32, 35], "1d": [1, 7, 12, 15, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28], "fact": [1, 5, 15, 18, 20, 26, 27], "more": [1, 2, 6, 7, 14, 15, 17, 18, 19, 20, 23, 25, 28, 30, 32, 35, 39], "realist": 1, "includ": [1, 2, 5, 6, 7, 10, 12, 15, 20, 21, 22, 23, 24, 25, 26, 27, 38, 39, 40], "associ": [1, 2, 5], "three": [1, 3, 5, 20, 26, 27, 28], "which": [1, 2, 5, 6, 7, 10, 13, 14, 15, 17, 18, 20, 22, 23, 26, 27, 31, 32, 33, 34, 36, 38, 40], "compon": [1, 5, 9, 10, 15, 18, 26, 27, 38], "activ": [1, 2, 6, 7, 9, 12, 17, 18, 20, 22, 23, 24, 25, 37], "binder": [1, 18, 33, 34], "conduct": [1, 3, 17, 18, 20, 26, 27, 38], "addit": [1, 5, 18, 20, 37], "case": [1, 5, 6, 14, 15, 16, 18, 20, 24, 25, 33, 34, 40], "composit": [1, 3, 15, 34], "differ": [1, 2, 5, 7, 10, 14, 15, 17, 20, 21, 26, 28, 29, 30, 33, 34, 38], "structur": [1, 5, 6, 10, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 33, 34, 38], "describ": [1, 2, 5, 6, 7, 14, 15, 17, 18, 21, 26, 27, 37], "interfac": [1, 2, 4, 7, 8, 12, 14, 18, 20, 22, 23, 24, 25, 31, 32, 33, 34, 38], "soliddiffus": [1, 4, 14, 15, 16, 18, 20, 22, 23, 24, 25, 31, 32, 33, 34], "enter": [1, 5, 15], "reaction": [1, 5, 15, 26, 27], "butler": [1, 3, 15, 20], "volmer": [1, 3, 15, 20], "solv": [1, 5, 6, 18, 19, 20, 26, 27, 28, 37], "implement": [1, 6, 7, 15, 17, 18, 26, 27, 28, 37], "here": [1, 2, 4, 5, 6, 7, 9, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 36, 37, 38, 40], "do": [1, 2, 6, 7, 8, 10, 14, 15, 18, 19, 20, 22, 23, 26, 28, 29, 30, 33, 34, 38, 40], "detail": [1, 2, 7, 8, 10, 13, 14, 18, 20, 23, 25, 26, 27, 28, 30, 32, 35], "exampl": [1, 2, 6, 7, 8, 11, 13, 14, 15, 17, 18, 22, 23, 24, 25, 26, 27, 30, 31, 32, 35, 38, 40], "fulli": [1, 12, 17, 18], "coupl": [1, 5, 7, 12, 15, 20, 26, 27, 35, 38], "present": [1, 5, 15, 16, 20], "thi": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 37, 39, 40], "section": [2, 8, 9, 10, 11, 14, 15, 18], "still": [2, 8, 10, 20], "under": [2, 8, 12, 15, 20, 23, 25, 28, 30, 32, 35], "develop": [2, 3, 5, 8, 12, 19, 20, 36], "introduc": [2, 5, 20], "some": [2, 5, 6, 7, 8, 10, 11, 15, 19, 20, 22, 23, 24, 25, 31, 32, 33, 34, 40], "simpl": [2, 15, 20, 24, 25, 26, 27, 38], "workflow": [2, 20], "highlight": 2, "import": [2, 5, 17, 18, 20, 25, 32, 34], "let": [2, 5, 6, 14, 18, 38], "": [2, 3, 5, 12, 14, 20, 24, 25, 35, 37, 38], "make": [2, 5, 15, 17, 18, 19, 20, 22, 23, 40], "your": [2, 8, 12, 13, 17, 18, 23, 25, 28, 30, 32, 35], "build": [2, 5, 12, 14, 26, 27], "visual": [2, 5, 7, 8, 19, 28, 38], "p2d": [2, 8, 20, 25, 39], "simult": 2, "li": [2, 3, 12, 14, 20, 25, 32], "cell": [2, 3, 5, 8, 9, 10, 11, 12, 14, 15, 18, 20, 22, 23, 25, 26, 27, 28, 29, 30, 32, 38, 39], "how": [2, 5, 6, 10, 14, 18, 20, 22, 23, 24, 25], "handl": [2, 15, 20], "final": [2, 5, 17, 18, 20, 22, 23, 35], "discuss": [2, 20], "json": [2, 7, 10, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 37, 38, 39], "manag": [2, 12, 17], "allow": [2, 12, 14], "you": [2, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23, 25, 28, 30, 32, 35, 36, 40], "easili": [2, 5, 8, 15], "save": [2, 15, 20], "document": [2, 12, 15, 36], "share": [2, 5, 26, 27], "complet": [2, 5, 6, 20, 22, 24, 26, 29, 31, 33], "from": [2, 5, 6, 7, 10, 12, 14, 15, 17, 18, 20, 22, 23, 25, 26, 27, 28, 29, 30, 32, 34, 38], "specif": [2, 5, 8, 9, 14, 18, 22, 23, 26, 28, 29, 30, 38], "long": 2, "explicit": [2, 5, 15, 18], "kei": [2, 7, 15, 20], "name": [2, 5, 6, 7, 15, 18, 20, 21, 22, 23, 24, 25, 39], "good": [2, 20, 37], "readabl": [2, 26, 27], "If": [2, 5, 15, 20, 23, 25, 28, 30, 32, 35, 39, 40], "new": [2, 5, 20, 33, 34, 36], "learn": 2, "about": [2, 5, 14, 20, 22, 23], "avail": [2, 5, 6, 7, 10, 15, 17, 18, 20, 21, 22, 23], "provid": [2, 5, 6, 7, 8, 12, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 40], "sampl": [2, 6], "file": [2, 7, 10, 15, 16, 17, 18, 21, 22, 23, 25, 26, 28, 30, 32, 33, 34, 35, 40], "sample_input": [2, 6, 18], "nmc": [2, 14, 20], "graphit": [2, 4, 14, 20, 34], "load": [2, 6, 9, 15, 17, 20, 22, 23, 24, 25, 28, 30, 31, 32, 33, 34], "pars": [2, 14, 18, 22, 23], "command": [2, 13, 17, 18, 29, 30], "jsonstruct": [2, 6, 14, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 40], "parsebattmojson": [2, 6, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38], "jsondatafil": [2, 6, 14, 18, 20, 29, 30, 35, 38], "transform": 2, "data": [2, 7, 8, 14, 15, 17, 18, 19, 20, 21, 26, 27, 31, 32, 33, 34, 39], "matlab": [2, 5, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 29, 30], "setup": [2, 6, 7, 10, 13, 18, 20, 22, 23, 25, 27, 28, 29, 30, 32, 34, 35, 38], "within": [2, 5, 8, 9, 14, 17, 18], "window": [2, 13, 17, 18], "navig": [2, 13], "level": [2, 5, 12, 15, 18, 22, 23, 26, 27], "want": [2, 5, 6, 15, 20, 22, 23], "know": [2, 5, 6, 15, 18, 22, 23], "thick": [2, 9, 10, 15, 16, 31, 32], "give": [2, 5, 6, 8, 11, 15, 17, 20, 38], "negativeelectrod": [2, 4, 7, 14, 15, 16, 18, 20, 22, 23, 24, 25, 31, 32, 33, 34], "return": [2, 5, 15, 17, 18, 19, 20, 24, 25, 40], "6": [2, 3, 15, 16, 17, 40], "4000e": 2, "05": [2, 16, 18, 20, 31, 32, 40], "unless": 2, "otherwis": [2, 15, 21, 24, 25], "specifi": [2, 15, 18, 20, 23], "si": [2, 18, 40], "base": [2, 3, 5, 7, 8, 12, 20, 22, 23, 33, 34, 36], "quantiti": [2, 12, 18, 20, 26, 28, 38], "runbatteryjson": [2, 14, 20, 29, 30, 35, 38], "main": [2, 7, 15, 26, 27], "plotdashboard": 2, "time": [2, 5, 6, 14, 17, 18, 19, 20, 22, 23, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 37, 38], "10": [2, 3, 4, 7, 15, 16, 17, 20, 24, 25, 26, 28, 31, 32, 33, 34], "solut": [2, 3, 12, 14, 15, 18, 19, 37], "timestep": [2, 6, 15, 16, 17, 20, 22, 23, 24, 25, 29, 30], "left": [2, 5, 20], "3": [2, 3, 4, 6, 7, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 40], "column": [2, 5, 20], "profil": [2, 12, 20, 31, 32, 37], "concentr": [2, 5, 9, 12, 14, 15, 16, 22, 23, 26, 27, 28, 31, 32, 37], "electr": [2, 12, 31, 32], "potenti": [2, 5, 6, 12, 15, 20, 24, 25, 31, 32], "rightmost": 2, "calcul": [2, 8, 12, 20, 22, 23, 24, 25, 40], "voltag": [2, 6, 12, 15, 17, 18, 20, 22, 23, 25, 26, 28, 29, 30, 33, 34, 35], "subsect": 2, "access": [2, 5, 8, 18, 22, 23, 26, 27, 38], "among": [2, 11], "other": [2, 5, 12, 15, 16, 17, 18, 20, 22, 23], "thing": [2, 22, 23, 29, 30, 40], "1x1": [2, 18], "struct": [2, 6, 20, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34, 40], "inform": [2, 5, 12, 15, 20, 22, 23, 33, 34], "initi": [2, 6, 12, 15, 18, 20, 23, 25, 27, 28, 32, 34, 37], "condit": [2, 15, 18, 28], "while": [2, 15, 26, 27], "each": [2, 5, 6, 15, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 37, 38], "requir": [2, 5, 6, 15, 18, 19, 20, 22, 23, 25, 32, 34], "e": [2, 3, 5, 14, 15, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 40], "what": [2, 20], "where": [2, 5, 6, 10, 13, 14, 15, 17, 18, 20, 22, 23, 26, 27, 29, 30, 38], "valu": [2, 5, 6, 10, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38, 40], "mesh": [2, 7, 33, 34], "one": [2, 5, 7, 10, 13, 14, 15, 20, 22, 23, 26, 27, 35, 38], "most": [2, 5, 6, 14, 18, 20], "properti": [2, 5, 6, 14, 15, 17, 20, 22, 23, 25, 26, 28, 30, 32, 34, 35, 38], "store": [2, 5, 22, 23, 24, 25, 26, 28], "face": [2, 5, 7, 35, 38], "node": [2, 5], "etc": [2, 40], "g": [2, 18, 20, 26, 28, 35, 38], "centroid": [2, 26, 28], "To": [2, 5, 7, 15, 17, 18, 20, 22, 23, 29, 30, 38], "x": [2, 7, 12, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34], "zero": [2, 5, 6, 15, 20, 38], "size": [2, 6, 22, 23, 26, 27], "o": [2, 3], "xlabel": [2, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38], "m": [2, 3, 5, 9, 22, 24, 26, 29, 31, 32, 33, 35, 38], "overal": [2, 5, 6, 14, 15, 37], "howev": [2, 14, 15, 18, 19, 40], "modular": [2, 14], "compos": [2, 5, 15], "smaller": [2, 20], "submodel": [2, 5, 15, 18, 22, 23, 24, 25, 26, 28], "own": [2, 5, 8, 19], "color": [2, 10, 26, 28], "x_ne": 2, "x_sep": 2, "x_pe": 2, "positiveelectrod": [2, 7, 14, 15, 16, 18, 20, 22, 23, 24, 25, 31, 32, 33, 34], "hold": [2, 20, 22, 23, 26, 28, 31, 32, 33, 34, 35, 38], "ok": 2, "would": [2, 5, 10, 13, 14, 18], "like": [2, 5, 8, 10, 11, 12, 13, 14, 19, 20], "pleas": [2, 12], "architectur": [2, 18, 24, 25], "arrai": [2, 5, 6, 15, 18, 22, 23], "entri": 2, "look": [2, 5, 6, 14, 18, 20, 26, 27, 38], "shown": [2, 14, 18, 20, 40], "abov": [2, 5, 6, 15, 17, 18, 20, 26, 27, 31, 32], "1": [2, 3, 4, 5, 6, 7, 9, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 40], "504": 2, "second": [2, 6, 10], "c": [2, 3, 5, 17, 18, 22, 23, 25, 31, 32, 35, 38], "30": [2, 7, 20, 24, 25], "doubl": [2, 3, 18], "phi": [2, 17], "vector": [2, 20, 22, 23, 35, 38], "match": [2, 14, 18, 20, 37], "wai": [2, 5, 6, 15, 17, 22, 23, 26, 27, 38], "ylabel": [2, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38], "mol": [2, 5, 14, 16, 26, 27, 28, 31, 32, 40], "cdot": [2, 5], "also": [2, 5, 6, 7, 10, 13, 14, 15, 18, 19, 20, 22, 23, 26, 27, 31, 32, 37, 40], "dedic": [2, 15, 18, 36], "come": [2, 5, 22, 23, 26, 27, 31, 32], "handi": 2, "when": [2, 5, 6, 8, 10, 14, 15, 17, 18, 20, 22, 23, 29, 30, 40], "start": [2, 5, 6, 13, 15, 20, 22, 23, 30, 33, 34], "work": [2, 18, 40], "complex": [2, 5, 12, 14, 26, 27], "p4d": 2, "gener": [2, 5, 6, 7, 12, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36], "plotcelldata": [2, 14, 35, 38], "That": [2, 14], "post": [2, 15], "process": [2, 3, 5, 6, 14, 15, 18, 25, 26, 27, 38], "But": [2, 5, 17], "lot": [2, 38], "excit": 2, "featur": [2, 8], "discov": [2, 5], "keep": [2, 5, 6, 15], "go": [2, 5, 6, 17], "chage": 2, "try": 2, "discharg": [2, 3, 6, 15, 18, 20, 24, 25, 34, 37, 38], "rate": [2, 5, 15, 25, 31, 32], "onc": [2, 5, 17, 22, 23, 26, 27], "been": [2, 5, 15, 18, 22, 23, 33, 34, 36, 37], "read": [2, 5, 15, 26, 28], "modifi": [2, 5, 15, 23, 25, 28, 30, 32, 35], "programmat": 2, "loop": [2, 5], "replac": [2, 5, 6, 17], "re": [2, 12, 14], "crate": [2, 6, 15, 18, 20, 22, 23, 24, 25, 29, 30, 33, 34], "0": [2, 4, 5, 6, 7, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 38, 40], "5": [2, 6, 7, 10, 14, 16, 17, 20, 22, 23, 26, 28, 31, 32], "2": [2, 3, 5, 6, 7, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38], "figur": [2, 6, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38], "numel": [2, 20, 22, 23, 26, 28, 31, 32, 33, 34], "cellfun": [2, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38], "hour": [2, 17, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 38], "linewidth": [2, 17], "end": [2, 5, 18, 20, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34, 35, 38], "off": [2, 5, 22, 23], "comparison": [2, 3, 39], "curv": [2, 20, 23, 26, 28, 37, 38], "now": [2, 5, 6, 14, 17, 18, 20, 22, 23, 24, 25, 33, 34], "could": [2, 15, 17, 20, 33, 34], "consid": [2, 5, 14, 15, 16, 26, 27, 28, 33, 34, 37], "take": [2, 5, 14, 15, 17, 18, 19, 20, 22, 23, 29, 30, 38], "previou": [2, 5, 15, 18], "iter": [2, 5, 6, 15, 20, 24, 25, 26, 28, 33, 34], "through": [2, 5, 13, 15, 21, 38], "16": [2, 7, 22, 23, 33, 34], "32": 2, "48": 2, "64": [2, 7], "1e": [2, 4, 6, 15, 16, 17, 20, 24, 25, 31, 32, 33, 34], "thin": [2, 38], "capac": [2, 6, 8, 9, 15, 18, 25, 38], "limit": [2, 6, 9, 15, 20], "increas": [2, 6, 11, 15, 26, 27, 28], "eventu": 2, "becom": [2, 5], "collect": [2, 22, 23, 29, 30], "scientif": [2, 19], "literatur": [2, 10], "lfp": 2, "clear": [2, 18, 20, 22, 23, 24, 25, 31, 32], "workspac": [2, 20, 24, 25, 31, 32], "reload": 2, "origin": [2, 5, 20], "clean": 2, "slate": 2, "all": [2, 5, 6, 7, 16, 18, 20, 22, 23, 24, 25, 26, 27, 28, 31, 32, 38, 40], "close": [2, 5, 17, 20, 22, 23, 24, 25, 31, 32], "librari": 2, "move": 2, "right": [2, 5, 15, 20], "place": [2, 5, 14, 15], "parameterdata": [2, 4, 14, 20, 21, 22, 23, 24, 25, 29, 30, 31, 32, 33, 34, 35, 38], "materialproperti": [2, 4, 14, 21], "jsonstruct_lfp": 2, "activemateri": [2, 14, 15, 16, 18, 20, 22, 23, 24, 25, 31, 32, 33, 34], "merg": [2, 14, 29, 30, 33, 34, 38], "our": [2, 5, 6, 7, 12, 14, 17, 18, 20, 33, 34, 38], "exist": [2, 5, 15], "mergejsonstruct": [2, 15, 20, 29, 30, 33, 34, 35, 38], "sure": [2, 15, 18, 20, 22, 23, 40], "consist": [2, 5, 15, 18, 22, 23, 26, 27, 38], "across": 2, "densiti": [2, 4, 5, 9, 14, 15, 16, 18, 20, 40], "effectivedens": [2, 15, 16], "900": 2, "And": 2, "written": [2, 5, 15, 17], "publish": [2, 23, 25, 28, 30, 32, 35, 39], "live": 2, "code": [2, 5, 14, 17, 18, 20, 22, 24, 26, 27, 29, 31, 33, 40], "format": [2, 10, 24, 25, 26, 27], "mlx": 2, "thei": [2, 5, 14, 15, 18, 20, 21, 26, 27, 38, 39, 40], "interact": [2, 5], "manner": [2, 18], "found": [2, 5, 6, 10, 11, 20, 22, 23, 24, 26, 29, 31, 33, 39, 40], "directori": [2, 13, 15, 17, 21, 39], "download": [2, 8], "tutori": [2, 12, 14, 20, 23, 39], "view": [2, 22, 23, 35, 38], "protocol": 2, "4": [2, 6, 7, 16, 17, 18, 20, 24, 25, 29, 30, 31, 32, 33, 34], "cc": [2, 6, 15, 20, 22, 23, 24, 25], "cv": 2, "cycl": [2, 6, 20], "perform": [2, 3, 12, 14, 20], "7": [2, 3, 7, 20], "8": [2, 3, 4, 17], "layer": [2, 14, 15, 18, 26, 27, 32, 39], "pouch": [2, 7, 15], "9": [2, 7, 15, 20, 33, 34], "cylindr": 2, "congratul": 2, "familiar": 2, "should": [2, 5, 11, 15, 17, 18, 19, 20, 23, 25, 28, 30, 32, 35, 39], "enough": [2, 7, 18], "advanc": [2, 3, 11, 12, 18], "up": [2, 5, 6, 7, 17, 20, 23, 24, 25, 26, 27, 30], "custom": 2, "p3d": 2, "effect": [2, 3, 5, 9, 14, 15, 18, 20, 22, 23, 35, 38], "bsh": 3, "22": 3, "linda": 3, "j": [3, 5, 26, 28], "bolai": [3, 15], "tobia": 3, "schmitt": 3, "simon": 3, "hein": 3, "omar": 3, "mendoza": 3, "hernandez": 3, "eiji": 3, "hosono": 3, "daisuk": 3, "asakura": 3, "koichi": 3, "kinoshita": 3, "hirofumi": 3, "matsuda": 3, "minoru": 3, "umeda": 3, "yoshitsugu": 3, "sone": 3, "arnulf": 3, "latz": 3, "birger": 3, "horstmann": 3, "microstructur": 3, "resolv": [3, 11], "degrad": 3, "space": [3, 5, 7, 12, 15, 20, 26, 27], "applic": [3, 8, 10], "journal": 3, "power": [3, 12, 20], "sourc": [3, 5, 6, 7, 12, 14, 15, 19, 20, 22, 24, 26, 27, 29, 31, 33, 36], "14": [3, 4, 16, 26, 28], "100083": 3, "2022": [3, 15], "doi": 3, "1016": 3, "powera": 3, "cporegan": [3, 21, 37], "20": [3, 7, 14, 21, 24, 25, 35, 37], "chang": [3, 5, 6, 10, 18, 20, 22, 23, 24, 25, 33, 34, 35], "hui": 3, "chen": [3, 21, 37, 39], "ferran": 3, "planella": 3, "kieran": 3, "regan": 3, "dominika": 3, "gastol": 3, "dhammika": 3, "widanagea": 3, "emma": 3, "kendrick": 3, "experiment": [3, 20], "techniqu": 3, "parameter": [3, 7, 15, 18, 20], "scale": [3, 5, 7, 12, 14, 20], "electrochem": [3, 12, 14, 15], "societi": 3, "167": 3, "080534": 3, "2020": [3, 12, 15, 21], "1149": 3, "1945": 3, "7111": 3, "ab9050": 3, "dfn93": [3, 37], "marc": 3, "doyl": [3, 12], "thoma": 3, "f": [3, 9], "fuller": [3, 12, 37], "john": 3, "newman": [3, 12, 37], "galvanostat": 3, "charg": [3, 5, 6, 15, 18, 23, 26, 27, 34], "polym": 3, "insert": 3, "140": 3, "1526": 3, "1533": 3, "june": 3, "1993": 3, "url": 3, "http": [3, 8, 12, 13, 15, 23, 25, 28, 30, 32, 35], "dx": 3, "org": [3, 15, 23, 25, 28, 30, 32, 35], "2221597": 3, "gbk": [3, 26, 27], "23": [3, 26, 27], "michael": 3, "robert": 3, "gerhardt": 3, "alejandro": 3, "barnett": 3, "thulil": 3, "khoza": 3, "patrick": 3, "fortin": 3, "sara": 3, "andrenacci": 3, "alaa": 3, "y": [3, 7], "faid": 3, "p": [3, 18, 20], "\u00e5": 3, "l": [3, 7, 18, 31, 32], "emil": 3, "england": 3, "karstensen": 3, "svein": 3, "sund": 3, "clark": 3, "open": [3, 5, 10, 12, 13, 15, 19, 20, 24, 25, 31, 32, 36], "continuum": [3, 12], "anion": 3, "exchang": [3, 5, 15, 20, 26, 27, 38], "membran": [3, 27, 28, 39], "water": [3, 26, 27], "electrolysi": [3, 26, 27], "meet": 3, "abstract": 3, "243": 3, "number": [3, 5, 6, 9, 11, 12, 15, 20, 24, 25, 33, 34], "36": 3, "2002": 3, "inc": 3, "2023": [3, 30], "lz13": [3, 18], "jochen": 3, "zausch": 3, "thermodynam": 3, "deriv": [3, 6, 17, 20, 26, 27], "intercal": 3, "electrochimica": 3, "acta": 3, "110": 3, "358": 3, "362": 3, "nov": 3, "2013": 3, "electacta": 3, "06": [3, 4, 16, 20], "043": 3, "lz16": [3, 18], "multiscal": 3, "aspect": 3, "jul": 3, "2016": 3, "1515": 3, "nano": [3, 31, 32], "bjneah": 3, "102": 3, "lzi11": [3, 18], "oleg": 3, "iliev": 3, "speci": [3, 5, 15, 16], "transport": [3, 15, 18, 26, 27], "non": [3, 5, 6, 15, 18, 27, 28, 32], "equilibrium": [3, 15, 18, 22, 23], "numer": [3, 12, 15, 20, 22, 23], "method": [3, 5, 6, 17, 18, 20, 22, 23, 24, 25, 26, 28, 33, 34, 37], "page": [3, 10, 15, 16], "329": 3, "337": 3, "springer": 3, "berlin": 3, "heidelberg": 3, "2011": 3, "1007": 3, "978": 3, "642": 3, "18466": 3, "6_39": 3, "smtd09": [3, 21], "safari": [3, 15, 21], "morcrett": 3, "teyssot": 3, "delacourt": 3, "multimod": 3, "ag": 3, "life": [3, 22, 23], "predict": 3, "156": 3, "a145": 3, "2009": [3, 15, 21], "3043429": 3, "sgw19": 3, "lauren": 3, "n": [3, 4, 6, 9, 15, 16, 18, 20, 22, 23, 26, 28, 31, 32, 33, 34], "stanislaw": 3, "r": [3, 5, 20, 31, 32], "adam": 3, "z": [3, 7], "weber": 3, "electrolyz": [3, 12], "ec": 3, "transact": 3, "92": [3, 4], "767": 3, "2019": 3, "vst": 3, "19": 3, "einar": 3, "v\u00f8llestad": 3, "ragnar": 3, "strandbakk": 3, "mateusz": 3, "tarach": 3, "david": 3, "catal\u00e1n": 3, "mart\u00ednez": 3, "mari": 3, "laur": 3, "fontain": 3, "dustin": 3, "beeaff": 3, "daniel": 3, "jose": 3, "serra": 3, "trul": 3, "norbi": 3, "mix": [3, 14], "proton": 3, "electron": [3, 9, 15, 18, 20], "perovskit": 3, "anod": [3, 20], "stabl": 3, "effici": [3, 12, 20], "tubular": 3, "ceram": 3, "electrolys": [3, 27, 28, 39], "natur": 3, "18": [3, 7, 22, 23, 33, 34], "752": 3, "759": 3, "1038": 3, "s41563": 3, "019": 3, "0388": 3, "xzw": 3, "15": [3, 4, 7, 16, 22, 23, 26, 28, 31, 32, 35], "meng": 3, "xu": [3, 21], "zhuqian": 3, "zhang": 3, "xia": 3, "wang": 3, "jia": 3, "lixin": 3, "yang": 3, "pseudo": [3, 14, 25, 37, 39], "dimension": [3, 14, 25, 26, 27, 39], "prismat": 3, "lifepo4": 3, "dure": [3, 20, 22, 23], "energi": [3, 5, 12, 15, 18, 20, 23, 25, 28, 30, 32, 35], "80": [3, 7, 20], "303": 3, "317": 3, "2015": [3, 21], "2014": 3, "11": [3, 14, 16, 20], "073": 3, "zw07a": 3, "qi": 3, "ralph": 3, "white": 3, "approxim": [3, 20, 37], "phase": [3, 15, 26, 27, 37], "porou": [3, 15, 26, 27], "165": 3, "880": 3, "886": 3, "2007": 3, "jpowsour": 3, "2006": 3, "12": [3, 15, 20], "056": 3, "zw07b": [3, 37], "march": 3, "part": [4, 5, 7, 15, 20, 21, 22, 23, 25, 26, 27, 28, 30, 32, 35, 37], "silicon": [4, 34], "activematerialmodelsetup": [4, 15], "true": [4, 6, 14, 15, 16, 17, 20, 24, 25, 26, 28, 31, 32, 33, 34, 35, 38], "activematerial1": [4, 15, 33, 34], "specificheatcapac": [4, 15, 16, 18], "632": [4, 16, 18], "heatcapac": 4, "632000": 4, "thermalconduct": [4, 15, 16, 18], "04": [4, 16], "electronicconduct": [4, 15, 16, 18], "100": [4, 7, 15, 16, 18, 26, 28, 31, 32, 33, 34, 35, 38], "massfract": [4, 15, 16, 18, 33, 34], "2240": [4, 14, 16, 18], "isfil": [4, 14, 15, 16], "filenam": [4, 14, 16], "diffusionmodeltyp": [4, 15, 16, 20, 22, 23, 37], "full": [4, 5, 16, 17, 22, 23, 37, 40], "activationenergyofdiffus": [4, 15, 16], "5000": [4, 14, 16], "referencediffusioncoeffici": [4, 15, 16], "9e": [4, 16], "particleradiu": [4, 15, 16, 31, 32], "activematerial2": [4, 15, 33, 34], "08": [4, 33, 34], "2330": 4, "6e": 4, "essenti": [5, 7, 12, 15, 36], "identifi": [5, 15], "depend": [5, 10, 13, 15, 18, 20, 38], "implicit": [5, 18, 26, 27], "directli": [5, 15, 17, 18, 21, 40], "evalu": [5, 15, 20], "doe": [5, 18, 20], "form": [5, 10, 15, 20, 33, 34], "relationship": 5, "between": [5, 7, 15, 20, 26, 27, 37], "purpos": [5, 23, 25, 28, 30, 32, 35, 40], "ad": [5, 15, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34], "linear": [5, 6, 15, 18, 20, 27, 28, 32], "step": [5, 6, 14, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 31, 32, 34, 38], "evolut": [5, 26, 27], "problem": [5, 6, 17, 18, 20], "direct": [5, 7, 14, 15, 18, 24, 25, 37], "edg": 5, "repres": [5, 9, 37], "computationalgraphtool": 5, "class": [5, 7, 17, 20, 22, 23, 24, 25, 33, 34], "serv": [5, 17], "tool": [5, 7], "manipul": 5, "explor": [5, 12, 14], "run": [5, 6, 13, 15, 18, 19, 20, 23, 25, 27, 28, 29, 30, 32, 34, 35, 38, 39], "help": [5, 30], "below": [5, 6, 14, 15, 17, 18, 20, 22, 23, 26, 27, 40], "automat": [5, 20, 26, 27, 28, 36, 40], "unknown": [5, 24, 25], "call": [5, 6, 17, 18, 20, 22, 23], "primari": [5, 22, 23, 26, 28], "root": [5, 17], "locat": [5, 14, 15, 20, 22, 23, 37], "tail": 5, "equal": [5, 6, 15, 35, 38], "order": [5, 10, 11, 17], "updat": [5, 20, 22, 23, 24, 25, 33, 34], "intermedi": [5, 26, 28], "indirectli": 5, "definit": [5, 14, 15, 18], "u": [5, 6, 14, 18, 22, 23, 26, 27, 38, 39], "begin": [5, 20, 37], "align": 5, "alpha": [5, 15], "frac": [5, 6, 9], "eta": 5, "rt": 5, "k": [5, 20, 38], "c_": [5, 9], "c_e": 5, "frac12": 5, "phi_": 5, "phi_e": 5, "text": 5, "ocp": [5, 15, 23, 31, 32], "hat": 5, "seven": 5, "obtain": [5, 6, 14, 15, 18, 20, 29, 30, 38], "battmo": [5, 6, 10, 12, 13, 14, 15, 18, 19, 20, 23, 25, 26, 27, 28, 30, 32, 35, 36, 37, 38, 39], "after": [5, 10, 20, 37, 39], "explain": [5, 10, 22, 23], "later": [5, 15, 20, 23, 25, 28, 30, 32, 35], "done": [5, 8, 9, 15, 17, 18, 20, 38], "impati": 5, "acycl": 5, "thu": [5, 18, 19], "onli": [5, 7, 15, 17, 18, 19, 20, 26, 27, 28, 37, 38], "travers": 5, "alwai": [5, 15, 18], "opposit": [5, 6], "without": [5, 14, 16, 17, 20, 23, 25, 28, 30, 32, 35, 40], "ani": [5, 17, 23, 25, 26, 27, 28, 30, 32, 35], "extern": [5, 15, 35, 38], "expect": [5, 17], "rare": 5, "context": 5, "Then": [5, 6, 10, 13, 15, 18, 19, 20, 38], "scalar": 5, "mayb": 5, "incom": 5, "output": [5, 7, 14, 18, 20, 22, 23, 25, 29, 30, 33, 34, 35, 38], "argument": [5, 15, 18], "connect": 5, "motiv": [5, 26, 27], "suuch": 5, "represent": 5, "express": [5, 17], "It": [5, 6, 8, 12, 14, 15, 17, 18, 19, 20, 22, 23, 38], "synthet": 5, "overview": [5, 10, 18], "Of": 5, "cours": 5, "precis": 5, "visibl": [5, 11], "encod": 5, "chosen": [5, 22, 23, 38], "user": [5, 8, 10, 15, 17, 18, 19, 24, 25, 36, 40], "becaus": [5, 17, 20], "them": [5, 6, 10, 18, 20, 26, 27], "insight": 5, "preserv": 5, "especi": 5, "expand": [5, 10], "meaningful": 5, "expert": 5, "domain": [5, 12, 15, 26, 28, 38], "over": [5, 26, 28], "circuit": [5, 15], "inspect": [5, 22, 23], "first": [5, 6, 7, 10, 14, 17, 18, 20, 22, 23, 29, 30, 38], "recogn": [5, 15, 18], "him": 5, "expertis": 5, "terminologi": 5, "electrochemistri": 5, "bring": [5, 15], "flexibl": [5, 12, 17], "reusabl": 5, "who": 5, "typic": [5, 6, 15, 18, 38], "interest": [5, 14, 20], "reus": [5, 17], "understand": [5, 12], "mai": [5, 6, 14, 15, 17, 19, 20], "obei": 5, "ideal": 5, "tabul": [5, 15, 17], "Such": 5, "belong": [5, 9, 20, 33, 34], "mention": [5, 15, 18, 26, 27], "earlier": [5, 18, 33, 34], "continu": [5, 6], "temperatur": [5, 12, 15, 16, 18, 22, 23, 31, 32, 35, 38], "t": [5, 6, 8, 14, 15, 17, 22, 23, 24, 25, 31, 32, 35, 38], "least": [5, 20], "heat": [5, 15, 35, 38], "t_t": 5, "nabla": 5, "lambda": 5, "q": [5, 9], "write": [5, 14, 20, 39, 40], "oper": [5, 15, 18, 20, 22, 23, 24, 25, 26, 27, 36], "div": 5, "grad": 5, "denot": 5, "differenti": [5, 18, 20, 26, 27, 36], "accumterm": 5, "delta": [5, 31, 32], "flux": 5, "sourceterm": 5, "energycon": 5, "illustr": [5, 7, 20, 26, 27], "combin": [5, 14, 20, 24, 25], "produc": [5, 7, 18, 26, 28, 37], "chemic": [5, 15], "either": [5, 15, 17, 18, 23, 25, 28, 30, 32, 35], "back": [5, 20], "With": [5, 17], "find": [5, 9, 14, 15, 18, 20, 22, 23, 36], "conserv": [5, 18, 26, 27], "priori": 5, "well": [5, 20], "pose": 5, "At": [5, 6, 8, 15, 20], "stage": 5, "detect": 5, "proce": [5, 18], "conclud": 5, "were": 5, "kept": 5, "constant": [5, 6, 9, 15, 20], "infinit": 5, "reservoir": [5, 12, 36], "evolv": 5, "accordingli": 5, "dc_": 5, "dt": [5, 6, 20, 26, 28, 31, 32, 33, 34], "r_": 5, "dc_r": 5, "r_e": 5, "hand": 5, "side": [5, 15], "stoichiometri": [5, 9, 15], "grap": 5, "masssaccum": 5, "masscon": 5, "te": 5, "issu": [5, 11, 15, 17, 19, 29, 30], "duplic": 5, "add": [5, 15, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34], "indic": [5, 6, 11, 15], "notat": 5, "cannot": 5, "robustli": 5, "larg": [5, 20, 37], "instead": [5, 20], "wa": [5, 26, 27], "alreadi": [5, 15, 22, 23, 24, 25], "elyt": [5, 20, 22, 23, 24, 25, 31, 32], "note": [5, 14, 20, 33, 34], "difficult": 5, "harder": 5, "grow": 5, "known": 5, "mass": [5, 8, 9, 15, 18, 26, 27, 33, 34], "sew": 5, "togeth": [5, 10, 22, 23], "parent": [5, 33, 34], "child": 5, "few": [5, 20], "decompos": 5, "claim": 5, "decomposit": 5, "break": 5, "newton": [5, 15, 18, 26, 27, 36], "instanti": [5, 18, 20, 22, 23, 34], "infer": 5, "rel": [5, 15, 20, 33, 34], "dependenci": 5, "jacobian": 5, "residu": [5, 17, 18], "matrix": 5, "sent": 5, "solver": [5, 12, 17, 18, 19, 20, 22, 23, 25, 28, 32, 34, 36], "until": [5, 6, 11, 15, 17, 20], "converg": [5, 15, 20], "automatis": 5, "so": [5, 6, 18, 20, 38], "focu": 5, "further": [5, 15, 17], "framework": [5, 12], "review": [5, 6], "goal": 5, "readibl": 5, "reusabililti": 5, "abl": 5, "easi": [5, 8, 20, 36], "impli": [5, 23, 25, 28, 30, 32, 35], "modif": [5, 26, 28], "unchang": 5, "untouch": 5, "determin": [5, 6, 15, 20], "index": [5, 6, 35, 38], "pair": [5, 40], "intern": [5, 18], "string": [5, 15, 17, 26, 28, 40], "suppos": 5, "choos": [5, 6, 10, 15, 25, 37], "those": [5, 7, 15, 18, 19, 26, 28, 38], "carefulli": 5, "enhanc": 5, "sinc": [5, 20], "independ": [5, 26, 27], "deal": [5, 15, 36], "mechan": [5, 14, 15], "frequent": 5, "concencentr": 5, "get": [5, 15, 18, 20, 22, 23, 26, 27, 28], "impract": 5, "rather": 5, "map": [5, 12], "conveni": [5, 10, 15, 18, 20, 21], "varnam": 5, "classdef": 5, "namespac": 5, "dim": 5, "integ": [5, 15], "uniqu": 5, "creat": [5, 6, 7, 14, 15, 17, 22, 23, 35, 38], "assign": [5, 20, 31, 32], "modul": [5, 20, 22, 23, 25, 28, 29, 30, 32, 34], "program": [5, 12, 19, 20], "languag": [5, 19], "python": [5, 20], "julia": [5, 8, 12], "distinguish": 5, "construct": [5, 7, 15, 18, 20], "moment": [5, 8, 15, 17, 20], "basemodel": 5, "gradual": [5, 6], "useful": [5, 36], "registervarandpropfuncnam": 5, "declar": 5, "dynam": [5, 12], "varnamelist": 5, "propertyfunctionlist": 5, "accumul": 5, "term": [5, 22, 23, 25, 26, 27, 28, 30, 32, 35], "registervarnam": 5, "list": [5, 7, 15, 17, 18, 21, 26, 27, 40], "singl": [5, 14, 16, 18], "syntax": [5, 15, 17, 19], "sugar": 5, "convert": [5, 18], "lighten": 5, "sever": [5, 9, 10, 17, 20], "act": 5, "setupcomputationalgraph": 5, "cgt": [5, 24, 25], "computationalgraph": [5, 24, 25], "shortcut": [5, 26, 28, 34], "last": [5, 7, 31, 32, 33, 34, 37, 38], "line": [5, 10, 14, 18, 22, 23], "popul": 5, "printvarnam": 5, "print": [5, 18, 20], "regist": [5, 17], "similari": 5, "reactionmodel": 5, "carrier": 5, "surfac": [5, 14, 15, 18, 20, 31, 32], "v": [5, 9, 18, 20, 22, 23, 24, 25, 29, 30, 31, 32, 33, 34, 35], "coeffici": [5, 15, 18, 20, 35, 38], "As": [5, 6, 11, 15, 20], "reactionthermalmodel": 5, "observ": [5, 37], "both": [5, 14, 17, 20, 22, 23], "prevent": 5, "ambigu": 5, "join": 5, "dot": 5, "delimit": 5, "front": [5, 33, 34], "propfunct": 5, "inputvarnam": 5, "modelnamespac": 5, "fn": [5, 20], "handler": 5, "functioncallsetupfn": 5, "tell": [5, 39], "updateflux": 5, "registerpropfunct": 5, "updateaccumterm": 5, "updateenergycon": 5, "inputnam": 5, "offer": [5, 12], "veri": [5, 8, 15, 17, 20, 38], "concis": 5, "did": [5, 10], "varnnam": 5, "computationalgraphplot": 5, "result": [5, 6, 8, 17, 20, 23, 27, 28, 38], "cgp": 5, "stand": [5, 31, 32], "plot": [5, 10, 14, 17, 19, 20, 23, 24, 25, 28, 30, 32, 33, 34, 35, 37, 38], "printorderedfunctioncalllist": 5, "sequenc": 5, "examplifi": 5, "state": [5, 6, 12, 14, 15, 17, 18, 20, 23, 25, 26, 28, 29, 30, 32, 34, 35, 38], "similarli": 5, "sake": [5, 7], "uncoupledreactionthermalmodel": 5, "uncoupl": 5, "clearli": [5, 26, 27], "announc": 5, "updateocp": 5, "updatethermalsourc": 5, "updatereactionratecoeffici": 5, "updateeta": 5, "updatereactionr": 5, "fullfil": [5, 14, 17, 20, 22, 23, 24, 25, 29, 30, 31, 32, 35, 38], "formul": 5, "whereev": 5, "sse": 5, "field": [5, 6, 15, 22, 23, 26, 28, 31, 32, 33, 34, 38, 40], "send": [5, 18, 22, 23, 24, 25], "strip": 5, "local": 5, "type": [6, 14, 15, 16, 17, 21, 22, 23, 37], "total": [6, 15, 18, 20, 22, 23, 26, 28, 29, 30, 31, 32, 33, 34], "plan": [6, 12, 15, 17], "short": [6, 20], "explan": 6, "ccdischarg": [6, 15, 16, 20, 33, 34], "cccharg": [6, 15], "cccv": [6, 15, 24, 25], "controlmodel": [6, 15, 22, 23], "controlpolici": [6, 15, 16, 24, 25], "befor": [6, 7, 38, 40], "comput": [6, 15, 17, 19, 20, 22, 23, 25, 26, 27, 28, 31, 32, 33, 34, 36, 37, 38], "lower": [6, 15, 20], "cutoff": [6, 15], "stop": [6, 15, 20, 22, 23], "usecvswitch": [6, 15, 20], "fix": [6, 11, 15], "switch": [6, 15, 24, 25], "strong": [6, 20], "difficulti": [6, 19], "reach": [6, 15, 20], "reason": [6, 15, 17, 18, 20, 38], "possibl": [6, 8, 12, 15, 17, 20, 22, 23, 26, 27, 38], "rampup": [6, 15, 31, 32, 33, 34], "target": [6, 15, 33, 34], "rampuptim": [6, 15, 16, 20], "lowercutoffvoltag": [6, 15, 16, 20, 22, 23, 24, 25, 33, 34], "dataset": [6, 10, 37], "upper": [6, 15], "cuttoff": 6, "uppercutoffvoltag": [6, 15, 16, 24, 25, 33, 34], "initialcontrol": [6, 15, 24, 25], "numberofcycl": [6, 15, 24, 25], "didtlimit": [6, 15, 16, 24, 25], "dedtlimit": [6, 15, 16, 24, 25], "procedur": [6, 20], "de": 6, "sign": [6, 20, 33, 34], "monitor": 6, "di": 6, "than": [6, 17, 20], "again": [6, 15, 20, 38], "script": [6, 13, 19, 29, 30, 37, 38, 39], "besid": 6, "simulateschedulead": [6, 18, 20, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34], "schedul": [6, 18, 20, 22, 23, 25, 28, 32, 34], "src": [6, 20, 26, 28, 31, 32, 33, 34], "val": [6, 20, 26, 28, 31, 32, 33, 34, 35, 38, 40], "sinusoid": 6, "minut": [6, 20], "ones": [6, 20, 26, 28, 31, 32, 33, 34], "period": [6, 33, 34], "amper": [6, 26, 28, 31, 32, 40], "sin": 6, "pi": [6, 15], "setupmodelfromjson": [6, 18, 35, 38], "soc": [6, 15, 16, 18, 22, 23, 33, 34], "hit": [6, 20], "99": [6, 16], "default": [6, 7, 8, 15, 16, 20, 24, 25, 26, 28, 33, 34, 38], "initialis": [6, 15, 23, 33, 34], "setupinitialst": [6, 20, 22, 23, 24, 25, 33, 34], "initst": [6, 18, 20, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34], "examplecontrol_doc": 6, "multidimension": 7, "3d": [7, 12, 15, 16, 19, 38, 39], "must": [7, 15, 17, 20, 22, 23, 29, 30, 40], "batterygener": 7, "templat": 7, "sepat": 7, "grid": [7, 12, 14, 15, 17, 18, 20, 22, 23, 25, 26, 28, 35, 38], "reli": [7, 14, 17, 26, 27, 36], "mrst": [7, 12, 13, 14, 15, 20, 22, 23, 25, 28, 29, 30, 32, 34], "often": [7, 15, 20], "small": [7, 15, 17, 18, 20, 38], "whole": [7, 38], "geometr": [7, 14, 15, 29, 30, 38], "aref": 7, "length": [7, 10, 15], "25": [7, 20], "\u03bcm": 7, "57": 7, "ccnen": 7, "nenx": 7, "sepnx": 7, "penx": 7, "ccpenx": 7, "area": [7, 15, 18, 20], "facearea": [7, 15], "cm": [7, 18, 26, 27, 28], "2d": [7, 12, 15, 39], "xlength": 7, "50": [7, 16, 35, 38], "ylength": 7, "ccnenx": 7, "ny": [7, 15], "consis": 7, "tab": [7, 14, 15, 16, 38], "ax": 7, "show": [7, 29, 30, 31, 32, 33, 34, 35, 38], "4cm": 7, "1mn": 7, "mm": [7, 26, 28, 31, 32], "sep_nz": 7, "ne_am_nz": 7, "pe_am_nz": 7, "ne_cc_nz": 7, "pe_cc_nz": 7, "interior": 7, "region": [7, 15], "int_elyte_nx": 7, "ne_cc_nx": 7, "pe_cc_nx": 7, "elyte_ni": 7, "ne_cc_ni": 7, "pe_cc_ni": 7, "jelli": [7, 14, 18, 39], "roll": [7, 14, 18, 39], "th": 7, "4680": 7, "negativeco": 7, "94": [7, 16], "negativecurrentcollector": 7, "positiveco": 7, "84": 7, "positivecurrentcollector": 7, "wind": 7, "spiral": 7, "nwind": 7, "52": 7, "inner": [7, 15], "radiu": [7, 15, 31, 32], "correspod": 7, "empti": [7, 15], "middl": 7, "rinner": 7, "height": [7, 15, 16], "70": 7, "angular": [7, 15], "na": [7, 12, 15], "longitudon": 7, "There": [7, 14, 15, 18], "73": 7, "67": 7, "radial": [7, 37], "numradi": 7, "numangular": 7, "\u00b5m": 7, "nlayer": [7, 15], "width": [7, 10, 15, 16, 22, 23], "nx": [7, 15], "outsid": 7, "lenght": 7, "web": 8, "graphic": 8, "util": [8, 17, 18, 40], "version": [8, 20, 23, 25, 28, 30, 32, 35], "intuit": 8, "batterymodel": [8, 12], "com": [8, 12, 13, 30], "furthermor": 8, "troubleshoot": 8, "aren": 8, "success": 8, "unexpect": 8, "artifact": 8, "geometri": [8, 12, 14, 17, 18, 20, 23, 25, 26, 27, 30, 35, 38, 39], "unnatur": 8, "multipl": [9, 14, 20], "quick": 9, "app": 9, "certain": 9, "formula": 9, "rho": [9, 15], "sum_i": 9, "omega_": 9, "rho_i": 9, "fraction": [9, 15, 18, 20, 26, 27, 33, 34, 38], "rho_": 9, "d": [9, 15], "varepsilon": [9, 15], "poros": [9, 10, 15, 20, 31, 32], "q_": 9, "max": [9, 20, 24, 25, 31, 32, 35, 38], "x_": 9, "min": [9, 31, 32, 35, 38], "nf": [9, 35, 38], "maximum": [9, 15, 20, 24, 25, 33, 34, 35, 38], "minimum": [9, 35, 38], "faradai": 9, "transfer": [9, 15, 35, 38], "omega": 9, "volum": [9, 12, 15, 18, 20, 26, 27, 37, 38], "out": [9, 20, 22, 23, 39], "thwo": 9, "m_": 9, "m_i": 9, "pack": [9, 18], "These": [10, 22, 23, 26, 27], "refer": [10, 15, 21, 26, 27, 31, 32], "character": 10, "lab": 10, "just": [10, 14, 15, 17, 18, 22, 23, 40], "simpli": [10, 18, 20], "characterist": [10, 15], "select": 10, "selectbox": 10, "appear": [10, 18], "fill": 10, "copi": [10, 14, 23, 25, 28, 30, 32, 35], "ve": 10, "link": [10, 16], "metadata": 10, "accord": 10, "fair": 10, "principl": [10, 36], "star": 10, "guidelin": 10, "improv": 10, "interoper": 10, "finish": [10, 20], "immediatli": 10, "hdf5": 10, "idea": 11, "spike": 11, "discrit": 11, "toolbox": [12, 19, 23, 25, 28, 30, 32, 35], "comprehens": 12, "devic": 12, "facilit": 12, "deep": [12, 26, 28], "virtual": 12, "spatial": [12, 14, 26, 27, 37], "focus": 12, "broader": 12, "extens": [12, 14], "chemistri": [12, 20], "metal": 12, "air": 12, "zinc": 12, "along": [12, 23, 25, 28, 30, 32, 35], "hydrogen": [12, 26, 27], "fuel": 12, "finit": [12, 18, 20], "ensur": [12, 18], "swift": 12, "even": [12, 18, 23, 25, 26, 27, 28, 30, 32, 35, 40], "whether": 12, "research": 12, "gatewai": 12, "unlock": 12, "dive": 12, "latest": 12, "video": [12, 13], "project": [12, 17], "galleri": 12, "visit": 12, "webpag": [12, 36], "receiv": [12, 23, 25, 28, 30, 32, 35], "fund": 12, "european": 12, "union": 12, "horizon": 12, "innov": 12, "grant": 12, "agreement": [12, 37], "875527": 12, "hybrid": 12, "next": [12, 14, 20], "hydra": 12, "957189": 12, "genom": 12, "acceler": 12, "platform": 12, "big": [12, 17], "101069765": 12, "sustain": [12, 23, 25, 28, 30, 32, 35], "high": [12, 15], "ev": 12, "intellig": 12, "101104031": 12, "digit": [12, 23, 25, 28, 30, 32, 35, 36], "twin": 12, "batmax": 12, "clone": 13, "git": 13, "repositori": 13, "recurs": [13, 18], "submodul": 13, "termin": [13, 20], "github": [13, 17], "battmoteam": 13, "startupbattmo": 13, "check": [13, 15, 20], "correctli": [13, 20], "runbatteryp2d": [13, 24], "guid": 13, "consult": 13, "four": 14, "shape": 14, "computation": 14, "expens": 14, "therefor": [14, 15, 18, 19], "usual": [14, 15, 20], "reserv": 14, "specici": 14, "plai": [14, 20], "signific": [14, 20], "role": [14, 20], "similar": [14, 20, 22, 23], "basic": [14, 20, 22, 23], "aim": [14, 19], "much": [14, 20], "five": [14, 20], "polici": 14, "jsonfilenam": [14, 29, 30, 35, 38], "batterycellparamet": [14, 20, 21, 22, 23, 24, 25, 29, 30, 33, 34, 35, 38], "lithiumionbatterycel": [14, 20, 22, 23, 24, 25, 29, 30, 33, 34, 35, 38], "lithium_ion_battery_nmc_graphit": [14, 20, 22, 23, 24, 25, 29, 30, 33, 34, 35, 38], "jsonstruct_materi": [14, 29, 30, 35, 38], "geometry3d": [14, 35, 38], "jsonstruct_geometri": [14, 29, 30, 35, 38], "remain": [14, 17, 18, 33, 34], "ie_control": 14, "jsonstruct_control": [14, 29, 30, 35, 38], "simulation_paramet": [14, 20, 29, 30], "jsonstruct_simparam": [14, 29, 30], "extra_output": [14, 29, 30], "jsonstruct_output": [14, 29, 30], "plotbatterygrid": 14, "axi": [14, 20, 35], "plotgrid": 14, "particl": [14, 15, 32, 37, 39], "facecolor": 14, "none": [14, 15, 19], "edgealpha": 14, "csurfac": [14, 31, 32], "litr": [14, 16, 26, 27, 28, 31, 32, 40], "titl": [14, 22, 23, 26, 28, 31, 32, 33, 34, 35, 38], "seen": [14, 18, 20], "jsondecod": [14, 29, 30, 40], "keyword": 14, "fetch": 14, "taken": [14, 26, 27, 40], "content": 14, "henc": 14, "fileread": 14, "equival": 14, "past": 14, "saturationconcentr": [14, 15, 16, 22, 23, 31, 32], "30555": [14, 16], "volumetricsurfacearea": [14, 15, 16, 20], "723600": [14, 16], "numberofelectronstransf": [14, 15, 16], "activationenergyofreact": [14, 15, 16], "reactionrateconst": [14, 15, 16, 20], "031e": [14, 16], "gueststoichiometry100": [14, 15, 16, 22, 23], "88551": [14, 16], "gueststoichiometry0": [14, 15, 16, 22, 23, 31, 32], "1429": [14, 16], "chargetransfercoeffici": [14, 15, 16], "opencircuitpotenti": [14, 15, 16], "functionnam": [14, 16], "computeocp_graphite_torchio": [14, 16], "argumentlist": [14, 15, 16, 17], "celectrod": 14, "cmax": [14, 15, 16, 22, 23, 31, 32], "extra": [15, 17, 29, 30], "onthologi": 15, "battinfo": 15, "common": [15, 40], "object": [15, 18, 20, 23, 24, 25, 33, 34], "valid": [15, 18, 20, 26, 27, 33, 34], "parallelli": 15, "sai": 15, "electolyt": 15, "clarifi": 15, "care": [15, 18, 40], "id": 15, "draft": 15, "allof": 15, "ref": [15, 30, 34], "modelspecif": [15, 16], "choic": [15, 26, 27], "stateiniti": [15, 16], "jsonschema": 15, "reproduc": [15, 37], "thermalcompon": [15, 16, 18], "ionic": [15, 17, 26, 27], "signatur": [15, 18], "ionicconduct": [15, 16, 17], "path": [15, 17, 22, 23, 26, 27, 29, 30], "soon": 15, "pure": 15, "tabl": 15, "interpol": 15, "point": [15, 22, 23], "prefixitem": 15, "const": 15, "symbol": 15, "kappa": 15, "diffusioncoeffici": [15, 16], "molecul": 15, "binari": 15, "chargenumb": [15, 16], "transferencenumb": [15, 16], "nominalconcentr": [15, 16], "physicalquant": 15, "nomin": [15, 25], "nominalethylenecarbonateconcentr": 15, "ethylen": 15, "carbon": 15, "sei": [15, 32, 39], "active_material_typ": [15, 16], "bruggemancoeffici": [15, 16, 20], "media": 15, "beta": 15, "useregionbruggemancoeffici": 15, "boolean": 15, "electroly": 15, "bruggeman": [15, 18, 20], "regionbruggemancoeffici": 15, "fals": [15, 20, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34], "regiontag": 15, "tag": 15, "convent": 15, "constructor": [15, 22, 23, 24, 25], "intrins": [15, 18], "currentcollector": [15, 16, 20, 22, 23, 24, 25], "use_normed_current_collector": 15, "special": 15, "avoid": [15, 20, 33, 34], "float": 15, "error": [15, 20, 24, 25, 33, 34, 40], "electroniccompon": 15, "seimodel": 15, "enum": 15, "conductingaddit": [15, 16, 18, 33, 34], "wet": 15, "calendar": 15, "respect": [15, 20, 29, 30, 38], "pore": 15, "volumefract": 15, "effict": 15, "pass": [15, 17, 18, 20, 33, 34], "overrid": 15, "vf": 15, "item": 15, "minitem": 15, "maxitem": 15, "assum": [15, 40], "effectivevolumetricheatcapac": 15, "volumetr": [15, 18, 20], "account": [15, 18, 20, 38], "overwrit": 15, "effectivethermalconduct": 15, "occur": [15, 38], "itself": 15, "By": 15, "initializaton": 15, "design": [15, 19, 25, 32, 40], "et": [15, 21], "al": [15, 21], "rdf_type": 15, "htttp": 15, "emmo": 15, "info": 15, "uuid": 15, "sigma": 15, "ratio": [15, 18], "mixtur": 15, "gamma": 15, "anyof": 15, "fullsoliddiffusionmodel": [15, 18], "els": [15, 20], "simplifiedsoliddiffusionmodel": 15, "satur": 15, "guest": 15, "host": 15, "stoichiometr": 15, "per": [15, 20, 35, 38], "eak": 15, "k0": 15, "exchangecurrentdens": 15, "j0": 15, "theta100": [15, 22, 23], "theta0": [15, 22, 23], "arrheniu": 15, "soliddiffusionmodel": 15, "rp": 15, "ead": 15, "pre": [15, 22, 23], "exponenti": 15, "d0": 15, "conductiv": 15, "free": [15, 19, 20, 23, 25, 28, 30, 32, 35], "paremet": 15, "exterior": [15, 35, 38], "flag": [15, 20, 38], "dry": 15, "yet": [15, 18], "usewetproperti": 15, "measur": 15, "NOT": [15, 17], "ignor": 15, "externalheattransfercoeffici": [15, 16, 35, 38], "surround": 15, "externalheattransfercoefficienttopfac": 15, "externalheattransfercoefficientsidefac": 15, "externalheattransfercoefficienttab": [15, 16, 35, 38], "externaltemperatur": [15, 16], "manufactur": 15, "industri": [15, 23, 25, 28, 30, 32, 35], "cad": 15, "softwar": [15, 23, 25, 28, 30, 32, 35, 36], "multilayerpouch": 15, "demo": [15, 16], "jellyrol": 15, "sectormodel": 15, "coincel": 15, "def": 15, "particlediscret": 15, "layerspec": 15, "numberofdiscretecel": 15, "cross": 15, "cap_tab": 15, "remov": [15, 33, 34], "dimens": [15, 26, 27, 37], "parametr": 15, "batterygeneratorp3d": 15, "batterygeneratorp4d": 15, "nw": [15, 16, 22, 23], "nh": [15, 16], "currentcolector": 15, "dependentschema": 15, "outerradiu": 15, "outer": 15, "innerradiu": 15, "numberofdiscretecellsvert": 15, "vertic": 15, "numberofdiscretecellsangular": 15, "discretis": [15, 22, 23], "sector": 15, "horizont": 15, "plane": 15, "tabparam": 15, "angl": 15, "usetab": 15, "sectortabparam": 15, "variou": [15, 22, 23, 40], "powercontrol": 15, "timecontrol": 15, "drate": [15, 16], "linearli": [15, 26, 27, 28], "switchtoler": 15, "toler": [15, 20, 24, 25, 33, 34], "cc_discharge1": 15, "cc_discharge2": 15, "cc_charge1": 15, "cv_charge2": 15, "cpcv": 15, "dischargingpow": 15, "chargingpow": 15, "powercontrolcas": 15, "dischargingtim": 15, "chargingtim": 15, "lowercutoffpow": 15, "uppercutoffpow": 15, "chose": 15, "totaltim": [15, 29, 30], "symmbol": 15, "timestepdur": 15, "everi": [15, 18], "numberoftimestep": [15, 16, 20, 24, 25, 29, 30], "userampup": [15, 16], "numberoframpupstep": [15, 16, 20], "interv": 15, "rampuptimestep": [15, 26, 28], "desrib": 15, "mani": [15, 20, 26, 27], "avaibl": 15, "nonlinear": [15, 20, 25, 34], "nonlinearsolv": [15, 20, 24, 25, 26, 28, 31, 32, 33, 34], "battmodir": [15, 17], "autodiff": 15, "core": [15, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34], "maxiter": [15, 20, 24, 25, 33, 34], "maxtimestepcut": 15, "fail": [15, 20], "cut": [15, 20, 22, 23], "nonlineartoler": [15, 20, 24, 25, 31, 32, 33, 34], "verbos": [15, 20, 24, 25, 26, 28, 31, 32, 33, 34], "linearsolv": [15, 22, 23, 24, 25], "linearsolversetup": 15, "ask": 15, "afterward": 15, "computeenergydens": 15, "ouput": [15, 30], "energydens": 15, "specificenergi": 15, "saveoutput": 15, "disk": 15, "saveopt": 15, "sim_runn": 15, "packsimulationproblem": 15, "outputdirectori": 15, "clearsimul": 15, "eras": 15, "1900": 16, "gram": [16, 40], "centi": [16, 26, 28, 31, 32, 40], "meter": [16, 26, 28, 31, 32, 40], "03": [16, 24, 25, 33, 34, 40], "95": 16, "59600000": 16, "398": 16, "385": 16, "8960": 16, "3500": 16, "4650": 16, "700": 16, "55554": 16, "885000": 16, "33e": 16, "4955": 16, "99174": 16, "computeocp_nmc111": 16, "75": [16, 31, 32], "025": 16, "83": 16, "35500000": 16, "170": 16, "875": 16, "2700": 16, "computeelectrolyteconductivity_default": 16, "computediffusioncoefficient_default": 16, "2594": 16, "1000": [16, 38, 40], "2055": 16, "1200": 16, "298": [16, 18, 22, 23, 31, 32], "01": [16, 24, 25, 33, 34], "02": [16, 22, 23], "0001": 16, "004": 16, "001": 16, "8e": 16, "5e": [16, 31, 32, 40], "include_current_collector": [16, 20, 22, 23, 24, 25, 33, 34, 35, 38], "use_therm": [16, 20, 22, 23, 24, 25, 33, 34, 38], "initializationsetup": 16, "initt": [16, 18], "initialconcentr": 16, "pxd": [17, 18], "jl": 17, "packag": 17, "registri": 17, "significantli": [17, 18], "faster": 17, "magnitud": 17, "speed": 17, "assembli": [17, 18], "optim": 17, "completli": 17, "compil": 17, "jutul": 17, "retriev": 17, "instal": [17, 20, 21, 39], "intervent": 17, "commun": 17, "man": 17, "servermanag": 17, "session": 17, "notic": [17, 38], "background": 17, "persist": 17, "manual": [17, 24, 25], "launch": 17, "prompt": 17, "powershel": 17, "startup": 17, "runmatlab": 17, "revis": 17, "daemonmod": 17, "3000": 17, "call_stack": 17, "async": 17, "runfrommatlab": 17, "juliabridg": 17, "juliainterfac": 17, "block": 17, "deactiv": 17, "made": 17, "inputfilenam": 17, "jsonfil": 17, "p2d_40_jl_ud": 17, "inputtyp": 17, "668e": 17, "494e": 17, "074": 17, "78e": 17, "86e": 17, "96e": 17, "80e": 17, "snippet": 17, "arithmet": 17, "bpp": 17, "cumsum": 17, "legend": [17, 20, 22, 23, 31, 32, 33, 34, 35, 38], "h": [17, 20, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34, 35, 38], "usag": 18, "cover": 18, "seri": 18, "paper": [18, 26, 27], "partial": 18, "stabil": 18, "backward": 18, "euler": 18, "global": 18, "report": [18, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34], "globvar": 18, "schedulereport": 18, "varargin": [18, 20], "task": 18, "inputparam": [18, 20, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34], "batteryinputparam": [18, 20, 22, 23, 24, 25, 33, 34, 40], "redund": 18, "advantag": 18, "developp": [18, 19], "environ": [18, 23, 30], "enabl": [18, 26, 27], "complic": 18, "closer": 18, "resolveunitinputjson": 18, "suffix": 18, "activematerialinputparam": [18, 22, 23], "setupbatterygridfromjson": 18, "appropri": [18, 20], "parallel": [18, 26, 27], "validateinputparam": [18, 33, 34], "obscur": 18, "con": 18, "physicalconst": [18, 35, 38], "ccdischargecontrolmodel": 18, "9900": 18, "1500": 18, "9400": 18, "0400": 18, "conducit": 18, "never": 18, "effectr": 18, "3328": 18, "effectiveelectronicconduct": 18, "82": 18, "5961": 18, "constitu": [18, 38], "120": 18, "rememb": 18, "insid": [18, 40], "siemen": 18, "118": 18, "4873": 18, "97": 18, "5413": 18, "computecellmass": 18, "computecellcapac": 18, "computecellenergi": 18, "neglict": 18, "infinitli": 18, "screen": 18, "cellspecificationsummari": 18, "css": 18, "printspecif": 18, "kg": 18, "24": 18, "85": 18, "59526e": 18, "36e": 18, "00301148": 18, "ah": 18, "00310324": 18, "03047": 18, "0115753": 18, "wh": [18, 20], "321": 18, "958": 18, "851": 18, "122": 18, "17686": 18, "computecellenergygivendr": 18, "fprintf": [18, 20], "watt": 18, "0110781": 18, "gnu": [19, 23, 25, 28, 30, 32, 35], "compat": [19, 20], "strive": 19, "maintain": 19, "drop": 19, "altern": 19, "favor": 19, "easier": [19, 22, 23, 40], "robust": [19, 26, 27], "hard": [19, 20], "inde": 19, "runjsonscript": [19, 29], "met": 19, "resourc": 19, "topic": 20, "involv": 20, "maxim": 20, "mathemat": [20, 23, 25, 26, 27, 28, 30, 32, 35, 36], "viewpoint": 20, "fit": [20, 23, 25, 28, 30, 32, 35], "against": [20, 23], "experi": 20, "calibr": 20, "runparameteridentif": 20, "mrstmodul": [20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34], "mpfa": [20, 22, 23, 24, 25, 31, 32], "gui": [20, 22, 23, 24, 25, 29, 30, 31, 32], "ne": [20, 22, 23, 24, 25, 31, 32, 33, 34], "pe": [20, 22, 23, 24, 25, 31, 32, 33, 34], "am": [20, 22, 23, 24, 25, 31, 32], "co": [20, 22, 23, 24, 25, 33, 34], "itf": [20, 22, 23, 24, 25, 31, 32, 33, 34], "sd": [20, 22, 23, 24, 25, 31, 32, 33, 34], "ctrl": [20, 22, 23, 24, 25], "sep": 20, "turn": 20, "test": [20, 21, 39], "comment": 20, "finer": 20, "stricter": 20, "jsonparam": 20, "jsongeom": 20, "geometry1d": [20, 29, 30], "jsoncontrol": 20, "cc_discharge_control": [20, 29, 30, 35, 38], "jsonsim": 20, "validatejson": 20, "conventi": 20, "json0": 20, "output0": 20, "simsetup": 20, "state0": 20, "modelparamet": 20, "arbitrari": 20, "boxlim": 20, "constraint": 20, "rang": 20, "logarithm": 20, "param": 20, "addparamet": 20, "elyte_bruggeman": 20, "belongsto": 20, "eqn": 20, "ne_k0": 20, "log": 20, "pe_k0": 20, "ne_vsa": 20, "1e5": 20, "1e7": 20, "pe_vsa": 20, "shortli": 20, "e_exp": 20, "i_exp": 20, "averag": 20, "jsonexp": 20, "pexp": 20, "ip": 20, "loc": 20, "orig": 20, "getfun": 20, "setfun": 20, "outputexp": 20, "seek": 20, "minim": 20, "vari": 20, "squar": 20, "obj": 20, "correct": 20, "costli": 20, "accur": 20, "algorithm": 20, "sens": 20, "One": 20, "accomplish": 20, "gradient": [20, 26, 27], "hood": 20, "adjoint": 20, "leastsquaresei": 20, "debug": 20, "objval": 20, "assert": 20, "ab": 20, "objscal": 20, "sum": 20, "objectivegradi": 20, "evalobjectivebattmo": 20, "compar": [20, 37], "classic": 20, "too": 20, "basal": 20, "statement": 20, "uncom": 20, "ptmp": 20, "getscaledparametervector": 20, "vad": 20, "gad": 20, "gradientmethod": 20, "adjointad": 20, "vnum": 20, "gnum": 20, "perturbationadnum": 20, "perturbations": 20, "disp": [20, 24, 25], "readi": [20, 39], "bfg": 20, "guess": 20, "deduc": 20, "actual": [20, 22, 23], "criteria": [20, 22, 23], "gradtol": 20, "less": 20, "objchangetol": 20, "maxit": 20, "great": 20, "tempor": 20, "influenc": 20, "Not": 20, "p0scale": 20, "popttmp": 20, "histori": 20, "unitboxbfg": 20, "logplot": 20, "numit": 20, "wait": 20, "laptop": 20, "displai": 20, "jsonopt": 20, "popt": 20, "outputopt": 20, "do_plot": 20, "defaultlinelinewidth": [20, 22, 23, 26, 28, 31, 32, 33, 34, 35], "gettim": 20, "gete": 20, "t0": [20, 35], "e0": 20, "topt": 20, "eopt": 20, "texp": 20, "eexp": 20, "tight": 20, "displaynam": [20, 31, 32, 33, 34, 35, 38], "e_": 20, "exp": 20, "opt": 20, "summar": 20, "porig": 20, "getparamet": 20, "box": [20, 39], "tol": 20, "nexperiment": 20, "nrel": 20, "relerr": 20, "niter": 20, "exact": 20, "___________________": 20, "__________": 20, "_________": 20, "6149": 20, "2599e": 20, "005e": 20, "8927e": 20, "9014e": 20, "05e": 20, "018e": 20, "toward": 20, "e_0": 20, "e_opt": 20, "why": 20, "9998": 20, "09": 20, "4029e": 20, "4994e": 20, "7775e": 20, "adjust": [20, 29, 30, 33, 34], "runbattery1doptim": 20, "cathod": 20, "currect": 20, "analyt": 20, "contrast": 20, "ambiti": 20, "reader": 20, "encourag": 20, "investig": 20, "shorthand": [20, 22, 23, 24, 25, 31, 32], "simplic": [20, 24, 25], "cost": 20, "gen": [20, 22, 23, 24, 25, 33, 34], "batterygeneratorp2d": [20, 22, 23, 24, 25, 33, 34], "updatebatteryinputparam": [20, 22, 23, 24, 25, 33, 34], "shock": 20, "ramp": 20, "prescrib": 20, "built": 20, "setupschedulecontrol": [20, 22, 23, 24, 25], "larger": [20, 22, 23], "normal": 20, "40": [20, 29, 30], "nc": 20, "nst": 20, "ind": [20, 24, 25, 31, 32], "floor": [20, 26, 28], "imax": [20, 24, 25, 31, 32, 33, 34], "repmat": 20, "capabl": [20, 26, 27], "half": 20, "ministep": 20, "nl": [20, 24, 25, 26, 28, 31, 32, 33, 34], "behavior": [20, 24, 25, 33, 34], "erroronfailur": [20, 24, 25, 26, 28, 31, 32, 33, 34], "outputministep": [20, 24, 25, 26, 28, 31, 32, 33, 34], "isempti": [20, 24, 25, 31, 32], "doplot": [20, 26, 28], "energyoutput": 20, "integr": [20, 36], "trapezoid": 20, "rule": [20, 29, 30], "totval": 20, "totval_trapz": 20, "trapz": 20, "rectangl": 20, "poris": 20, "porositysett": 20, "routin": 20, "simulatorsetup": 20, "paramsett": 20, "getporo": 20, "notus": 20, "getvalu": 20, "setporo": 20, "setvalu": 20, "rampupswitchcontrol": [20, 31, 32, 33, 34], "stopfunct": [20, 31, 32], "hook": 20, "reduc": [20, 37], "evalut": 20, "objmatch": 20, "plotafterstepiv": 20, "afterstepfn": 20, "minu": [20, 33, 34], "worth": 20, "sensit": 20, "p_base": 20, "optimum": 20, "p_opt": 20, "200": 20, "setup_opt": 20, "updatesetupfromscaledparamet": 20, "states_opt": 20, "time_opt": 20, "i_opt": 20, "totval_trapz_opt": 20, "p0": 20, "pu": 20, "mwh": 20, "milli": [20, 26, 28, 40], "12163": 20, "55": 20, "187132": 20, "152395": 20, "472783": 20, "100268": 20, "00986981": 20, "0147641": 20, "8822": 20, "44": 20, "0736": 20, "parameterset": [21, 31, 32], "author": 21, "year": 21, "chen2020": 21, "safari2009": [21, 31, 32], "xu2015": 21, "organis": 21, "whose": 21, "batterycomponentparamet": 21, "battmotutori": 22, "memori": [22, 23], "thicker": [22, 23], "font": [22, 23], "defaultaxesfonts": [22, 23, 26, 28, 31, 32, 33, 34, 35], "defaulttextfonts": [22, 23, 31, 32, 33, 34, 35], "agmg": [22, 23, 24, 25], "fname": [22, 23], "exclud": [22, 23], "referenc": [22, 23], "ourselv": [22, 23], "fullsoliddiffusionmodelinputparam": [22, 23], "batterygeometri": [22, 23], "folder": [22, 23], "relev": [22, 23], "necessari": [22, 23, 33, 34], "being": [22, 23], "eld": [22, 23], "ield": [22, 23], "el_itf": [22, 23], "linspac": [22, 23, 26, 28, 31, 32], "theta": [22, 23], "computeocpfunc": [22, 23], "ylim": [22, 23], "setupschedulestep": [22, 23, 24, 25], "sol": [22, 23], "technic": [22, 23], "extract": [22, 23, 26, 28, 33, 34, 38], "subplot": [22, 23, 26, 28, 29, 30, 33, 34], "mod": [23, 30], "mrstbattmo": [23, 30], "battmofil": [23, 28], "copyright": [23, 25, 28, 30, 32, 35], "2021": [23, 25, 28, 30, 32, 35], "2024": [23, 25, 28, 32, 35], "sintef": [23, 25, 28, 30, 32, 35, 36], "technologi": [23, 25, 28, 30, 32, 35], "cybernet": [23, 25, 28, 30, 32, 35, 36], "redistribut": [23, 25, 28, 30, 32, 35], "public": [23, 25, 28, 30, 32, 35], "licens": [23, 25, 28, 30, 32, 35], "foundat": [23, 25, 28, 30, 32, 35], "distribut": [23, 25, 28, 30, 32, 35, 38], "hope": [23, 25, 28, 30, 32, 35], "warranti": [23, 25, 28, 30, 32, 35], "merchant": [23, 25, 28, 30, 32, 35], "FOR": [23, 25, 28, 30, 32, 35], "www": [23, 25, 28, 30, 32, 35], "demonstr": [24, 25, 38, 40], "propag": [24, 25], "throughout": [24, 25], "use_cccv": [24, 25], "cccvstruct": [24, 25], "cccvinputparam": [24, 25], "cccvcontrolmodelinputparam": [24, 25], "inspectgraph": [24, 25], "amgcl": [24, 25], "amgclsolverad": [24, 25], "reducetocel": [24, 25], "linearsolverbatteryextra": [24, 25], "reuse_setup": [24, 25], "timestepselector": [24, 25, 33, 34], "statechangetimestepselector": [24, 25, 33, 34], "targetprop": [24, 25, 33, 34], "targetchangeab": [24, 25, 33, 34], "tmax": [24, 25, 35, 38], "socn": [24, 25], "socp": [24, 25], "calculatesoc": [24, 25], "writeh5": [24, 25], "writeoutput": [24, 25], "h5": [24, 25], "recov": [25, 26, 28], "runelectrolys": 26, "aem": [26, 27], "better": [26, 27], "h2": [26, 27, 28], "had": [26, 27], "andinclud": [26, 27], "coupledprocess": [26, 27], "ionom": [26, 27], "liquid": [26, 27], "induc": [26, 27], "ga": [26, 27], "hydroxid": [26, 27], "hopefulli": [26, 27], "split": [26, 27], "oxygen": [26, 27], "catalyst": [26, 27], "appli": [26, 27], "scheme": [26, 27], "oftim": [26, 27], "algorithmus": [26, 27], "infrastructur": [26, 27], "pressur": [26, 27], "boundari": [26, 27], "atmospher": [26, 27], "oh": [26, 27], "pictur": [26, 27], "acquaint": [26, 27], "catalystlay": [26, 27, 28], "evolutionelectrod": [26, 27], "exchangereact": [26, 27, 28], "ionomermembran": [26, 27, 28], "poroustransportlay": [26, 27, 28], "electrolysergeometri": [26, 27], "alkalineelectrolys": [26, 28], "electrolyserinputparam": [26, 28], "electrolysergeometry1d": [26, 28], "setupelectrolysergridfromjson": [26, 28], "inm": [26, 28], "her": [26, 28], "hydrogenevolutionelectrod": [26, 28], "oer": [26, 28], "oxygenevolutionelectrod": [26, 28], "ptl": [26, 28], "exr": [26, 28], "ctl": [26, 28], "setupbcandinitialst": [26, 28], "rampupcontrol": [26, 28, 31, 32], "controli": [26, 28], "o2": [26, 28], "tup": [26, 28, 31, 32, 33, 34], "srcfunc": [26, 28, 31, 32, 33, 34], "rampupcas": [26, 28], "minor": [26, 28], "unknwon": [26, 28], "descriv": [26, 28], "addvari": [26, 28], "istat": [26, 28, 31, 32, 33, 34], "polaris": [26, 28], "helper": [26, 28], "coh": [26, 28], "800": [26, 28, 31, 32], "450": [26, 28], "ntime": [26, 28], "cmap": [26, 28], "cmocean": [26, 28], "ifield": [26, 28], "fd": [26, 28], "itim": [26, 28], "getprop": [26, 28], "log10": [26, 28], "distribit": [26, 28], "colormap": [26, 28], "hcolorbar": [26, 28], "colorbar": [26, 28, 35, 38], "caxi": [26, 28], "htitl": [26, 28], "alkalin": [28, 39], "ph": 28, "exclus": [29, 30], "nativ": [29, 30], "warn": [29, 30, 33, 34], "preced": [29, 30], "se": 30, "mathwork": 30, "html": 30, "_": 30, "specifici": 30, "runseiactivemateri": 31, "anode_sei": [31, 32], "solidelectrodeinterfac": [31, 32], "sr": [31, 32], "sidereact": [31, 32], "seiactivematerialinputparam": [31, 32], "alon": [31, 32], "isrootsimulationmodel": [31, 32], "seiactivemateri": [31, 32], "setupforsimul": [31, 32], "nsd": [31, 32], "nsei": [31, 32], "celectrodeinit": [31, 32], "phielectrodeinit": [31, 32], "celectrolyt": [31, 32, 40], "cite": [31, 32], "safari_2009": [31, 32], "film": [31, 32], "epsisei": [31, 32], "solvent": [31, 32], "bulk": [31, 32], "cecsolut": [31, 32], "541": [31, 32], "cecextern": [31, 32], "evalvarnam": [31, 32, 33, 34], "phielectrolyt": [31, 32], "cinterfac": [31, 32], "static": [31, 32], "cextern": [31, 32], "roughli": [31, 32], "iref": [31, 32], "3e": [31, 32], "1e1": [31, 32], "cmin": [31, 32], "state0_inn": [31, 32], "defaultfigureposit": [31, 32], "400": [31, 32], "caverag": [31, 32], "caver": [31, 32], "nm": [31, 32], "growth": [32, 39], "runsilicongraphitebatteri": 33, "matlab_bgl": [33, 34], "shorcut": [33, 34], "am1": [33, 34], "am2": [33, 34], "bd": [33, 34], "jsonstruct_composite_materi": [33, 34], "composite_silicon_graphit": [33, 34], "jsonstruct_cel": [33, 34], "cleaner": [33, 34], "rmfield": [33, 34], "consecut": [33, 34], "selector": [33, 34], "wellsol": [33, 34], "dischargest": [33, 34], "chargest": [33, 34], "concaten": [33, 34], "allstat": [33, 34], "vertcat": [33, 34], "plote": [33, 34], "soc1": [33, 34], "soc2": [33, 34], "cumul": [33, 34], "compositeelectrod": 34, "perio": 34, "visualis": 34, "extrnal": [35, 38], "extfaceind": [35, 38], "couplingterm": [35, 38], "couplingfac": [35, 38], "getnumberoffac": 35, "nan": [35, 38], "plotfacedata": [35, 38], "edgecolor": [35, 38], "black": [35, 38], "w": [35, 38], "absolutetemperatur": 35, "tmin": [35, 38], "cool": 35, "sofwar": 36, "mrstwebpag": 36, "primarli": 36, "geoscienc": 36, "group": 36, "depart": 36, "api": 36, "heavili": 36, "On": 36, "recommend": 36, "doyler": 37, "spheric": 37, "thee": 37, "polynomi": 37, "runchen2020": [37, 39], "pybamm": [37, 39], "discrip": 37, "zoom": 37, "runthermalexampl": 38, "mainli": 38, "conducitivti": 38, "m\u00b2": 38, "overwritten": 38, "num": 38, "littl": 38, "variat": 38, "contact": 38, "releas": 38, "higher": 38, "runbatteryp3d": 39, "runbatteryp4d": 39, "runcr": 39, "coin": 39, "rungitttest": 39, "gitt": 39, "runjellyrol": 39, "prefix": 40, "kilo": 40, "convers": 40, "500": 40, "0000": 40, "62": 40, "2000e": 40, "happen": 40, "isconvert": 40, "convertunitbattmo": 40, "1000e": 40, "logic": 40, "mistak": 40}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"advanc": 0, "usag": [0, 2, 14], "battmo": [1, 2, 8, 17, 22, 29, 40], "model": [1, 2, 5, 6, 14, 15, 16, 18, 22, 24, 26, 31, 33, 37], "architectur": 1, "basic": 2, "A": [2, 5], "first": [2, 13], "defin": [2, 10, 14], "paramet": [2, 7, 14, 15, 17, 20, 21, 29], "run": [2, 14, 17, 22, 24, 26, 31, 33], "simul": [2, 14, 15, 16, 17, 18, 22, 24, 26, 29, 31, 33, 38], "show": 2, "dashboard": 2, "explor": 2, "output": [2, 15, 17, 24], "grid": [2, 24, 36], "state": [2, 16, 22, 24, 31, 33], "plot": [2, 7, 22, 26, 29, 31], "result": [2, 10, 11, 14, 22, 26], "chang": 2, "control": [2, 6, 15, 16, 22, 29, 33], "structur": 2, "materi": [2, 10, 15, 16, 24, 29, 31], "notebook": 2, "next": 2, "step": [2, 13, 15, 16, 33], "refer": 3, "list": [3, 39], "composit": [4, 5, 33], "electrod": [4, 15, 16, 33], "json": [4, 6, 15, 16, 29, 40], "input": [4, 6, 10, 15, 16, 26, 29, 40], "file": [4, 14, 29], "comput": [5, 18, 24], "graph": 5, "design": [5, 24, 31], "ang": 5, "assembli": 5, "simpl": 5, "introduct": [5, 17], "exampl": [5, 16, 20, 29, 39], "setup": [5, 14, 15, 24, 26, 31, 33], "implement": 5, "interfac": [6, 15, 16], "descript": 6, "batteri": [7, 16, 18, 22, 24, 31, 33], "geometri": [7, 10, 15, 16, 22, 24, 29], "batterygeneratorp2d": 7, "valu": 7, "us": [7, 10, 14], "abov": 7, "batterygeneratorp3d": 7, "batterygeneratorp4d": 7, "spiralbatterygener": 7, "thick": 7, "discret": [7, 26], "number": 7, "n": 7, "ar": 7, "pass": 7, "through": 7, "dictionari": 7, "widthdict": 7, "nrdict": 7, "other": 7, "coincellbatterygener": 7, "each": 7, "compon": 7, "diamet": 7, "cell": [7, 24, 31], "layer": [7, 31], "nl": 7, "cr": 7, "2016": 7, "coin": 7, "batterygeneratormultilayerpouch": 7, "app": 8, "calcul": 9, "featur": 10, "default": 10, "your": [10, 11], "own": 10, "visual": [10, 14, 26, 36], "download": 10, "data": [10, 36], "troubleshoot": 11, "unnatur": 11, "artifact": 11, "welcom": 12, "acknowledg": 12, "instal": 13, "intermedi": 14, "p4d": 14, "mergejsonstruct": 14, "link": 14, "insert": 14, "parsebattmojson": 14, "specif": [15, 16], "schema": 15, "electrolyt": [15, 16], "coat": [15, 16], "activ": [15, 16], "solid": [15, 16, 37], "diffus": [15, 16, 37], "full": 15, "binder": [15, 16], "conduct": [15, 16], "addit": [15, 16], "current": [15, 16, 24], "collector": [15, 16], "separ": [15, 16], "thermal": [15, 16, 38], "time": [15, 16, 26, 33], "solver": [15, 24, 26, 31, 33], "neg": 16, "posit": 16, "initi": [16, 22, 24, 26, 31, 33], "julia": 17, "bridg": 17, "start": [17, 29], "server": 17, "send": 17, "post": 17, "process": [17, 24], "The": 18, "initialis": [18, 22], "inspect": 18, "some": 18, "standard": 18, "static": 18, "properti": [18, 24, 29, 31, 33], "note": 19, "octav": 19, "support": 19, "optim": 20, "identif": 20, "set": [21, 22, 29], "tutori": [22, 36], "up": [22, 29], "environ": [22, 29], "specifi": 22, "physic": 22, "object": 22, "ocp": 22, "curv": 22, "against": 22, "charg": [22, 33], "sourc": [23, 25, 28, 30, 32, 34], "code": [23, 25, 28, 30, 32, 34], "battmotutori": 23, "pseudo": 24, "two": 24, "dimension": 24, "p2d": 24, "lithium": 24, "ion": [24, 31], "import": [24, 31, 33], "requir": [24, 31, 33], "modul": [24, 26, 31, 33], "from": [24, 31, 33], "mrst": [24, 26, 31, 33, 36], "li": [24, 31], "nomin": 24, "capac": 24, "choos": 24, "c": 24, "rate": 24, "schedul": [24, 26, 31, 33], "nonlinear": [24, 33], "recov": 24, "voltag": 24, "runbatteryp2d": 25, "alkalin": 26, "membran": 26, "electrolys": 26, "load": [26, 29], "condit": 26, "non": [26, 31], "linear": [26, 31], "ph": 26, "distribut": 26, "runelectrolys": 28, "we": 29, "ouput": 29, "specifici": 29, "runjsonscript": 30, "particl": 31, "sei": 31, "growth": 31, "runseiactivemateri": 32, "silicon": 33, "graphit": 33, "shortcut": 33, "instanti": 33, "discharg": 33, "perio": 33, "visualis": 33, "runsilicongraphitebatteri": 34, "runthermalmodel": 35, "see": 36, "also": 36, "factori": 36, "fair": 36, "curat": 39, "unit": 40, "convert": 40}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinxcontrib.bibtex": 9, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"Advanced Usage": [[0, "advanced-usage"]], "BattMo Model Architecture": [[1, "battmo-model-architecture"]], "Basic Usage": [[2, "basic-usage"]], "A First BattMo Model": [[2, "a-first-battmo-model"]], "Define Parameters": [[2, "define-parameters"], [14, "define-parameters"]], "Run Simulation": [[2, "run-simulation"], [14, "run-simulation"]], "Show the Dashboard": [[2, "show-the-dashboard"]], "Explore the Output": [[2, "explore-the-output"]], "Explore the Grid": [[2, "explore-the-grid"]], "Explore the States": [[2, "explore-the-states"]], "Plot a Result": [[2, "plot-a-result"]], "Change Control Parameters": [[2, "change-control-parameters"]], "Change Structural Parameters": [[2, "change-structural-parameters"]], "Change Material Parameters": [[2, "change-material-parameters"]], "Notebooks": [[2, "notebooks"]], "Next Steps": [[2, "next-steps"]], "Reference lists": [[3, "reference-lists"]], "Composite electrode json input file": [[4, "composite-electrode-json-input-file"]], "Computation Graph Model Design ang Assembly": [[5, "computation-graph-model-design-ang-assembly"]], "A simple introduction example": [[5, "a-simple-introduction-example"]], "Graph composition": [[5, "graph-composition"]], "Graph Setup and Implementation": [[5, "graph-setup-and-implementation"]], "Control models": [[6, "control-models"]], "Json input control interface": [[6, "json-input-control-interface"]], "Control model description": [[6, "control-model-description"]], "Battery Geometries": [[7, "battery-geometries"]], "BatteryGeneratorP2D": [[7, "batterygeneratorp2d"]], "Parameters with values used in plot above": [[7, "id2"], [7, "id3"], [7, "id4"]], "BatteryGeneratorP3D": [[7, "batterygeneratorp3d"]], "BatteryGeneratorP4D": [[7, "batterygeneratorp4d"]], "SpiralBatteryGenerator": [[7, "spiralbatterygenerator"]], "Thickness and discretization number (N) are passed through the dictionaries widthDict and nrDict, with values used in plot above.": [[7, "id5"]], "Other parameters, with values used in plot above.": [[7, "id6"]], "CoinCellBatteryGenerator": [[7, "coincellbatterygenerator"]], "Parameters for each component : thickness, diameter, number of cell layers (Nl), with the values used in the plot above (a CR 2016 coin cell)": [[7, "id7"]], "Other parameters, with values used in plot above": [[7, "id8"], [7, "id10"]], "BatteryGeneratorMultilayerPouch": [[7, "batterygeneratormultilayerpouch"]], "Parameters for each component : thickness and number of cell (Nl) for a layer, with the values used in the plot above": [[7, "id9"]], "BattMo App": [[8, "battmo-app"]], "Calculations": [[9, "calculations"]], "Features": [[10, "features"]], "Use default materials": [[10, "use-default-materials"]], "Define your own materials": [[10, "define-your-own-materials"]], "Visualize your geometry": [[10, "visualize-your-geometry"]], "Download your input data": [[10, "download-your-input-data"]], "Visualize and download your results": [[10, "visualize-and-download-your-results"]], "Troubleshooting": [[11, "troubleshooting"]], "Unnatural artifacts in your results": [[11, "unnatural-artifacts-in-your-results"]], "Welcome": [[12, "welcome"]], "Acknowledgements": [[12, "acknowledgements"]], "Installation and First Steps": [[13, "installation-and-first-steps"]], "Intermediate usage": [[14, "intermediate-usage"]], "Setup a P4D Model using mergeJsonStructs": [[14, "setup-a-p4d-model-using-mergejsonstructs"]], "Visualize Results": [[14, "visualize-results"]], "File links and insertions with parseBattmoJson": [[14, "file-links-and-insertions-with-parsebattmojson"]], "JSON input specification": [[15, "json-input-specification"]], "Simulation Schema": [[15, "simulation-schema"]], "Material Parameters": [[15, "material-parameters"]], "Electrolyte": [[15, "electrolyte"], [16, "electrolyte"]], "Electrode": [[15, "electrode"]], "Coating": [[15, "coating"], [16, "coating"]], "Active Material": [[15, "active-material"], [16, "active-material"]], "Interface": [[15, "interface"], [16, "interface"]], "Solid Diffusion": [[15, "solid-diffusion"], [16, "solid-diffusion"]], "Full Solid Diffusion": [[15, "full-solid-diffusion"]], "Binder": [[15, "binder"], [16, "binder"]], "Conducting Additive": [[15, "conducting-additive"], [16, "conducting-additive"]], "Current Collector": [[15, "current-collector"], [16, "current-collector"]], "Separator": [[15, "separator"], [16, "separator"]], "Thermal Model": [[15, "thermal-model"], [16, "thermal-model"]], "Geometry Setup": [[15, "geometry-setup"]], "Simulation Control Parameters": [[15, "simulation-control-parameters"]], "Time Stepping Parameters": [[15, "time-stepping-parameters"]], "Solver Parameters": [[15, "solver-parameters"]], "Output Parameters": [[15, "output-parameters"]], "Json input example": [[16, "json-input-example"]], "Simulation": [[16, "simulation"]], "Battery": [[16, "battery"]], "Negative Electrode": [[16, "negative-electrode"]], "Positive Electrode": [[16, "positive-electrode"]], "Geometry": [[16, "geometry"], [29, "geometry"]], "Model Specification": [[16, "model-specification"]], "Control": [[16, "control"], [29, "control"]], "Time Stepping": [[16, "time-stepping"]], "State Initialization": [[16, "state-initialization"]], "BattMo Julia bridge": [[17, "battmo-julia-bridge"]], "Introduction": [[17, "introduction"]], "Start Server": [[17, "start-server"]], "Send simulation parameters": [[17, "send-simulation-parameters"]], "Run the simulation": [[17, "run-the-simulation"], [24, "run-the-simulation"], [26, "run-the-simulation"]], "Post process the output": [[17, "post-process-the-output"]], "The Battery Simulation Model": [[18, "the-battery-simulation-model"]], "Initialisation of a battery simulation model": [[18, "initialisation-of-a-battery-simulation-model"]], "Inspection of the model": [[18, "inspection-of-the-model"]], "Computing and inspecting some standard static properties of the model": [[18, "computing-and-inspecting-some-standard-static-properties-of-the-model"]], "Note on Octave Support": [[19, "note-on-octave-support"]], "Optimization": [[20, "optimization"]], "Parameter identification example": [[20, "parameter-identification-example"]], "Optimization example": [[20, "optimization-example"]], "Parameter sets": [[21, "parameter-sets"], [21, "id4"]], "BattMo Tutorial": [[22, "battmo-tutorial"]], "Setting up the environment": [[22, "setting-up-the-environment"], [29, "setting-up-the-environment"]], "Specifying the physical model": [[22, "specifying-the-physical-model"]], "Setting up the geometry": [[22, "setting-up-the-geometry"]], "Initialising the battery model object": [[22, "initialising-the-battery-model-object"]], "Plotting the OCP curves against state of charge": [[22, "plotting-the-ocp-curves-against-state-of-charge"]], "Controlling the simulation": [[22, "controlling-the-simulation"]], "Setting the initial state of the battery": [[22, "setting-the-initial-state-of-the-battery"]], "Running the simulation": [[22, "running-the-simulation"]], "Plotting the results": [[22, "plotting-the-results"]], "Source code for battMoTutorial": [[23, "source-code-for-battmotutorial"]], "Pseudo-Two-Dimensional (P2D) Lithium-Ion Battery Model": [[24, "pseudo-two-dimensional-p2d-lithium-ion-battery-model"]], "Import the required modules from MRST": [[24, "import-the-required-modules-from-mrst"], [31, "import-the-required-modules-from-mrst"], [33, "import-the-required-modules-from-mrst"]], "Setup the properties of Li-ion battery materials and cell design": [[24, "setup-the-properties-of-li-ion-battery-materials-and-cell-design"], [31, "setup-the-properties-of-li-ion-battery-materials-and-cell-design"]], "Setup the geometry and computational grid": [[24, "setup-the-geometry-and-computational-grid"]], "Initialize the battery model.": [[24, "initialize-the-battery-model"]], "Compute the nominal cell capacity and choose a C-Rate": [[24, "compute-the-nominal-cell-capacity-and-choose-a-c-rate"]], "Setup the schedule": [[24, "setup-the-schedule"]], "Setup the initial state of the model": [[24, "setup-the-initial-state-of-the-model"], [33, "setup-the-initial-state-of-the-model"]], "Setup the properties of the nonlinear solver": [[24, "setup-the-properties-of-the-nonlinear-solver"], [33, "setup-the-properties-of-the-nonlinear-solver"]], "Process output and recover the output voltage and current from the output states.": [[24, "process-output-and-recover-the-output-voltage-and-current-from-the-output-states"]], "Source code for runBatteryP2D": [[25, "source-code-for-runbatteryp2d"]], "Alkaline Membrane Electrolyser": [[26, "alkaline-membrane-electrolyser"]], "Load MRST modules": [[26, "load-mrst-modules"]], "Setup input": [[26, "setup-input"]], "Setup model": [[26, "setup-model"]], "Setup the initial condition": [[26, "setup-the-initial-condition"]], "Setup the schedule with the time discretization": [[26, "setup-the-schedule-with-the-time-discretization"]], "Setup the non-linear solver": [[26, "setup-the-non-linear-solver"]], "Visualize the results": [[26, "visualize-the-results"]], "pH distribution plot": [[26, "ph-distribution-plot"]], "Source code for runElectrolyser": [[28, "source-code-for-runelectrolyser"]], "BattMo example Json input": [[29, "battmo-example-json-input"]], "We load the json files": [[29, "we-load-the-json-files"]], "Material properties": [[29, "material-properties"]], "Simulation parameters": [[29, "simulation-parameters"]], "Ouput specificiations": [[29, "ouput-specificiations"]], "We start the simulation": [[29, "we-start-the-simulation"]], "Plotting": [[29, "plotting"], [31, "plotting"]], "Source code for runJsonScript": [[30, "source-code-for-runjsonscript"]], "Particle simulation with SEI layer growth": [[31, "particle-simulation-with-sei-layer-growth"]], "Setup the model": [[31, "setup-the-model"]], "Setup initial state": [[31, "setup-initial-state"]], "Setup schedule": [[31, "setup-schedule"]], "Setup non-linear solver": [[31, "setup-non-linear-solver"]], "Run simulation": [[31, "run-simulation"]], "Source code for runSEIActiveMaterial": [[32, "source-code-for-runseiactivematerial"]], "Composite Silicon Graphite electrode": [[33, "composite-silicon-graphite-electrode"]], "Shortcuts": [[33, "shortcuts"]], "Setup the properties of the battery": [[33, "setup-the-properties-of-the-battery"]], "Model Instantiation": [[33, "model-instantiation"]], "Setup schedule (control and time stepping)": [[33, "setup-schedule-control-and-time-stepping"]], "Run the simulation for the discharge": [[33, "run-the-simulation-for-the-discharge"]], "Setup charge schedule": [[33, "setup-charge-schedule"]], "Run the simulation for the charge perios": [[33, "run-the-simulation-for-the-charge-perios"]], "Visualisation": [[33, "visualisation"]], "Source code for runSiliconGraphiteBattery": [[34, "source-code-for-runsilicongraphitebattery"]], "runThermalModel": [[35, "runthermalmodel"]], "See Also": [[36, "see-also"]], "MRST": [[36, "mrst"]], "Visualization Tutorial": [[36, "visualization"]], "Grid Factory Tutorial": [[36, "id2"]], "FAIR Data": [[36, "fair-data"]], "Solid Diffusion Models": [[37, "solid-diffusion-models"]], "Thermal Simulation": [[38, "thermal-simulation"]], "List of curated examples": [[39, "list-of-curated-examples"]], "Units": [[40, "units"]], "Converting units in BattMo": [[40, "converting-units-in-battmo"]], "Units and JSON input": [[40, "units-and-json-input"]]}, "indexentries": {}}) \ No newline at end of file +Search.setIndex({"docnames": ["advancedtopics", "architecture", "basicusage", "bibliography", "compositeElectrode", "computationalGraph/graphdoc", "controlinput", "geometryinput", "gui", "gui_calculations", "gui_features", "gui_troubleshooting", "index", "installation", "intermediate", "json", "jsonexample", "juliabridge", "modelinitialisation", "octave", "optimisation", "parsets", "publishedExamples/battMoTutorial", "publishedExamples/battMoTutorial_source", "publishedExamples/runBatteryP2D", "publishedExamples/runBatteryP2D_source", "publishedExamples/runElectrolyser", "publishedExamples/runElectrolyserPreamble", "publishedExamples/runElectrolyser_source", "publishedExamples/runJsonScript", "publishedExamples/runJsonScript_source", "publishedExamples/runProtonicMembrane", "publishedExamples/runProtonicMembranePreamble", "publishedExamples/runProtonicMembrane_source", "publishedExamples/runSEIActiveMaterial", "publishedExamples/runSEIActiveMaterial_source", "publishedExamples/runSiliconGraphiteBattery", "publishedExamples/runSiliconGraphiteBattery_source", "run_temperature_example", "seealso", "soliddiffusion", "thermal", "tutorials", "units"], "filenames": ["advancedtopics.rst", "architecture.rst", "basicusage.rst", "bibliography.rst", "compositeElectrode.rst", "computationalGraph/graphdoc.rst", "controlinput.rst", "geometryinput.rst", "gui.rst", "gui_calculations.rst", "gui_features.rst", "gui_troubleshooting.rst", "index.rst", "installation.rst", "intermediate.rst", "json.rst", "jsonexample.rst", "juliabridge.rst", "modelinitialisation.rst", "octave.rst", "optimisation.rst", "parsets.rst", "publishedExamples/battMoTutorial.rst", "publishedExamples/battMoTutorial_source.rst", "publishedExamples/runBatteryP2D.rst", "publishedExamples/runBatteryP2D_source.rst", "publishedExamples/runElectrolyser.rst", "publishedExamples/runElectrolyserPreamble.rst", "publishedExamples/runElectrolyser_source.rst", "publishedExamples/runJsonScript.rst", "publishedExamples/runJsonScript_source.rst", "publishedExamples/runProtonicMembrane.rst", "publishedExamples/runProtonicMembranePreamble.rst", "publishedExamples/runProtonicMembrane_source.rst", "publishedExamples/runSEIActiveMaterial.rst", "publishedExamples/runSEIActiveMaterial_source.rst", "publishedExamples/runSiliconGraphiteBattery.rst", "publishedExamples/runSiliconGraphiteBattery_source.rst", "run_temperature_example.rst", "seealso.rst", "soliddiffusion.rst", "thermal.rst", "tutorials.rst", "units.rst"], "titles": ["Advanced Usage", "BattMo Model Architecture", "Basic Usage", "Reference lists", "Composite electrode json input file", "Computation Graph Model Design ang Assembly", "Control models", "Battery Geometries", "BattMo App", "Calculations", "Features", "Troubleshooting", "Welcome", "Installation and First Steps", "Intermediate usage", "JSON input specification", "Json input example", "BattMo Julia bridge", "The Battery Simulation Model", "Note on Octave Support", "Optimization", "Parameter sets", "BattMo Tutorial", "Source code for battMoTutorial", "Pseudo-Two-Dimensional (P2D) Lithium-Ion Battery Model", "Source code for runBatteryP2D", "Alkaline Membrane Electrolyser", "<no title>", "Source code for runElectrolyser", "BattMo example Json input", "Source code for runJsonScript", "Protonic Membrane model", "Model overview", "Source code for runProtonicMembrane", "Particle simulation with SEI layer growth", "Source code for runSEIActiveMaterial", "Composite Silicon Graphite electrode", "Source code for runSiliconGraphiteBattery", "runThermalModel", "See Also", "Solid Diffusion Models", "Thermal Simulation", "List of curated examples", "Units"], "terms": {"The": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 38, 39, 40, 41, 43], "batteri": [0, 1, 2, 3, 6, 9, 10, 12, 14, 15, 20, 21, 23, 25, 28, 30, 35, 37, 38, 42], "simul": [0, 1, 3, 5, 6, 7, 8, 10, 11, 12, 20, 23, 25, 27, 28, 30, 33, 35, 37, 38, 39, 42], "model": [0, 3, 7, 8, 10, 12, 17, 20, 21, 23, 25, 27, 28, 30, 33, 35, 37, 38, 39, 41, 42], "control": [0, 1, 14, 18, 20, 23, 24, 25, 26, 28, 30, 31, 33, 34, 35, 37, 38, 40, 41], "solid": [0, 1, 3, 5, 12, 18], "diffus": [0, 1, 3, 18, 20, 22, 23], "paramet": [0, 1, 5, 6, 9, 10, 11, 16, 18, 22, 23, 24, 25, 26, 28, 30, 31, 33, 41], "set": [0, 2, 5, 6, 7, 14, 15, 17, 18, 20, 23, 24, 25, 26, 27, 28, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41], "unit": [0, 2, 16, 18], "thermal": [0, 1, 2, 3, 5, 12, 20, 22, 23, 24, 25, 36, 37, 38], "optimis": 0, "octav": 0, "support": [0, 5, 7, 15, 17, 39, 41, 43], "we": [1, 2, 5, 6, 7, 10, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43], "us": [1, 2, 5, 6, 8, 11, 12, 13, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43], "multi": [1, 2, 3, 7, 12, 14], "approach": [1, 2, 14, 18, 20, 26, 27], "ar": [1, 2, 5, 6, 8, 9, 10, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 38, 40, 41, 42, 43], "organ": [1, 15], "hierarchi": [1, 2, 5, 22, 23, 26, 27], "mean": [1, 5, 7, 15, 17, 18, 19, 20, 31, 33, 41, 43], "given": [1, 2, 5, 6, 14, 15, 16, 17, 18, 20, 22, 23, 26, 27, 29, 30, 32, 33, 34, 35, 36, 37, 40, 41, 43], "can": [1, 2, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 41, 42, 43], "have": [1, 2, 5, 6, 7, 14, 15, 17, 18, 19, 20, 22, 23, 25, 26, 27, 28, 30, 31, 32, 35, 36, 37, 38, 40, 41], "sub": [1, 5, 6, 15, 18, 21, 34, 35, 36, 37], "A": [1, 3, 6, 7, 8, 9, 11, 15, 18, 22, 23, 25, 26, 27, 28, 29, 30, 35, 38, 41], "correspond": [1, 5, 7, 14, 15, 17, 18, 20, 21, 31, 33, 34, 35, 41, 43], "physic": [1, 2, 3, 5, 12, 15, 20, 23, 26, 28], "system": [1, 2, 5, 12, 17, 20, 26, 27, 28], "defin": [1, 5, 8, 15, 20, 22, 23, 24, 25, 26, 28, 31, 32, 36, 37], "function": [1, 2, 5, 6, 7, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 39], "variabl": [1, 5, 15, 18, 20, 22, 23, 26, 28, 31, 33, 34, 35, 39], "need": [1, 2, 5, 14, 15, 18, 22, 23, 26, 27, 41], "assembl": [1, 26, 27], "discret": [1, 5, 15, 18, 20, 22, 23, 24, 25, 27, 28, 31, 33, 39, 40], "govern": [1, 6, 18, 26, 27, 33], "equat": [1, 3, 5, 6, 15, 17, 18, 20, 26, 27, 28, 39, 40], "For": [1, 2, 5, 6, 12, 13, 15, 17, 18, 20, 22, 23, 31, 32, 36, 37, 40, 41], "lithium": [1, 3, 12, 14, 15, 22, 23, 25, 42], "ion": [1, 2, 3, 12, 14, 15, 20, 22, 23, 25, 35, 42], "top": [1, 15], "see": [1, 2, 5, 6, 7, 10, 15, 16, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "schema": [1, 6, 7, 18, 26, 27, 40], "descript": [1, 5, 8, 15], "standard": [1, 6, 7, 15, 17, 19, 20, 24, 25, 26, 28, 29, 30, 36, 37, 40, 41], "input": [1, 2, 5, 7, 8, 11, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 27, 28, 30, 33, 36, 41, 42], "contain": [1, 2, 5, 6, 8, 14, 15, 17, 18, 22, 23, 26, 28, 29, 30, 39], "follow": [1, 2, 5, 6, 13, 14, 17, 18, 20, 21, 22, 23, 26, 27, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42], "neg": [1, 2, 7, 9, 11, 15, 18, 20, 22, 23, 26, 28, 36, 37], "electrod": [1, 2, 3, 5, 7, 9, 11, 12, 14, 18, 20, 22, 23, 26, 27, 31, 32, 34, 35, 37, 40], "posit": [1, 2, 7, 9, 15, 18, 20, 22, 23, 26, 28, 31, 33], "electrolyt": [1, 2, 3, 5, 7, 9, 17, 18, 20, 22, 23, 24, 25, 26, 27, 31, 32, 33, 34, 35], "separ": [1, 2, 7, 9, 14, 18, 20, 21], "thermalmodel": [1, 2, 5, 15, 16, 18, 20, 22, 23, 24, 25, 38, 41], "instanc": [1, 5, 18, 22, 23, 24, 25], "same": [1, 2, 5, 6, 7, 9, 14, 15, 18, 20, 22, 23, 26, 27, 41], "an": [1, 2, 3, 5, 6, 7, 9, 10, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 43], "coat": [1, 2, 4, 7, 9, 14, 18, 20, 22, 23, 24, 25, 36, 37, 41], "materi": [1, 3, 7, 8, 9, 12, 14, 18, 20, 22, 23, 25, 30, 35, 36, 37, 38, 40, 41], "current": [1, 2, 5, 6, 7, 9, 14, 17, 20, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "collector": [1, 2, 7, 9, 14, 20, 22, 23, 36, 37], "its": [1, 2, 5, 8, 10, 15, 18, 20, 43], "ha": [1, 2, 5, 8, 10, 12, 15, 17, 18, 20, 39], "two": [1, 2, 5, 6, 10, 14, 15, 25, 26, 27, 31, 32, 36, 37, 40, 41, 42], "i": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 43], "option": [1, 15, 20, 23, 25, 28, 30, 35, 38, 40], "In": [1, 2, 3, 5, 6, 9, 10, 11, 13, 14, 15, 16, 18, 19, 20, 22, 23, 31, 33, 40, 41, 42, 43], "particular": [1, 5, 15, 18, 20, 23, 25, 28, 30, 31, 33, 35, 38], "1d": [1, 7, 12, 15, 17, 19, 20, 22, 23, 24, 25, 26, 27, 28, 31, 33], "fact": [1, 5, 15, 18, 20, 26, 27], "more": [1, 2, 6, 7, 14, 15, 17, 18, 19, 20, 23, 25, 28, 30, 31, 33, 35, 38, 42], "realist": 1, "includ": [1, 2, 5, 6, 7, 10, 12, 15, 20, 21, 22, 23, 24, 25, 26, 27, 31, 33, 41, 42, 43], "associ": [1, 2, 5], "three": [1, 3, 5, 20, 26, 27, 28, 31, 32], "which": [1, 2, 5, 6, 7, 10, 13, 14, 15, 17, 18, 20, 22, 23, 26, 27, 31, 32, 33, 34, 35, 36, 37, 39, 41, 43], "compon": [1, 5, 9, 10, 15, 18, 26, 27, 31, 32, 41], "activ": [1, 2, 6, 7, 9, 12, 17, 18, 20, 22, 23, 24, 25, 40], "binder": [1, 18, 36, 37], "conduct": [1, 3, 17, 18, 20, 26, 27, 31, 32, 33, 41], "addit": [1, 5, 18, 20, 40], "case": [1, 5, 6, 14, 15, 16, 18, 20, 24, 25, 31, 33, 36, 37, 43], "composit": [1, 3, 15, 31, 32, 37], "differ": [1, 2, 5, 7, 10, 14, 15, 17, 20, 21, 26, 28, 29, 30, 36, 37, 41], "structur": [1, 5, 6, 10, 14, 15, 16, 17, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 33, 36, 37, 41], "describ": [1, 2, 5, 6, 7, 14, 15, 17, 18, 21, 26, 27, 31, 32, 40], "interfac": [1, 2, 4, 7, 8, 12, 14, 18, 20, 22, 23, 24, 25, 34, 35, 36, 37, 41], "soliddiffus": [1, 4, 14, 15, 16, 18, 20, 22, 23, 24, 25, 34, 35, 36, 37], "enter": [1, 5, 15], "reaction": [1, 5, 15, 26, 27, 31, 32], "butler": [1, 3, 15, 20], "volmer": [1, 3, 15, 20, 31, 32], "solv": [1, 5, 6, 18, 19, 20, 26, 27, 28, 40], "implement": [1, 6, 7, 15, 17, 18, 26, 27, 28, 40], "here": [1, 2, 4, 5, 6, 7, 9, 13, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 39, 40, 41, 43], "do": [1, 2, 6, 7, 8, 10, 14, 15, 18, 19, 20, 22, 23, 26, 28, 29, 30, 36, 37, 41, 43], "detail": [1, 2, 7, 8, 10, 13, 14, 18, 20, 23, 25, 26, 27, 28, 30, 31, 33, 35, 38], "exampl": [1, 2, 6, 7, 8, 11, 13, 14, 15, 17, 18, 22, 23, 24, 25, 26, 27, 30, 34, 35, 38, 41, 43], "fulli": [1, 12, 17, 18], "coupl": [1, 5, 7, 12, 15, 20, 26, 27, 38, 41], "present": [1, 5, 15, 16, 20], "thi": [2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40, 42, 43], "section": [2, 8, 9, 10, 11, 14, 15, 18], "still": [2, 8, 10, 20], "under": [2, 8, 12, 15, 20, 23, 25, 28, 30, 35, 38], "develop": [2, 3, 5, 8, 12, 19, 20, 39], "introduc": [2, 5, 20, 31, 32], "some": [2, 5, 6, 7, 8, 10, 11, 15, 19, 20, 22, 23, 24, 25, 31, 32, 33, 34, 35, 36, 37, 43], "simpl": [2, 15, 20, 24, 25, 26, 27, 41], "workflow": [2, 20], "highlight": 2, "import": [2, 5, 17, 18, 20, 25, 35, 37], "let": [2, 5, 6, 14, 18, 41], "": [2, 3, 5, 12, 14, 20, 24, 25, 38, 40, 41], "make": [2, 5, 15, 17, 18, 19, 20, 22, 23, 43], "your": [2, 8, 12, 13, 17, 18, 23, 25, 28, 30, 35, 38], "build": [2, 5, 12, 14, 26, 27], "visual": [2, 5, 7, 8, 19, 28, 41], "p2d": [2, 8, 20, 25, 42], "simult": 2, "li": [2, 3, 12, 14, 20, 25, 35], "cell": [2, 3, 5, 8, 9, 10, 11, 12, 14, 15, 18, 20, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 35, 41, 42], "how": [2, 5, 6, 10, 14, 18, 20, 22, 23, 24, 25], "handl": [2, 15, 20], "final": [2, 5, 17, 18, 20, 22, 23, 38], "discuss": [2, 20], "json": [2, 7, 10, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 30, 33, 34, 35, 36, 37, 38, 40, 41, 42], "manag": [2, 12, 17], "allow": [2, 12, 14], "you": [2, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 23, 25, 28, 30, 35, 38, 39, 43], "easili": [2, 5, 8, 15], "save": [2, 15, 20], "document": [2, 12, 15, 39], "share": [2, 5, 26, 27], "complet": [2, 5, 6, 20, 22, 24, 26, 29, 31, 34, 36], "from": [2, 5, 6, 7, 10, 12, 14, 15, 17, 18, 20, 22, 23, 25, 26, 27, 28, 29, 30, 32, 33, 35, 37, 41], "specif": [2, 5, 8, 9, 14, 18, 22, 23, 26, 28, 29, 30, 41], "long": 2, "explicit": [2, 5, 15, 18], "kei": [2, 7, 15, 20], "name": [2, 5, 6, 7, 15, 18, 20, 21, 22, 23, 24, 25, 42], "good": [2, 20, 40], "readabl": [2, 26, 27], "If": [2, 5, 15, 20, 23, 25, 28, 30, 35, 38, 42, 43], "new": [2, 5, 20, 36, 37, 39], "learn": 2, "about": [2, 5, 14, 20, 22, 23], "avail": [2, 5, 6, 7, 10, 15, 17, 18, 20, 21, 22, 23], "provid": [2, 5, 6, 7, 8, 12, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 43], "sampl": [2, 6], "file": [2, 7, 10, 15, 16, 17, 18, 21, 22, 23, 25, 26, 28, 30, 33, 35, 36, 37, 38, 43], "sample_input": [2, 6, 18], "nmc": [2, 14, 20], "graphit": [2, 4, 14, 20, 37], "load": [2, 6, 9, 15, 17, 20, 22, 23, 24, 25, 28, 30, 33, 34, 35, 36, 37], "pars": [2, 14, 18, 22, 23, 33], "command": [2, 13, 17, 18, 29, 30, 31, 33], "jsonstruct": [2, 6, 14, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 41, 43], "parsebattmojson": [2, 6, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 41], "jsondatafil": [2, 6, 14, 18, 20, 29, 30, 38, 41], "transform": 2, "data": [2, 7, 8, 14, 15, 17, 18, 19, 20, 21, 26, 27, 34, 35, 36, 37, 42], "matlab": [2, 5, 12, 13, 14, 15, 17, 18, 19, 20, 22, 23, 29, 30], "setup": [2, 6, 7, 10, 13, 18, 20, 22, 23, 25, 27, 28, 29, 30, 33, 35, 37, 38, 41], "within": [2, 5, 8, 9, 14, 17, 18], "window": [2, 13, 17, 18], "navig": [2, 13], "level": [2, 5, 12, 15, 18, 22, 23, 26, 27], "want": [2, 5, 6, 15, 20, 22, 23, 31, 32, 33], "know": [2, 5, 6, 15, 18, 22, 23], "thick": [2, 9, 10, 15, 16, 34, 35], "give": [2, 5, 6, 8, 11, 15, 17, 20, 41], "negativeelectrod": [2, 4, 7, 14, 15, 16, 18, 20, 22, 23, 24, 25, 34, 35, 36, 37], "return": [2, 5, 15, 17, 18, 19, 20, 24, 25, 43], "6": [2, 3, 15, 16, 17, 43], "4000e": 2, "05": [2, 16, 18, 20, 34, 35, 43], "unless": 2, "otherwis": [2, 15, 21, 24, 25], "specifi": [2, 15, 18, 20, 23], "si": [2, 18, 43], "base": [2, 3, 5, 7, 8, 12, 20, 22, 23, 36, 37, 39], "quantiti": [2, 12, 18, 20, 26, 28, 41], "runbatteryjson": [2, 14, 20, 29, 30, 38, 41], "main": [2, 7, 15, 26, 27], "plotdashboard": 2, "time": [2, 5, 6, 14, 17, 18, 19, 20, 22, 23, 24, 25, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38, 40, 41], "10": [2, 3, 4, 7, 15, 16, 17, 20, 24, 25, 26, 28, 34, 35, 36, 37], "solut": [2, 3, 12, 14, 15, 18, 19, 31, 33, 40], "timestep": [2, 6, 15, 16, 17, 20, 22, 23, 24, 25, 29, 30, 31, 33], "left": [2, 5, 20, 31, 32], "3": [2, 3, 4, 6, 7, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 30, 31, 33, 34, 35, 36, 37, 38, 43], "column": [2, 5, 20], "profil": [2, 12, 20, 34, 35, 40], "concentr": [2, 5, 9, 12, 14, 15, 16, 22, 23, 26, 27, 28, 34, 35, 40], "electr": [2, 12, 34, 35], "potenti": [2, 5, 6, 12, 15, 20, 24, 25, 31, 32, 33, 34, 35], "rightmost": 2, "calcul": [2, 8, 12, 20, 22, 23, 24, 25, 43], "voltag": [2, 6, 12, 15, 17, 18, 20, 22, 23, 25, 26, 28, 29, 30, 36, 37, 38], "subsect": 2, "access": [2, 5, 8, 18, 22, 23, 26, 27, 41], "among": [2, 11], "other": [2, 5, 12, 15, 16, 17, 18, 20, 22, 23, 31, 32], "thing": [2, 22, 23, 29, 30, 43], "1x1": [2, 18], "struct": [2, 6, 20, 22, 23, 24, 25, 26, 28, 34, 35, 36, 37, 43], "inform": [2, 5, 12, 15, 20, 22, 23, 36, 37], "initi": [2, 6, 12, 15, 18, 20, 23, 25, 27, 28, 33, 35, 37, 40], "condit": [2, 15, 18, 28], "while": [2, 15, 26, 27], "each": [2, 5, 6, 15, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 31, 32, 40, 41], "requir": [2, 5, 6, 15, 18, 19, 20, 22, 23, 25, 35, 37], "e": [2, 3, 5, 14, 15, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 43], "what": [2, 20], "where": [2, 5, 6, 10, 13, 14, 15, 17, 18, 20, 22, 23, 26, 27, 29, 30, 31, 32, 41], "valu": [2, 5, 6, 10, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 41, 43], "mesh": [2, 7, 31, 33, 36, 37], "one": [2, 5, 7, 10, 13, 14, 15, 20, 22, 23, 26, 27, 38, 41], "most": [2, 5, 6, 14, 18, 20], "properti": [2, 5, 6, 14, 15, 17, 20, 22, 23, 25, 26, 28, 30, 35, 37, 38, 41], "store": [2, 5, 22, 23, 24, 25, 26, 28], "face": [2, 5, 7, 38, 41], "node": [2, 5], "etc": [2, 43], "g": [2, 18, 20, 26, 28, 38, 41], "centroid": [2, 26, 28, 31, 33], "To": [2, 5, 7, 15, 17, 18, 20, 22, 23, 29, 30, 41], "x": [2, 7, 12, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37], "zero": [2, 5, 6, 15, 20, 31, 32, 33, 41], "size": [2, 6, 22, 23, 26, 27], "o": [2, 3], "xlabel": [2, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 41], "m": [2, 3, 5, 9, 22, 24, 26, 29, 31, 33, 34, 35, 36, 38, 41], "overal": [2, 5, 6, 14, 15, 40], "howev": [2, 14, 15, 18, 19, 43], "modular": [2, 14], "compos": [2, 5, 15], "smaller": [2, 20], "submodel": [2, 5, 15, 18, 22, 23, 24, 25, 26, 28], "own": [2, 5, 8, 19], "color": [2, 10, 26, 28], "x_ne": 2, "x_sep": 2, "x_pe": 2, "positiveelectrod": [2, 7, 14, 15, 16, 18, 20, 22, 23, 24, 25, 34, 35, 36, 37], "hold": [2, 20, 22, 23, 26, 28, 34, 35, 36, 37, 38, 41], "ok": 2, "would": [2, 5, 10, 13, 14, 18], "like": [2, 5, 8, 10, 11, 12, 13, 14, 19, 20], "pleas": [2, 12], "architectur": [2, 18, 24, 25], "arrai": [2, 5, 6, 15, 18, 22, 23], "entri": 2, "look": [2, 5, 6, 14, 18, 20, 26, 27, 41], "shown": [2, 14, 18, 20, 43], "abov": [2, 5, 6, 15, 17, 18, 20, 26, 27, 34, 35], "1": [2, 3, 4, 5, 6, 7, 9, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 41, 43], "504": 2, "second": [2, 6, 10], "c": [2, 3, 5, 17, 18, 22, 23, 25, 31, 32, 34, 35, 38, 41], "30": [2, 7, 20, 24, 25], "doubl": [2, 3, 18], "phi": [2, 17, 31, 32, 33], "vector": [2, 20, 22, 23, 38, 41], "match": [2, 14, 18, 20, 40], "wai": [2, 5, 6, 15, 17, 22, 23, 26, 27, 41], "ylabel": [2, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 41], "mol": [2, 5, 14, 16, 26, 27, 28, 34, 35, 43], "cdot": [2, 5, 31, 32], "also": [2, 5, 6, 7, 10, 13, 14, 15, 18, 19, 20, 22, 23, 26, 27, 31, 32, 33, 34, 35, 40, 43], "dedic": [2, 15, 18, 39], "come": [2, 5, 22, 23, 26, 27, 34, 35], "handi": 2, "when": [2, 5, 6, 8, 10, 14, 15, 17, 18, 20, 22, 23, 29, 30, 31, 33, 43], "start": [2, 5, 6, 13, 15, 20, 22, 23, 30, 36, 37], "work": [2, 18, 43], "complex": [2, 5, 12, 14, 26, 27], "p4d": 2, "gener": [2, 5, 6, 7, 12, 15, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 38, 39], "plotcelldata": [2, 14, 38, 41], "That": [2, 14], "post": [2, 15], "process": [2, 3, 5, 6, 14, 15, 18, 25, 26, 27, 41], "But": [2, 5, 17], "lot": [2, 41], "excit": 2, "featur": [2, 8], "discov": [2, 5], "keep": [2, 5, 6, 15], "go": [2, 5, 6, 17], "chage": 2, "try": 2, "discharg": [2, 3, 6, 15, 18, 20, 24, 25, 37, 40, 41], "rate": [2, 5, 15, 25, 34, 35], "onc": [2, 5, 17, 22, 23, 26, 27], "been": [2, 5, 15, 18, 22, 23, 36, 37, 39, 40], "read": [2, 5, 15, 26, 28], "modifi": [2, 5, 15, 23, 25, 28, 30, 35, 38], "programmat": 2, "loop": [2, 5], "replac": [2, 5, 6, 17], "re": [2, 12, 14], "crate": [2, 6, 15, 18, 20, 22, 23, 24, 25, 29, 30, 36, 37], "0": [2, 4, 5, 6, 7, 14, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 41, 43], "5": [2, 6, 7, 10, 14, 16, 17, 20, 22, 23, 26, 28, 34, 35], "2": [2, 3, 5, 6, 7, 15, 16, 17, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 41], "figur": [2, 6, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 41], "numel": [2, 20, 22, 23, 26, 28, 34, 35, 36, 37], "cellfun": [2, 17, 20, 22, 23, 24, 25, 26, 28, 29, 30, 34, 35, 36, 37, 38, 41], "hour": [2, 17, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 34, 35, 36, 37, 38, 41], "linewidth": [2, 17], "end": [2, 5, 18, 20, 22, 23, 24, 25, 26, 28, 31, 32, 33, 34, 35, 36, 37, 38, 41], "off": [2, 5, 22, 23], "comparison": [2, 3, 42], "curv": [2, 20, 23, 26, 28, 40, 41], "now": [2, 5, 6, 14, 17, 18, 20, 22, 23, 24, 25, 36, 37], "could": [2, 15, 17, 20, 31, 32, 36, 37], "consid": [2, 5, 14, 15, 16, 26, 27, 28, 31, 32, 33, 36, 37, 40], "take": [2, 5, 14, 15, 17, 18, 19, 20, 22, 23, 29, 30, 31, 32, 41], "previou": [2, 5, 15, 18], "iter": [2, 5, 6, 15, 20, 24, 25, 26, 28, 36, 37], "through": [2, 5, 13, 15, 21, 31, 32, 41], "16": [2, 7, 22, 23, 36, 37], "32": 2, "48": 2, "64": [2, 7], "1e": [2, 4, 6, 15, 16, 17, 20, 24, 25, 31, 33, 34, 35, 36, 37], "thin": [2, 41], "capac": [2, 6, 8, 9, 15, 18, 25, 41], "limit": [2, 6, 9, 15, 20], "increas": [2, 6, 11, 15, 26, 27, 28, 31, 33], "eventu": 2, "becom": [2, 5, 31, 33], "collect": [2, 22, 23, 29, 30], "scientif": [2, 19], "literatur": [2, 10], "lfp": 2, "clear": [2, 18, 20, 22, 23, 24, 25, 34, 35], "workspac": [2, 20, 24, 25, 34, 35], "reload": 2, "origin": [2, 5, 20], "clean": 2, "slate": 2, "all": [2, 5, 6, 7, 16, 18, 20, 22, 23, 24, 25, 26, 27, 28, 34, 35, 41, 43], "close": [2, 5, 17, 20, 22, 23, 24, 25, 34, 35], "librari": 2, "move": 2, "right": [2, 5, 15, 20, 31, 32], "place": [2, 5, 14, 15], "parameterdata": [2, 4, 14, 20, 21, 22, 23, 24, 25, 29, 30, 34, 35, 36, 37, 38, 41], "materialproperti": [2, 4, 14, 21], "jsonstruct_lfp": 2, "activemateri": [2, 14, 15, 16, 18, 20, 22, 23, 24, 25, 34, 35, 36, 37], "merg": [2, 14, 29, 30, 36, 37, 41], "our": [2, 5, 6, 7, 12, 14, 17, 18, 20, 36, 37, 41], "exist": [2, 5, 15], "mergejsonstruct": [2, 15, 20, 29, 30, 31, 33, 36, 37, 38, 41], "sure": [2, 15, 18, 20, 22, 23, 43], "consist": [2, 5, 15, 18, 22, 23, 26, 27, 41], "across": 2, "densiti": [2, 4, 5, 9, 14, 15, 16, 18, 20, 31, 32, 43], "effectivedens": [2, 15, 16], "900": 2, "And": 2, "written": [2, 5, 15, 17], "publish": [2, 23, 25, 28, 30, 35, 38, 42], "live": 2, "code": [2, 5, 14, 17, 18, 20, 22, 24, 26, 27, 29, 31, 34, 36, 43], "format": [2, 10, 24, 25, 26, 27], "mlx": 2, "thei": [2, 5, 14, 15, 18, 20, 21, 26, 27, 41, 42, 43], "interact": [2, 5], "manner": [2, 18], "found": [2, 5, 6, 10, 11, 20, 22, 23, 24, 26, 29, 31, 34, 36, 42, 43], "directori": [2, 13, 15, 17, 21, 42], "download": [2, 8], "tutori": [2, 12, 14, 20, 23, 42], "view": [2, 22, 23, 38, 41], "protocol": 2, "4": [2, 6, 7, 16, 17, 18, 20, 24, 25, 29, 30, 31, 33, 34, 35, 36, 37], "cc": [2, 6, 15, 20, 22, 23, 24, 25], "cv": 2, "cycl": [2, 6, 20], "perform": [2, 3, 12, 14, 20], "7": [2, 3, 7, 20], "8": [2, 3, 4, 17, 31, 33], "layer": [2, 14, 15, 18, 26, 27, 35, 42], "pouch": [2, 7, 15], "9": [2, 7, 15, 20, 36, 37], "cylindr": 2, "congratul": 2, "familiar": 2, "should": [2, 5, 11, 15, 17, 18, 19, 20, 23, 25, 28, 30, 35, 38, 42], "enough": [2, 7, 18], "advanc": [2, 3, 11, 12, 18], "up": [2, 5, 6, 7, 17, 20, 23, 24, 25, 26, 27, 30], "custom": 2, "p3d": 2, "effect": [2, 3, 5, 9, 14, 15, 18, 20, 22, 23, 38, 41], "bsh": 3, "22": 3, "linda": 3, "j": [3, 5, 26, 28], "bolai": [3, 15], "tobia": 3, "schmitt": 3, "simon": 3, "hein": 3, "omar": 3, "mendoza": 3, "hernandez": 3, "eiji": 3, "hosono": 3, "daisuk": 3, "asakura": 3, "koichi": 3, "kinoshita": 3, "hirofumi": 3, "matsuda": 3, "minoru": 3, "umeda": 3, "yoshitsugu": 3, "sone": 3, "arnulf": 3, "latz": 3, "birger": 3, "horstmann": 3, "microstructur": 3, "resolv": [3, 11], "degrad": 3, "space": [3, 5, 7, 12, 15, 20, 26, 27], "applic": [3, 8, 10], "journal": 3, "power": [3, 12, 20], "sourc": [3, 5, 6, 7, 12, 14, 15, 19, 20, 22, 24, 26, 27, 29, 31, 34, 36, 39], "14": [3, 4, 16, 26, 28], "100083": 3, "2022": [3, 15], "doi": 3, "1016": 3, "powera": 3, "cporegan": [3, 21, 40], "20": [3, 7, 14, 21, 24, 25, 38, 40], "chang": [3, 5, 6, 10, 18, 20, 22, 23, 24, 25, 31, 33, 36, 37, 38], "hui": 3, "chen": [3, 21, 40, 42], "ferran": 3, "planella": 3, "kieran": 3, "regan": 3, "dominika": 3, "gastol": 3, "dhammika": 3, "widanagea": 3, "emma": 3, "kendrick": 3, "experiment": [3, 20], "techniqu": 3, "parameter": [3, 7, 15, 18, 20], "scale": [3, 5, 7, 12, 14, 20], "electrochem": [3, 12, 14, 15, 31, 32], "societi": 3, "167": 3, "080534": 3, "2020": [3, 12, 15, 21], "1149": 3, "1945": 3, "7111": 3, "ab9050": 3, "dfn93": [3, 40], "marc": 3, "doyl": [3, 12], "thoma": 3, "f": [3, 9, 31, 32], "fuller": [3, 12, 40], "john": 3, "newman": [3, 12, 40], "galvanostat": 3, "charg": [3, 5, 6, 15, 18, 23, 26, 27, 31, 32, 37], "polym": 3, "insert": 3, "140": 3, "1526": 3, "1533": 3, "june": 3, "1993": 3, "url": 3, "http": [3, 8, 12, 13, 15, 23, 25, 28, 30, 35, 38], "dx": 3, "org": [3, 15, 23, 25, 28, 30, 35, 38], "2221597": 3, "gbk": [3, 26, 27], "23": [3, 26, 27], "michael": 3, "robert": 3, "gerhardt": 3, "alejandro": 3, "barnett": 3, "thulil": 3, "khoza": 3, "patrick": 3, "fortin": 3, "sara": 3, "andrenacci": 3, "alaa": 3, "y": [3, 7], "faid": 3, "p": [3, 18, 20, 31, 32], "\u00e5": 3, "l": [3, 7, 18, 31, 32, 34, 35], "emil": 3, "england": 3, "karstensen": 3, "svein": 3, "sund": 3, "clark": 3, "open": [3, 5, 10, 12, 13, 15, 19, 20, 24, 25, 31, 32, 34, 35, 39], "continuum": [3, 12], "anion": 3, "exchang": [3, 5, 15, 20, 26, 27, 41], "membran": [3, 27, 28, 32, 33, 42], "water": [3, 26, 27], "electrolysi": [3, 26, 27], "meet": 3, "abstract": 3, "243": 3, "number": [3, 5, 6, 9, 11, 12, 15, 20, 24, 25, 36, 37], "36": 3, "2002": 3, "inc": 3, "2023": [3, 30], "lz13": [3, 18], "jochen": 3, "zausch": 3, "thermodynam": 3, "deriv": [3, 6, 17, 20, 26, 27], "intercal": 3, "electrochimica": 3, "acta": 3, "110": 3, "358": 3, "362": 3, "nov": 3, "2013": 3, "electacta": 3, "06": [3, 4, 16, 20], "043": 3, "lz16": [3, 18], "multiscal": 3, "aspect": 3, "jul": 3, "2016": 3, "1515": 3, "nano": [3, 34, 35], "bjneah": 3, "102": 3, "lzi11": [3, 18], "oleg": 3, "iliev": 3, "speci": [3, 5, 15, 16], "transport": [3, 15, 18, 26, 27], "non": [3, 5, 6, 15, 18, 27, 28, 31, 33, 35], "equilibrium": [3, 15, 18, 22, 23, 31, 32], "numer": [3, 12, 15, 20, 22, 23], "method": [3, 5, 6, 17, 18, 20, 22, 23, 24, 25, 26, 28, 36, 37, 40], "page": [3, 10, 15, 16], "329": 3, "337": 3, "springer": 3, "berlin": 3, "heidelberg": 3, "2011": 3, "1007": 3, "978": 3, "642": 3, "18466": 3, "6_39": 3, "smtd09": [3, 21], "safari": [3, 15, 21], "morcrett": 3, "teyssot": 3, "delacourt": 3, "multimod": 3, "ag": 3, "life": [3, 22, 23], "predict": 3, "156": 3, "a145": 3, "2009": [3, 15, 21], "3043429": 3, "sgw19": 3, "lauren": 3, "n": [3, 4, 6, 9, 15, 16, 18, 20, 22, 23, 26, 28, 31, 32, 34, 35, 36, 37], "stanislaw": 3, "r": [3, 5, 20, 34, 35], "adam": 3, "z": [3, 7, 31, 32], "weber": 3, "electrolyz": [3, 12], "ec": 3, "transact": 3, "92": [3, 4], "767": 3, "2019": [3, 31, 32], "vst": [3, 31, 32], "19": [3, 31, 32], "einar": 3, "v\u00f8llestad": 3, "ragnar": 3, "strandbakk": 3, "mateusz": 3, "tarach": 3, "david": 3, "catal\u00e1n": 3, "mart\u00ednez": 3, "mari": 3, "laur": 3, "fontain": 3, "dustin": 3, "beeaff": 3, "daniel": 3, "jose": 3, "serra": 3, "trul": 3, "norbi": 3, "mix": [3, 14, 31, 32], "proton": [3, 32, 33], "electron": [3, 9, 15, 18, 20, 31, 32, 33], "perovskit": 3, "anod": [3, 20, 31, 32, 33], "stabl": 3, "effici": [3, 12, 20], "tubular": 3, "ceram": 3, "electrolys": [3, 27, 28, 42], "natur": 3, "18": [3, 7, 22, 23, 36, 37], "752": 3, "759": 3, "1038": 3, "s41563": 3, "019": 3, "0388": 3, "xzw": 3, "15": [3, 4, 7, 16, 22, 23, 26, 28, 31, 33, 34, 35, 38], "meng": 3, "xu": [3, 21], "zhuqian": 3, "zhang": 3, "xia": 3, "wang": 3, "jia": 3, "lixin": 3, "yang": 3, "pseudo": [3, 14, 25, 40, 42], "dimension": [3, 14, 25, 26, 27, 42], "prismat": 3, "lifepo4": 3, "dure": [3, 20, 22, 23], "energi": [3, 5, 12, 15, 18, 20, 23, 25, 28, 30, 35, 38], "80": [3, 7, 20], "303": 3, "317": 3, "2015": [3, 21], "2014": 3, "11": [3, 14, 16, 20], "073": 3, "zw07a": 3, "qi": 3, "ralph": 3, "white": 3, "approxim": [3, 20, 40], "phase": [3, 15, 26, 27, 40], "porou": [3, 15, 26, 27], "165": 3, "880": 3, "886": 3, "2007": 3, "jpowsour": 3, "2006": 3, "12": [3, 15, 20], "056": 3, "zw07b": [3, 40], "march": 3, "part": [4, 5, 7, 15, 20, 21, 22, 23, 25, 26, 27, 28, 30, 35, 38, 40], "silicon": [4, 37], "activematerialmodelsetup": [4, 15], "true": [4, 6, 14, 15, 16, 17, 20, 24, 25, 26, 28, 34, 35, 36, 37, 38, 41], "activematerial1": [4, 15, 36, 37], "specificheatcapac": [4, 15, 16, 18], "632": [4, 16, 18], "heatcapac": 4, "632000": 4, "thermalconduct": [4, 15, 16, 18], "04": [4, 16], "electronicconduct": [4, 15, 16, 18], "100": [4, 7, 15, 16, 18, 26, 28, 34, 35, 36, 37, 38, 41], "massfract": [4, 15, 16, 18, 36, 37], "2240": [4, 14, 16, 18], "isfil": [4, 14, 15, 16], "filenam": [4, 14, 16, 31, 33], "diffusionmodeltyp": [4, 15, 16, 20, 22, 23, 40], "full": [4, 5, 16, 17, 22, 23, 40, 43], "activationenergyofdiffus": [4, 15, 16], "5000": [4, 14, 16], "referencediffusioncoeffici": [4, 15, 16], "9e": [4, 16], "particleradiu": [4, 15, 16, 34, 35], "activematerial2": [4, 15, 36, 37], "08": [4, 36, 37], "2330": 4, "6e": 4, "essenti": [5, 7, 12, 15, 39], "identifi": [5, 15], "depend": [5, 10, 13, 15, 18, 20, 31, 32, 41], "implicit": [5, 18, 26, 27], "directli": [5, 15, 17, 18, 21, 43], "evalu": [5, 15, 20], "doe": [5, 18, 20], "form": [5, 10, 15, 20, 31, 32, 36, 37], "relationship": 5, "between": [5, 7, 15, 20, 26, 27, 31, 32, 40], "purpos": [5, 23, 25, 28, 30, 35, 38, 43], "ad": [5, 15, 20, 22, 23, 24, 25, 26, 28, 29, 30, 34, 35, 36, 37], "linear": [5, 6, 15, 18, 20, 27, 28, 31, 32, 33, 35], "step": [5, 6, 14, 17, 18, 19, 20, 22, 23, 24, 25, 26, 27, 28, 31, 33, 34, 35, 37, 41], "evolut": [5, 26, 27], "problem": [5, 6, 17, 18, 20], "direct": [5, 7, 14, 15, 18, 24, 25, 40], "edg": 5, "repres": [5, 9, 40], "computationalgraphtool": 5, "class": [5, 7, 17, 20, 22, 23, 24, 25, 36, 37], "serv": [5, 17], "tool": [5, 7], "manipul": 5, "explor": [5, 12, 14], "run": [5, 6, 13, 15, 18, 19, 20, 23, 25, 27, 28, 29, 30, 31, 33, 35, 37, 38, 41, 42], "help": [5, 30], "below": [5, 6, 14, 15, 17, 18, 20, 22, 23, 26, 27, 31, 32, 43], "automat": [5, 20, 26, 27, 28, 39, 43], "unknown": [5, 24, 25, 31, 32], "call": [5, 6, 17, 18, 20, 22, 23, 31, 33], "primari": [5, 22, 23, 26, 28], "root": [5, 17], "locat": [5, 14, 15, 20, 22, 23, 40], "tail": 5, "equal": [5, 6, 15, 31, 32, 33, 38, 41], "order": [5, 10, 11, 17], "updat": [5, 20, 22, 23, 24, 25, 36, 37], "intermedi": [5, 26, 28], "indirectli": 5, "definit": [5, 14, 15, 18], "u": [5, 6, 14, 18, 22, 23, 26, 27, 41, 42], "begin": [5, 20, 31, 32, 40], "align": [5, 31, 32], "alpha": [5, 15, 31, 32], "frac": [5, 6, 9, 31, 32], "eta": [5, 31, 32], "rt": [5, 31, 32], "k": [5, 20, 41], "c_": [5, 9], "c_e": 5, "frac12": 5, "phi_": [5, 31, 32], "phi_e": 5, "text": [5, 31, 32], "ocp": [5, 15, 23, 31, 32, 34, 35], "hat": 5, "seven": 5, "obtain": [5, 6, 14, 15, 18, 20, 29, 30, 31, 33, 41], "battmo": [5, 6, 10, 12, 13, 14, 15, 18, 19, 20, 23, 25, 26, 27, 28, 30, 31, 33, 35, 38, 39, 40, 41, 42], "after": [5, 10, 20, 40, 42], "explain": [5, 10, 22, 23], "later": [5, 15, 20, 23, 25, 28, 30, 31, 32, 35, 38], "done": [5, 8, 9, 15, 17, 18, 20, 31, 33, 41], "impati": 5, "acycl": 5, "thu": [5, 18, 19], "onli": [5, 7, 15, 17, 18, 19, 20, 26, 27, 28, 40, 41], "travers": 5, "alwai": [5, 15, 18], "opposit": [5, 6], "without": [5, 14, 16, 17, 20, 23, 25, 28, 30, 35, 38, 43], "ani": [5, 17, 23, 25, 26, 27, 28, 30, 35, 38], "extern": [5, 15, 38, 41], "expect": [5, 17], "rare": 5, "context": 5, "Then": [5, 6, 10, 13, 15, 18, 19, 20, 41], "scalar": 5, "mayb": 5, "incom": 5, "output": [5, 7, 14, 18, 20, 22, 23, 25, 29, 30, 36, 37, 38, 41], "argument": [5, 15, 18], "connect": 5, "motiv": [5, 26, 27], "suuch": 5, "represent": 5, "express": [5, 17, 31, 32], "It": [5, 6, 8, 12, 14, 15, 17, 18, 19, 20, 22, 23, 41], "synthet": 5, "overview": [5, 10, 18], "Of": 5, "cours": 5, "precis": 5, "visibl": [5, 11], "encod": 5, "chosen": [5, 22, 23, 41], "user": [5, 8, 10, 15, 17, 18, 19, 24, 25, 39, 43], "becaus": [5, 17, 20], "them": [5, 6, 10, 18, 20, 26, 27], "insight": 5, "preserv": 5, "especi": 5, "expand": [5, 10], "meaningful": 5, "expert": 5, "domain": [5, 12, 15, 26, 28, 41], "over": [5, 26, 28, 31, 32], "circuit": [5, 15, 31, 32], "inspect": [5, 22, 23], "first": [5, 6, 7, 10, 14, 17, 18, 20, 22, 23, 29, 30, 41], "recogn": [5, 15, 18], "him": 5, "expertis": 5, "terminologi": 5, "electrochemistri": 5, "bring": [5, 15], "flexibl": [5, 12, 17], "reusabl": 5, "who": 5, "typic": [5, 6, 15, 18, 41], "interest": [5, 14, 20], "reus": [5, 17], "understand": [5, 12], "mai": [5, 6, 14, 15, 17, 19, 20, 31, 33], "obei": 5, "ideal": 5, "tabul": [5, 15, 17], "Such": 5, "belong": [5, 9, 20, 36, 37], "mention": [5, 15, 18, 26, 27], "earlier": [5, 18, 36, 37], "continu": [5, 6], "temperatur": [5, 12, 15, 16, 18, 22, 23, 34, 35, 38, 41], "t": [5, 6, 8, 14, 15, 17, 22, 23, 24, 25, 34, 35, 38, 41], "least": [5, 20], "heat": [5, 15, 38, 41], "t_t": 5, "nabla": [5, 31, 32], "lambda": 5, "q": [5, 9], "write": [5, 14, 20, 42, 43], "oper": [5, 15, 18, 20, 22, 23, 24, 25, 26, 27, 39], "div": 5, "grad": 5, "denot": [5, 31, 32], "differenti": [5, 18, 20, 26, 27, 31, 32, 39], "accumterm": 5, "delta": [5, 34, 35], "flux": [5, 31, 32], "sourceterm": 5, "energycon": 5, "illustr": [5, 7, 20, 26, 27], "combin": [5, 14, 20, 24, 25], "produc": [5, 7, 18, 26, 28, 40], "chemic": [5, 15, 31, 32, 33], "either": [5, 15, 17, 18, 23, 25, 28, 30, 35, 38], "back": [5, 20], "With": [5, 17], "find": [5, 9, 14, 15, 18, 20, 22, 23, 31, 32, 39], "conserv": [5, 18, 26, 27, 31, 32], "priori": 5, "well": [5, 20], "pose": 5, "At": [5, 6, 8, 15, 20, 31, 32], "stage": 5, "detect": 5, "proce": [5, 18], "conclud": 5, "were": 5, "kept": 5, "constant": [5, 6, 9, 15, 20, 31, 32], "infinit": 5, "reservoir": [5, 12, 39], "evolv": 5, "accordingli": 5, "dc_": 5, "dt": [5, 6, 20, 26, 28, 34, 35, 36, 37], "r_": [5, 31, 32], "dc_r": 5, "r_e": 5, "hand": 5, "side": [5, 15], "stoichiometri": [5, 9, 15], "grap": 5, "masssaccum": 5, "masscon": 5, "te": 5, "issu": [5, 11, 15, 17, 19, 29, 30], "duplic": 5, "add": [5, 15, 18, 20, 22, 23, 24, 25, 26, 28, 29, 30, 34, 35, 36, 37], "indic": [5, 6, 11, 15], "notat": 5, "cannot": 5, "robustli": 5, "larg": [5, 20, 40], "instead": [5, 20], "wa": [5, 26, 27], "alreadi": [5, 15, 22, 23, 24, 25], "elyt": [5, 20, 22, 23, 24, 25, 31, 33, 34, 35], "note": [5, 14, 20, 36, 37], "difficult": 5, "harder": 5, "grow": 5, "known": 5, "mass": [5, 8, 9, 15, 18, 26, 27, 31, 32, 36, 37], "sew": 5, "togeth": [5, 10, 22, 23], "parent": [5, 36, 37], "child": 5, "few": [5, 20], "decompos": 5, "claim": 5, "decomposit": 5, "break": 5, "newton": [5, 15, 18, 26, 27, 39], "instanti": [5, 18, 20, 22, 23, 31, 33, 37], "infer": 5, "rel": [5, 15, 20, 36, 37], "dependenci": 5, "jacobian": 5, "residu": [5, 17, 18], "matrix": 5, "sent": 5, "solver": [5, 12, 17, 18, 19, 20, 22, 23, 25, 28, 35, 37, 39], "until": [5, 6, 11, 15, 17, 20], "converg": [5, 15, 20], "automatis": 5, "so": [5, 6, 18, 20, 31, 33, 41], "focu": 5, "further": [5, 15, 17], "framework": [5, 12], "review": [5, 6], "goal": 5, "readibl": 5, "reusabililti": 5, "abl": 5, "easi": [5, 8, 20, 39], "impli": [5, 23, 25, 28, 30, 35, 38], "modif": [5, 26, 28], "unchang": 5, "untouch": 5, "determin": [5, 6, 15, 20], "index": [5, 6, 38, 41], "pair": [5, 43], "intern": [5, 18], "string": [5, 15, 17, 26, 28, 43], "suppos": 5, "choos": [5, 6, 10, 15, 25, 40], "those": [5, 7, 15, 18, 19, 26, 28, 41], "carefulli": 5, "enhanc": 5, "sinc": [5, 20, 31, 32], "independ": [5, 26, 27], "deal": [5, 15, 39], "mechan": [5, 14, 15], "frequent": 5, "concencentr": 5, "get": [5, 15, 18, 20, 22, 23, 26, 27, 28, 31, 32], "impract": 5, "rather": 5, "map": [5, 12], "conveni": [5, 10, 15, 18, 20, 21, 31, 33], "varnam": 5, "classdef": 5, "namespac": 5, "dim": 5, "integ": [5, 15], "uniqu": 5, "creat": [5, 6, 7, 14, 15, 17, 22, 23, 38, 41], "assign": [5, 20, 34, 35], "modul": [5, 20, 22, 23, 25, 28, 29, 30, 35, 37], "program": [5, 12, 19, 20], "languag": [5, 19], "python": [5, 20], "julia": [5, 8, 12], "distinguish": 5, "construct": [5, 7, 15, 18, 20], "moment": [5, 8, 15, 17, 20], "basemodel": 5, "gradual": [5, 6], "useful": [5, 39], "registervarandpropfuncnam": 5, "declar": 5, "dynam": [5, 12], "varnamelist": 5, "propertyfunctionlist": 5, "accumul": 5, "term": [5, 22, 23, 25, 26, 27, 28, 30, 35, 38], "registervarnam": 5, "list": [5, 7, 15, 17, 18, 21, 26, 27, 43], "singl": [5, 14, 16, 18], "syntax": [5, 15, 17, 19], "sugar": 5, "convert": [5, 18], "lighten": 5, "sever": [5, 9, 10, 17, 20], "act": 5, "setupcomputationalgraph": 5, "cgt": [5, 24, 25], "computationalgraph": [5, 24, 25], "shortcut": [5, 26, 28, 31, 33, 37], "last": [5, 7, 31, 33, 34, 35, 36, 37, 40, 41], "line": [5, 10, 14, 18, 22, 23], "popul": 5, "printvarnam": 5, "print": [5, 18, 20], "regist": [5, 17], "similari": 5, "reactionmodel": 5, "carrier": 5, "surfac": [5, 14, 15, 18, 20, 34, 35], "v": [5, 9, 18, 20, 22, 23, 24, 25, 29, 30, 31, 33, 34, 35, 36, 37, 38], "coeffici": [5, 15, 18, 20, 31, 32, 38, 41], "As": [5, 6, 11, 15, 20], "reactionthermalmodel": 5, "observ": [5, 40], "both": [5, 14, 17, 20, 22, 23], "prevent": 5, "ambigu": 5, "join": 5, "dot": 5, "delimit": 5, "front": [5, 36, 37], "propfunct": 5, "inputvarnam": 5, "modelnamespac": 5, "fn": [5, 20], "handler": 5, "functioncallsetupfn": 5, "tell": [5, 42], "updateflux": 5, "registerpropfunct": 5, "updateaccumterm": 5, "updateenergycon": 5, "inputnam": 5, "offer": [5, 12], "veri": [5, 8, 15, 17, 20, 41], "concis": 5, "did": [5, 10], "varnnam": 5, "computationalgraphplot": 5, "result": [5, 6, 8, 17, 20, 23, 27, 28, 41], "cgp": 5, "stand": [5, 34, 35], "plot": [5, 10, 14, 17, 19, 20, 23, 24, 25, 28, 30, 33, 35, 36, 37, 38, 40, 41], "printorderedfunctioncalllist": 5, "sequenc": 5, "examplifi": 5, "state": [5, 6, 12, 14, 15, 17, 18, 20, 23, 25, 26, 28, 29, 30, 32, 33, 35, 37, 38, 41], "similarli": 5, "sake": [5, 7], "uncoupledreactionthermalmodel": 5, "uncoupl": 5, "clearli": [5, 26, 27], "announc": 5, "updateocp": 5, "updatethermalsourc": 5, "updatereactionratecoeffici": 5, "updateeta": 5, "updatereactionr": 5, "fullfil": [5, 14, 17, 20, 22, 23, 24, 25, 29, 30, 31, 33, 34, 35, 38, 41], "formul": 5, "whereev": 5, "sse": 5, "field": [5, 6, 15, 22, 23, 26, 28, 34, 35, 36, 37, 41, 43], "send": [5, 18, 22, 23, 24, 25], "strip": 5, "local": 5, "type": [6, 14, 15, 16, 17, 21, 22, 23, 31, 32, 40], "total": [6, 15, 18, 20, 22, 23, 26, 28, 29, 30, 31, 32, 34, 35, 36, 37], "plan": [6, 12, 15, 17], "short": [6, 20], "explan": 6, "ccdischarg": [6, 15, 16, 20, 36, 37], "cccharg": [6, 15], "cccv": [6, 15, 24, 25], "controlmodel": [6, 15, 22, 23], "controlpolici": [6, 15, 16, 24, 25], "befor": [6, 7, 41, 43], "comput": [6, 15, 17, 19, 20, 22, 23, 25, 26, 27, 28, 31, 33, 34, 35, 36, 37, 39, 40, 41], "lower": [6, 15, 20], "cutoff": [6, 15], "stop": [6, 15, 20, 22, 23], "usecvswitch": [6, 15, 20], "fix": [6, 11, 15], "switch": [6, 15, 24, 25], "strong": [6, 20], "difficulti": [6, 19], "reach": [6, 15, 20, 31, 33], "reason": [6, 15, 17, 18, 20, 41], "possibl": [6, 8, 12, 15, 17, 20, 22, 23, 26, 27, 41], "rampup": [6, 15, 34, 35, 36, 37], "target": [6, 15, 36, 37], "rampuptim": [6, 15, 16, 20], "lowercutoffvoltag": [6, 15, 16, 20, 22, 23, 24, 25, 36, 37], "dataset": [6, 10, 40], "upper": [6, 15], "cuttoff": 6, "uppercutoffvoltag": [6, 15, 16, 24, 25, 36, 37], "initialcontrol": [6, 15, 24, 25], "numberofcycl": [6, 15, 24, 25], "didtlimit": [6, 15, 16, 24, 25], "dedtlimit": [6, 15, 16, 24, 25], "procedur": [6, 20], "de": 6, "sign": [6, 20, 36, 37], "monitor": 6, "di": 6, "than": [6, 17, 20], "again": [6, 15, 20, 41], "script": [6, 13, 19, 29, 30, 40, 41, 42], "besid": 6, "simulateschedulead": [6, 18, 20, 22, 23, 24, 25, 26, 28, 31, 33, 34, 35, 36, 37], "schedul": [6, 18, 20, 22, 23, 25, 28, 33, 35, 37], "src": [6, 20, 26, 28, 34, 35, 36, 37], "val": [6, 20, 26, 28, 34, 35, 36, 37, 38, 41, 43], "sinusoid": 6, "minut": [6, 20], "ones": [6, 20, 26, 28, 34, 35, 36, 37], "period": [6, 36, 37], "amper": [6, 26, 28, 34, 35, 43], "sin": 6, "pi": [6, 15, 31, 32, 33], "setupmodelfromjson": [6, 18, 38, 41], "soc": [6, 15, 16, 18, 22, 23, 36, 37], "hit": [6, 20], "99": [6, 16], "default": [6, 7, 8, 15, 16, 20, 24, 25, 26, 28, 31, 33, 36, 37, 41], "initialis": [6, 15, 23, 36, 37], "setupinitialst": [6, 20, 22, 23, 24, 25, 31, 33, 36, 37], "initst": [6, 18, 20, 22, 23, 24, 25, 26, 28, 34, 35, 36, 37], "examplecontrol_doc": 6, "multidimension": 7, "3d": [7, 12, 15, 16, 19, 41, 42], "must": [7, 15, 17, 20, 22, 23, 29, 30, 43], "batterygener": 7, "templat": 7, "sepat": 7, "grid": [7, 12, 14, 15, 17, 18, 20, 22, 23, 25, 26, 28, 31, 33, 38, 41], "reli": [7, 14, 17, 26, 27, 39], "mrst": [7, 12, 13, 14, 15, 20, 22, 23, 25, 28, 29, 30, 35, 37], "often": [7, 15, 20], "small": [7, 15, 17, 18, 20, 41], "whole": [7, 41], "geometr": [7, 14, 15, 29, 30, 41], "aref": 7, "length": [7, 10, 15], "25": [7, 20], "\u03bcm": 7, "57": 7, "ccnen": 7, "nenx": 7, "sepnx": 7, "penx": 7, "ccpenx": 7, "area": [7, 15, 18, 20], "facearea": [7, 15], "cm": [7, 18, 26, 27, 28], "2d": [7, 12, 15, 42], "xlength": 7, "50": [7, 16, 38, 41], "ylength": 7, "ccnenx": 7, "ny": [7, 15], "consis": 7, "tab": [7, 14, 15, 16, 41], "ax": 7, "show": [7, 29, 30, 34, 35, 36, 37, 38, 41], "4cm": 7, "1mn": 7, "mm": [7, 26, 28, 34, 35], "sep_nz": 7, "ne_am_nz": 7, "pe_am_nz": 7, "ne_cc_nz": 7, "pe_cc_nz": 7, "interior": 7, "region": [7, 15], "int_elyte_nx": 7, "ne_cc_nx": 7, "pe_cc_nx": 7, "elyte_ni": 7, "ne_cc_ni": 7, "pe_cc_ni": 7, "jelli": [7, 14, 18, 42], "roll": [7, 14, 18, 42], "th": 7, "4680": 7, "negativeco": 7, "94": [7, 16], "negativecurrentcollector": 7, "positiveco": 7, "84": 7, "positivecurrentcollector": 7, "wind": 7, "spiral": 7, "nwind": 7, "52": 7, "inner": [7, 15], "radiu": [7, 15, 34, 35], "correspod": 7, "empti": [7, 15], "middl": 7, "rinner": 7, "height": [7, 15, 16], "70": 7, "angular": [7, 15], "na": [7, 12, 15], "longitudon": 7, "There": [7, 14, 15, 18], "73": 7, "67": 7, "radial": [7, 40], "numradi": 7, "numangular": 7, "\u00b5m": 7, "nlayer": [7, 15], "width": [7, 10, 15, 16, 22, 23], "nx": [7, 15], "outsid": 7, "lenght": 7, "web": 8, "graphic": 8, "util": [8, 17, 18, 43], "version": [8, 20, 23, 25, 28, 30, 31, 33, 35, 38], "intuit": 8, "batterymodel": [8, 12], "com": [8, 12, 13, 30], "furthermor": 8, "troubleshoot": 8, "aren": 8, "success": 8, "unexpect": 8, "artifact": [8, 31, 33], "geometri": [8, 12, 14, 17, 18, 20, 23, 25, 26, 27, 30, 31, 33, 38, 41, 42], "unnatur": 8, "multipl": [9, 14, 20], "quick": 9, "app": 9, "certain": 9, "formula": 9, "rho": [9, 15], "sum_i": 9, "omega_": 9, "rho_i": 9, "fraction": [9, 15, 18, 20, 26, 27, 36, 37, 41], "rho_": 9, "d": [9, 15, 31, 32], "varepsilon": [9, 15], "poros": [9, 10, 15, 20, 34, 35], "q_": 9, "max": [9, 20, 24, 25, 34, 35, 38, 41], "x_": 9, "min": [9, 34, 35, 38, 41], "nf": [9, 38, 41], "maximum": [9, 15, 20, 24, 25, 36, 37, 38, 41], "minimum": [9, 38, 41], "faradai": 9, "transfer": [9, 15, 31, 32, 38, 41], "omega": 9, "volum": [9, 12, 15, 18, 20, 26, 27, 40, 41], "out": [9, 20, 22, 23, 42], "thwo": 9, "m_": 9, "m_i": 9, "pack": [9, 18], "These": [10, 22, 23, 26, 27], "refer": [10, 15, 21, 26, 27, 31, 32, 34, 35], "character": 10, "lab": 10, "just": [10, 14, 15, 17, 18, 22, 23, 43], "simpli": [10, 18, 20], "characterist": [10, 15], "select": 10, "selectbox": 10, "appear": [10, 18], "fill": 10, "copi": [10, 14, 23, 25, 28, 30, 35, 38], "ve": 10, "link": [10, 16], "metadata": 10, "accord": 10, "fair": 10, "principl": [10, 39], "star": 10, "guidelin": 10, "improv": 10, "interoper": 10, "finish": [10, 20], "immediatli": 10, "hdf5": 10, "idea": 11, "spike": 11, "discrit": 11, "toolbox": [12, 19, 23, 25, 28, 30, 35, 38], "comprehens": 12, "devic": 12, "facilit": 12, "deep": [12, 26, 28], "virtual": 12, "spatial": [12, 14, 26, 27, 31, 33, 40], "focus": 12, "broader": 12, "extens": [12, 14], "chemistri": [12, 20], "metal": 12, "air": 12, "zinc": 12, "along": [12, 23, 25, 28, 30, 35, 38], "hydrogen": [12, 26, 27], "fuel": 12, "finit": [12, 18, 20], "ensur": [12, 18], "swift": 12, "even": [12, 18, 23, 25, 26, 27, 28, 30, 35, 38, 43], "whether": 12, "research": 12, "gatewai": 12, "unlock": 12, "dive": 12, "latest": 12, "video": [12, 13], "project": [12, 17], "galleri": 12, "visit": 12, "webpag": [12, 39], "receiv": [12, 23, 25, 28, 30, 35, 38], "fund": 12, "european": 12, "union": 12, "horizon": 12, "innov": 12, "grant": 12, "agreement": [12, 40], "875527": 12, "hybrid": 12, "next": [12, 14, 20], "hydra": 12, "957189": 12, "genom": 12, "acceler": 12, "platform": 12, "big": [12, 17], "101069765": 12, "sustain": [12, 23, 25, 28, 30, 35, 38], "high": [12, 15], "ev": 12, "intellig": 12, "101104031": 12, "digit": [12, 23, 25, 28, 30, 35, 38, 39], "twin": 12, "batmax": 12, "clone": 13, "git": 13, "repositori": 13, "recurs": [13, 18], "submodul": 13, "termin": [13, 20], "github": [13, 17], "battmoteam": 13, "startupbattmo": 13, "check": [13, 15, 20], "correctli": [13, 20], "runbatteryp2d": [13, 24], "guid": 13, "consult": 13, "four": 14, "shape": 14, "computation": 14, "expens": 14, "therefor": [14, 15, 18, 19, 31, 32], "usual": [14, 15, 20], "reserv": 14, "specici": 14, "plai": [14, 20], "signific": [14, 20], "role": [14, 20], "similar": [14, 20, 22, 23], "basic": [14, 20, 22, 23], "aim": [14, 19], "much": [14, 20], "five": [14, 20], "polici": 14, "jsonfilenam": [14, 29, 30, 38, 41], "batterycellparamet": [14, 20, 21, 22, 23, 24, 25, 29, 30, 36, 37, 38, 41], "lithiumionbatterycel": [14, 20, 22, 23, 24, 25, 29, 30, 36, 37, 38, 41], "lithium_ion_battery_nmc_graphit": [14, 20, 22, 23, 24, 25, 29, 30, 36, 37, 38, 41], "jsonstruct_materi": [14, 29, 30, 31, 33, 38, 41], "geometry3d": [14, 38, 41], "jsonstruct_geometri": [14, 29, 30, 31, 33, 38, 41], "remain": [14, 17, 18, 36, 37], "ie_control": 14, "jsonstruct_control": [14, 29, 30, 38, 41], "simulation_paramet": [14, 20, 29, 30], "jsonstruct_simparam": [14, 29, 30], "extra_output": [14, 29, 30], "jsonstruct_output": [14, 29, 30], "plotbatterygrid": 14, "axi": [14, 20, 38], "plotgrid": 14, "particl": [14, 15, 35, 40, 42], "facecolor": 14, "none": [14, 15, 19], "edgealpha": 14, "csurfac": [14, 34, 35], "litr": [14, 16, 26, 27, 28, 34, 35, 43], "titl": [14, 22, 23, 26, 28, 31, 33, 34, 35, 36, 37, 38, 41], "seen": [14, 18, 20, 31, 33], "jsondecod": [14, 29, 30, 43], "keyword": 14, "fetch": 14, "taken": [14, 26, 27, 43], "content": 14, "henc": [14, 31, 32], "fileread": 14, "equival": 14, "past": 14, "saturationconcentr": [14, 15, 16, 22, 23, 34, 35], "30555": [14, 16], "volumetricsurfacearea": [14, 15, 16, 20], "723600": [14, 16], "numberofelectronstransf": [14, 15, 16], "activationenergyofreact": [14, 15, 16], "reactionrateconst": [14, 15, 16, 20], "031e": [14, 16], "gueststoichiometry100": [14, 15, 16, 22, 23], "88551": [14, 16], "gueststoichiometry0": [14, 15, 16, 22, 23, 34, 35], "1429": [14, 16], "chargetransfercoeffici": [14, 15, 16], "opencircuitpotenti": [14, 15, 16], "functionnam": [14, 16], "computeocp_graphite_torchio": [14, 16], "argumentlist": [14, 15, 16, 17], "celectrod": 14, "cmax": [14, 15, 16, 22, 23, 34, 35], "extra": [15, 17, 29, 30], "onthologi": 15, "battinfo": 15, "common": [15, 43], "object": [15, 18, 20, 23, 24, 25, 36, 37], "valid": [15, 18, 20, 26, 27, 36, 37], "parallelli": 15, "sai": 15, "electolyt": 15, "clarifi": 15, "care": [15, 18, 43], "id": 15, "draft": 15, "allof": 15, "ref": [15, 30, 31, 32, 37], "modelspecif": [15, 16], "choic": [15, 26, 27], "stateiniti": [15, 16], "jsonschema": 15, "reproduc": [15, 40], "thermalcompon": [15, 16, 18], "ionic": [15, 17, 26, 27], "signatur": [15, 18], "ionicconduct": [15, 16, 17], "path": [15, 17, 22, 23, 26, 27, 29, 30], "soon": 15, "pure": 15, "tabl": 15, "interpol": 15, "point": [15, 22, 23], "prefixitem": 15, "const": 15, "symbol": 15, "kappa": 15, "diffusioncoeffici": [15, 16], "molecul": 15, "binari": 15, "chargenumb": [15, 16], "transferencenumb": [15, 16], "nominalconcentr": [15, 16], "physicalquant": 15, "nomin": [15, 25], "nominalethylenecarbonateconcentr": 15, "ethylen": 15, "carbon": 15, "sei": [15, 35, 42], "active_material_typ": [15, 16], "bruggemancoeffici": [15, 16, 20], "media": 15, "beta": [15, 31, 32], "useregionbruggemancoeffici": 15, "boolean": 15, "electroly": 15, "bruggeman": [15, 18, 20], "regionbruggemancoeffici": 15, "fals": [15, 20, 22, 23, 24, 25, 26, 28, 34, 35, 36, 37], "regiontag": 15, "tag": 15, "convent": 15, "constructor": [15, 22, 23, 24, 25], "intrins": [15, 18], "currentcollector": [15, 16, 20, 22, 23, 24, 25], "use_normed_current_collector": 15, "special": 15, "avoid": [15, 20, 36, 37], "float": 15, "error": [15, 20, 24, 25, 36, 37, 43], "electroniccompon": 15, "seimodel": 15, "enum": 15, "conductingaddit": [15, 16, 18, 36, 37], "wet": 15, "calendar": 15, "respect": [15, 20, 29, 30, 41], "pore": 15, "volumefract": 15, "effict": 15, "pass": [15, 17, 18, 20, 36, 37], "overrid": 15, "vf": 15, "item": 15, "minitem": 15, "maxitem": 15, "assum": [15, 31, 32, 43], "effectivevolumetricheatcapac": 15, "volumetr": [15, 18, 20], "account": [15, 18, 20, 41], "overwrit": 15, "effectivethermalconduct": 15, "occur": [15, 41], "itself": 15, "By": 15, "initializaton": 15, "design": [15, 19, 25, 35, 43], "et": [15, 21], "al": [15, 21], "rdf_type": 15, "htttp": 15, "emmo": 15, "info": 15, "uuid": 15, "sigma": [15, 31, 33], "ratio": [15, 18], "mixtur": 15, "gamma": 15, "anyof": 15, "fullsoliddiffusionmodel": [15, 18], "els": [15, 20], "simplifiedsoliddiffusionmodel": 15, "satur": 15, "guest": 15, "host": 15, "stoichiometr": 15, "per": [15, 20, 38, 41], "eak": 15, "k0": 15, "exchangecurrentdens": 15, "j0": 15, "theta100": [15, 22, 23], "theta0": [15, 22, 23], "arrheniu": 15, "soliddiffusionmodel": 15, "rp": 15, "ead": 15, "pre": [15, 22, 23], "exponenti": 15, "d0": 15, "conductiv": 15, "free": [15, 19, 20, 23, 25, 28, 30, 35, 38], "paremet": 15, "exterior": [15, 38, 41], "flag": [15, 20, 41], "dry": 15, "yet": [15, 18], "usewetproperti": 15, "measur": 15, "NOT": [15, 17], "ignor": 15, "externalheattransfercoeffici": [15, 16, 38, 41], "surround": 15, "externalheattransfercoefficienttopfac": 15, "externalheattransfercoefficientsidefac": 15, "externalheattransfercoefficienttab": [15, 16, 38, 41], "externaltemperatur": [15, 16], "manufactur": 15, "industri": [15, 23, 25, 28, 30, 35, 38], "cad": 15, "softwar": [15, 23, 25, 28, 30, 35, 38, 39], "multilayerpouch": 15, "demo": [15, 16], "jellyrol": 15, "sectormodel": 15, "coincel": 15, "def": 15, "particlediscret": 15, "layerspec": 15, "numberofdiscretecel": 15, "cross": 15, "cap_tab": 15, "remov": [15, 36, 37], "dimens": [15, 26, 27, 40], "parametr": 15, "batterygeneratorp3d": 15, "batterygeneratorp4d": 15, "nw": [15, 16, 22, 23], "nh": [15, 16], "currentcolector": 15, "dependentschema": 15, "outerradiu": 15, "outer": 15, "innerradiu": 15, "numberofdiscretecellsvert": 15, "vertic": 15, "numberofdiscretecellsangular": 15, "discretis": [15, 22, 23], "sector": 15, "horizont": 15, "plane": 15, "tabparam": 15, "angl": 15, "usetab": 15, "sectortabparam": 15, "variou": [15, 22, 23, 43], "powercontrol": 15, "timecontrol": 15, "drate": [15, 16], "linearli": [15, 26, 27, 28], "switchtoler": 15, "toler": [15, 20, 24, 25, 31, 33, 36, 37], "cc_discharge1": 15, "cc_discharge2": 15, "cc_charge1": 15, "cv_charge2": 15, "cpcv": 15, "dischargingpow": 15, "chargingpow": 15, "powercontrolcas": 15, "dischargingtim": 15, "chargingtim": 15, "lowercutoffpow": 15, "uppercutoffpow": 15, "chose": 15, "totaltim": [15, 29, 30], "symmbol": 15, "timestepdur": 15, "everi": [15, 18], "numberoftimestep": [15, 16, 20, 24, 25, 29, 30], "userampup": [15, 16], "numberoframpupstep": [15, 16, 20], "interv": 15, "rampuptimestep": [15, 26, 28], "desrib": 15, "mani": [15, 20, 26, 27], "avaibl": 15, "nonlinear": [15, 20, 25, 37], "nonlinearsolv": [15, 20, 24, 25, 26, 28, 34, 35, 36, 37], "battmodir": [15, 17, 31, 33], "autodiff": 15, "core": [15, 19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 34, 35, 36, 37], "maxiter": [15, 20, 24, 25, 36, 37], "maxtimestepcut": 15, "fail": [15, 20], "cut": [15, 20, 22, 23], "nonlineartoler": [15, 20, 24, 25, 31, 33, 34, 35, 36, 37], "verbos": [15, 20, 24, 25, 26, 28, 34, 35, 36, 37], "linearsolv": [15, 22, 23, 24, 25], "linearsolversetup": 15, "ask": 15, "afterward": 15, "computeenergydens": 15, "ouput": [15, 30], "energydens": 15, "specificenergi": 15, "saveoutput": 15, "disk": 15, "saveopt": 15, "sim_runn": 15, "packsimulationproblem": 15, "outputdirectori": 15, "clearsimul": 15, "eras": 15, "1900": 16, "gram": [16, 43], "centi": [16, 26, 28, 34, 35, 43], "meter": [16, 26, 28, 34, 35, 43], "03": [16, 24, 25, 36, 37, 43], "95": 16, "59600000": 16, "398": 16, "385": 16, "8960": 16, "3500": 16, "4650": 16, "700": 16, "55554": 16, "885000": 16, "33e": 16, "4955": 16, "99174": 16, "computeocp_nmc111": 16, "75": [16, 34, 35], "025": 16, "83": 16, "35500000": 16, "170": 16, "875": 16, "2700": 16, "computeelectrolyteconductivity_default": 16, "computediffusioncoefficient_default": 16, "2594": 16, "1000": [16, 41, 43], "2055": 16, "1200": 16, "298": [16, 18, 22, 23, 34, 35], "01": [16, 24, 25, 36, 37], "02": [16, 22, 23], "0001": 16, "004": 16, "001": 16, "8e": 16, "5e": [16, 34, 35, 43], "include_current_collector": [16, 20, 22, 23, 24, 25, 36, 37, 38, 41], "use_therm": [16, 20, 22, 23, 24, 25, 36, 37, 41], "initializationsetup": 16, "initt": [16, 18], "initialconcentr": 16, "pxd": [17, 18], "jl": 17, "packag": 17, "registri": 17, "significantli": [17, 18], "faster": 17, "magnitud": 17, "speed": 17, "assembli": [17, 18], "optim": 17, "completli": 17, "compil": 17, "jutul": 17, "retriev": 17, "instal": [17, 20, 21, 42], "intervent": 17, "commun": 17, "man": 17, "servermanag": 17, "session": 17, "notic": [17, 41], "background": 17, "persist": 17, "manual": [17, 24, 25], "launch": 17, "prompt": 17, "powershel": 17, "startup": 17, "runmatlab": 17, "revis": 17, "daemonmod": 17, "3000": 17, "call_stack": 17, "async": 17, "runfrommatlab": 17, "juliabridg": 17, "juliainterfac": 17, "block": 17, "deactiv": 17, "made": 17, "inputfilenam": 17, "jsonfil": [17, 31, 33], "p2d_40_jl_ud": 17, "inputtyp": 17, "668e": 17, "494e": 17, "074": 17, "78e": 17, "86e": 17, "96e": 17, "80e": 17, "snippet": 17, "arithmet": 17, "bpp": 17, "cumsum": 17, "legend": [17, 20, 22, 23, 34, 35, 36, 37, 38, 41], "h": [17, 20, 22, 23, 24, 25, 26, 28, 31, 32, 34, 35, 36, 37, 38, 41], "usag": 18, "cover": 18, "seri": 18, "paper": [18, 26, 27], "partial": 18, "stabil": 18, "backward": 18, "euler": 18, "global": 18, "report": [18, 22, 23, 24, 25, 26, 28, 31, 33, 34, 35, 36, 37], "globvar": 18, "schedulereport": 18, "varargin": [18, 20], "task": 18, "inputparam": [18, 20, 22, 23, 24, 25, 26, 28, 31, 33, 34, 35, 36, 37], "batteryinputparam": [18, 20, 22, 23, 24, 25, 36, 37, 43], "redund": 18, "advantag": 18, "developp": [18, 19], "environ": [18, 23, 30], "enabl": [18, 26, 27], "complic": 18, "closer": 18, "resolveunitinputjson": 18, "suffix": 18, "activematerialinputparam": [18, 22, 23], "setupbatterygridfromjson": 18, "appropri": [18, 20], "parallel": [18, 26, 27], "validateinputparam": [18, 36, 37], "obscur": 18, "con": 18, "physicalconst": [18, 38, 41], "ccdischargecontrolmodel": 18, "9900": 18, "1500": 18, "9400": 18, "0400": 18, "conducit": 18, "never": 18, "effectr": 18, "3328": 18, "effectiveelectronicconduct": 18, "82": 18, "5961": 18, "constitu": [18, 41], "120": 18, "rememb": 18, "insid": [18, 43], "siemen": [18, 31, 33], "118": 18, "4873": 18, "97": 18, "5413": 18, "computecellmass": 18, "computecellcapac": 18, "computecellenergi": 18, "neglict": 18, "infinitli": 18, "screen": 18, "cellspecificationsummari": 18, "css": 18, "printspecif": 18, "kg": 18, "24": 18, "85": 18, "59526e": 18, "36e": 18, "00301148": 18, "ah": 18, "00310324": 18, "03047": 18, "0115753": 18, "wh": [18, 20], "321": 18, "958": 18, "851": 18, "122": 18, "17686": 18, "computecellenergygivendr": 18, "fprintf": [18, 20], "watt": 18, "0110781": 18, "gnu": [19, 23, 25, 28, 30, 35, 38], "compat": [19, 20], "strive": 19, "maintain": 19, "drop": 19, "altern": 19, "favor": 19, "easier": [19, 22, 23, 43], "robust": [19, 26, 27], "hard": [19, 20], "inde": 19, "runjsonscript": [19, 29], "met": 19, "resourc": 19, "topic": 20, "involv": 20, "maxim": 20, "mathemat": [20, 23, 25, 26, 27, 28, 30, 35, 38, 39], "viewpoint": 20, "fit": [20, 23, 25, 28, 30, 35, 38], "against": [20, 23], "experi": 20, "calibr": 20, "runparameteridentif": 20, "mrstmodul": [20, 22, 23, 24, 25, 26, 28, 29, 30, 34, 35, 36, 37], "mpfa": [20, 22, 23, 24, 25, 34, 35], "gui": [20, 22, 23, 24, 25, 29, 30, 34, 35], "ne": [20, 22, 23, 24, 25, 34, 35, 36, 37], "pe": [20, 22, 23, 24, 25, 34, 35, 36, 37], "am": [20, 22, 23, 24, 25, 34, 35], "co": [20, 22, 23, 24, 25, 36, 37], "itf": [20, 22, 23, 24, 25, 34, 35, 36, 37], "sd": [20, 22, 23, 24, 25, 34, 35, 36, 37], "ctrl": [20, 22, 23, 24, 25, 31, 33], "sep": 20, "turn": 20, "test": [20, 21, 42], "comment": 20, "finer": 20, "stricter": 20, "jsonparam": 20, "jsongeom": 20, "geometry1d": [20, 29, 30], "jsoncontrol": 20, "cc_discharge_control": [20, 29, 30, 38, 41], "jsonsim": 20, "validatejson": 20, "conventi": 20, "json0": 20, "output0": 20, "simsetup": 20, "state0": [20, 31, 33], "modelparamet": 20, "arbitrari": 20, "boxlim": 20, "constraint": 20, "rang": 20, "logarithm": [20, 31, 33], "param": 20, "addparamet": 20, "elyte_bruggeman": 20, "belongsto": 20, "eqn": 20, "ne_k0": 20, "log": [20, 31, 33], "pe_k0": 20, "ne_vsa": 20, "1e5": 20, "1e7": 20, "pe_vsa": 20, "shortli": 20, "e_exp": 20, "i_exp": 20, "averag": 20, "jsonexp": 20, "pexp": 20, "ip": 20, "loc": 20, "orig": 20, "getfun": 20, "setfun": 20, "outputexp": 20, "seek": 20, "minim": 20, "vari": 20, "squar": 20, "obj": 20, "correct": 20, "costli": 20, "accur": 20, "algorithm": 20, "sens": 20, "One": 20, "accomplish": 20, "gradient": [20, 26, 27, 31, 32], "hood": 20, "adjoint": 20, "leastsquaresei": 20, "debug": 20, "objval": 20, "assert": 20, "ab": 20, "objscal": 20, "sum": 20, "objectivegradi": 20, "evalobjectivebattmo": 20, "compar": [20, 40], "classic": 20, "too": 20, "basal": 20, "statement": 20, "uncom": 20, "ptmp": 20, "getscaledparametervector": 20, "vad": 20, "gad": 20, "gradientmethod": 20, "adjointad": 20, "vnum": 20, "gnum": 20, "perturbationadnum": 20, "perturbations": 20, "disp": [20, 24, 25], "readi": [20, 42], "bfg": 20, "guess": 20, "deduc": 20, "actual": [20, 22, 23], "criteria": [20, 22, 23], "gradtol": 20, "less": 20, "objchangetol": 20, "maxit": 20, "great": 20, "tempor": 20, "influenc": 20, "Not": 20, "p0scale": 20, "popttmp": 20, "histori": 20, "unitboxbfg": 20, "logplot": 20, "numit": 20, "wait": 20, "laptop": 20, "displai": 20, "jsonopt": 20, "popt": 20, "outputopt": 20, "do_plot": 20, "defaultlinelinewidth": [20, 22, 23, 26, 28, 31, 33, 34, 35, 36, 37, 38], "gettim": 20, "gete": 20, "t0": [20, 38], "e0": 20, "topt": 20, "eopt": 20, "texp": 20, "eexp": 20, "tight": 20, "displaynam": [20, 34, 35, 36, 37, 38, 41], "e_": [20, 31, 32], "exp": [20, 31, 32], "opt": 20, "summar": 20, "porig": 20, "getparamet": 20, "box": [20, 42], "tol": 20, "nexperiment": 20, "nrel": 20, "relerr": 20, "niter": 20, "exact": 20, "___________________": 20, "__________": 20, "_________": 20, "6149": 20, "2599e": 20, "005e": 20, "8927e": 20, "9014e": 20, "05e": 20, "018e": 20, "toward": 20, "e_0": 20, "e_opt": 20, "why": 20, "9998": 20, "09": 20, "4029e": 20, "4994e": 20, "7775e": 20, "adjust": [20, 29, 30, 36, 37], "runbattery1doptim": 20, "cathod": [20, 31, 32, 33], "currect": 20, "analyt": 20, "contrast": 20, "ambiti": 20, "reader": 20, "encourag": 20, "investig": 20, "shorthand": [20, 22, 23, 24, 25, 34, 35], "simplic": [20, 24, 25], "cost": 20, "gen": [20, 22, 23, 24, 25, 31, 33, 36, 37], "batterygeneratorp2d": [20, 22, 23, 24, 25, 36, 37], "updatebatteryinputparam": [20, 22, 23, 24, 25, 36, 37], "shock": 20, "ramp": 20, "prescrib": 20, "built": 20, "setupschedulecontrol": [20, 22, 23, 24, 25], "larger": [20, 22, 23], "normal": 20, "40": [20, 29, 30], "nc": 20, "nst": 20, "ind": [20, 24, 25, 34, 35], "floor": [20, 26, 28], "imax": [20, 24, 25, 34, 35, 36, 37], "repmat": 20, "capabl": [20, 26, 27], "half": 20, "ministep": 20, "nl": [20, 24, 25, 26, 28, 34, 35, 36, 37], "behavior": [20, 24, 25, 36, 37], "erroronfailur": [20, 24, 25, 26, 28, 34, 35, 36, 37], "outputministep": [20, 24, 25, 26, 28, 34, 35, 36, 37], "isempti": [20, 24, 25, 34, 35], "doplot": [20, 26, 28], "energyoutput": 20, "integr": [20, 39], "trapezoid": 20, "rule": [20, 29, 30], "totval": 20, "totval_trapz": 20, "trapz": 20, "rectangl": 20, "poris": 20, "porositysett": 20, "routin": 20, "simulatorsetup": 20, "paramsett": 20, "getporo": 20, "notus": 20, "getvalu": 20, "setporo": 20, "setvalu": 20, "rampupswitchcontrol": [20, 34, 35, 36, 37], "stopfunct": [20, 34, 35], "hook": 20, "reduc": [20, 40], "evalut": 20, "objmatch": 20, "plotafterstepiv": 20, "afterstepfn": 20, "minu": [20, 36, 37], "worth": 20, "sensit": 20, "p_base": 20, "optimum": 20, "p_opt": 20, "200": 20, "setup_opt": 20, "updatesetupfromscaledparamet": 20, "states_opt": 20, "time_opt": 20, "i_opt": 20, "totval_trapz_opt": 20, "p0": 20, "pu": 20, "mwh": 20, "milli": [20, 26, 28, 43], "12163": 20, "55": 20, "187132": 20, "152395": 20, "472783": 20, "100268": 20, "00986981": 20, "0147641": 20, "8822": 20, "44": 20, "0736": 20, "parameterset": [21, 34, 35], "author": 21, "year": 21, "chen2020": 21, "safari2009": [21, 34, 35], "xu2015": 21, "organis": 21, "whose": 21, "batterycomponentparamet": 21, "battmotutori": 22, "memori": [22, 23], "thicker": [22, 23], "font": [22, 23], "defaultaxesfonts": [22, 23, 26, 28, 31, 33, 34, 35, 36, 37, 38], "defaulttextfonts": [22, 23, 34, 35, 36, 37, 38], "agmg": [22, 23, 24, 25], "fname": [22, 23], "exclud": [22, 23], "referenc": [22, 23], "ourselv": [22, 23], "fullsoliddiffusionmodelinputparam": [22, 23], "batterygeometri": [22, 23], "folder": [22, 23], "relev": [22, 23], "necessari": [22, 23, 36, 37], "being": [22, 23], "eld": [22, 23, 31, 32], "ield": [22, 23], "el_itf": [22, 23], "linspac": [22, 23, 26, 28, 34, 35], "theta": [22, 23], "computeocpfunc": [22, 23], "ylim": [22, 23], "setupschedulestep": [22, 23, 24, 25], "sol": [22, 23], "technic": [22, 23], "extract": [22, 23, 26, 28, 36, 37, 41], "subplot": [22, 23, 26, 28, 29, 30, 36, 37], "mod": [23, 30], "mrstbattmo": [23, 30], "battmofil": [23, 28, 33], "copyright": [23, 25, 28, 30, 35, 38], "2021": [23, 25, 28, 30, 35, 38], "2024": [23, 25, 28, 35, 38], "sintef": [23, 25, 28, 30, 35, 38, 39], "technologi": [23, 25, 28, 30, 35, 38], "cybernet": [23, 25, 28, 30, 35, 38, 39], "redistribut": [23, 25, 28, 30, 35, 38], "public": [23, 25, 28, 30, 35, 38], "licens": [23, 25, 28, 30, 35, 38], "foundat": [23, 25, 28, 30, 35, 38], "distribut": [23, 25, 28, 30, 31, 33, 35, 38, 41], "hope": [23, 25, 28, 30, 35, 38], "warranti": [23, 25, 28, 30, 35, 38], "merchant": [23, 25, 28, 30, 35, 38], "FOR": [23, 25, 28, 30, 35, 38], "www": [23, 25, 28, 30, 35, 38], "demonstr": [24, 25, 41, 43], "propag": [24, 25], "throughout": [24, 25], "use_cccv": [24, 25], "cccvstruct": [24, 25], "cccvinputparam": [24, 25], "cccvcontrolmodelinputparam": [24, 25], "inspectgraph": [24, 25], "amgcl": [24, 25], "amgclsolverad": [24, 25], "reducetocel": [24, 25], "linearsolverbatteryextra": [24, 25], "reuse_setup": [24, 25], "timestepselector": [24, 25, 36, 37], "statechangetimestepselector": [24, 25, 36, 37], "targetprop": [24, 25, 36, 37], "targetchangeab": [24, 25, 36, 37], "tmax": [24, 25, 38, 41], "socn": [24, 25], "socp": [24, 25], "calculatesoc": [24, 25], "writeh5": [24, 25], "writeoutput": [24, 25], "h5": [24, 25], "recov": [25, 26, 28, 31, 33], "runelectrolys": 26, "aem": [26, 27], "better": [26, 27], "h2": [26, 27, 28], "had": [26, 27], "andinclud": [26, 27], "coupledprocess": [26, 27], "ionom": [26, 27], "liquid": [26, 27], "induc": [26, 27], "ga": [26, 27], "hydroxid": [26, 27], "hopefulli": [26, 27], "split": [26, 27], "oxygen": [26, 27], "catalyst": [26, 27], "appli": [26, 27], "scheme": [26, 27], "oftim": [26, 27], "algorithmus": [26, 27], "infrastructur": [26, 27], "pressur": [26, 27], "boundari": [26, 27], "atmospher": [26, 27], "oh": [26, 27], "pictur": [26, 27], "acquaint": [26, 27], "catalystlay": [26, 27, 28], "evolutionelectrod": [26, 27], "exchangereact": [26, 27, 28], "ionomermembran": [26, 27, 28], "poroustransportlay": [26, 27, 28], "electrolysergeometri": [26, 27], "alkalineelectrolys": [26, 28], "electrolyserinputparam": [26, 28], "electrolysergeometry1d": [26, 28], "setupelectrolysergridfromjson": [26, 28], "inm": [26, 28], "her": [26, 28], "hydrogenevolutionelectrod": [26, 28], "oer": [26, 28], "oxygenevolutionelectrod": [26, 28], "ptl": [26, 28], "exr": [26, 28], "ctl": [26, 28], "setupbcandinitialst": [26, 28], "rampupcontrol": [26, 28, 34, 35], "controli": [26, 28], "o2": [26, 28], "tup": [26, 28, 34, 35, 36, 37], "srcfunc": [26, 28, 34, 35, 36, 37], "rampupcas": [26, 28], "minor": [26, 28], "unknwon": [26, 28], "descriv": [26, 28], "addvari": [26, 28, 31, 33], "istat": [26, 28, 34, 35, 36, 37], "polaris": [26, 28], "helper": [26, 28], "coh": [26, 28], "800": [26, 28, 34, 35], "450": [26, 28], "ntime": [26, 28], "cmap": [26, 28], "cmocean": [26, 28], "ifield": [26, 28], "fd": [26, 28], "itim": [26, 28], "getprop": [26, 28], "log10": [26, 28], "distribit": [26, 28], "colormap": [26, 28], "hcolorbar": [26, 28], "colorbar": [26, 28, 38, 41], "caxi": [26, 28], "htitl": [26, 28], "alkalin": [28, 42], "ph": 28, "exclus": [29, 30], "nativ": [29, 30], "warn": [29, 30, 36, 37], "preced": [29, 30], "se": 30, "mathwork": 30, "html": 30, "_": [30, 31, 32], "specifici": 30, "runprotonicmembran": 31, "electrostat": [31, 32, 33], "bar": [31, 32], "mu_": [31, 32], "relat": [31, 32], "z_": [31, 32], "j_": [31, 32], "k_": [31, 32], "necessarili": [31, 32], "i_": [31, 32], "sigma_": [31, 32], "mu_n": [31, 32], "electromot": [31, 32, 33], "ident": [31, 32], "mu_p": [31, 32], "empir": [31, 32], "sigma_p": [31, 32], "quad": [31, 32], "sigma_n": [31, 32], "steadi": [31, 32, 33], "capacitor": [31, 32], "j_p": [31, 32], "j_n": [31, 32], "textbf": [31, 32], "el": [31, 32], "rewrit": [31, 32], "eta_": [31, 32], "pi_": [31, 32], "impost": [31, 32], "buttler": [31, 32], "i_0": [31, 32], "impos": [31, 32], "ct": [31, 32, 33], "protonicmembran": [31, 33], "pm": [31, 33], "protonicmembranecellinputparam": [31, 33], "setupprotonicmembranecellgrid": [31, 33], "protonicmembranecel": [31, 33], "equip": [31, 33], "unnecessari": [31, 33], "futur": [31, 33], "setupforsimul": [31, 33, 34, 35], "pace": [31, 33], "setupschedul": [31, 33], "som": [31, 33], "xc": [31, 33], "sigmael": [31, 33], "86": 33, "runseiactivemateri": 34, "anode_sei": [34, 35], "solidelectrodeinterfac": [34, 35], "sr": [34, 35], "sidereact": [34, 35], "seiactivematerialinputparam": [34, 35], "alon": [34, 35], "isrootsimulationmodel": [34, 35], "seiactivemateri": [34, 35], "nsd": [34, 35], "nsei": [34, 35], "celectrodeinit": [34, 35], "phielectrodeinit": [34, 35], "celectrolyt": [34, 35, 43], "cite": [34, 35], "safari_2009": [34, 35], "film": [34, 35], "epsisei": [34, 35], "solvent": [34, 35], "bulk": [34, 35], "cecsolut": [34, 35], "541": [34, 35], "cecextern": [34, 35], "evalvarnam": [34, 35, 36, 37], "phielectrolyt": [34, 35], "cinterfac": [34, 35], "static": [34, 35], "cextern": [34, 35], "roughli": [34, 35], "iref": [34, 35], "3e": [34, 35], "1e1": [34, 35], "cmin": [34, 35], "state0_inn": [34, 35], "defaultfigureposit": [34, 35], "400": [34, 35], "caverag": [34, 35], "caver": [34, 35], "nm": [34, 35], "growth": [35, 42], "runsilicongraphitebatteri": 36, "matlab_bgl": [36, 37], "shorcut": [36, 37], "am1": [36, 37], "am2": [36, 37], "bd": [36, 37], "jsonstruct_composite_materi": [36, 37], "composite_silicon_graphit": [36, 37], "jsonstruct_cel": [36, 37], "cleaner": [36, 37], "rmfield": [36, 37], "consecut": [36, 37], "selector": [36, 37], "wellsol": [36, 37], "dischargest": [36, 37], "chargest": [36, 37], "concaten": [36, 37], "allstat": [36, 37], "vertcat": [36, 37], "plote": [36, 37], "soc1": [36, 37], "soc2": [36, 37], "cumul": [36, 37], "compositeelectrod": 37, "perio": 37, "visualis": 37, "extrnal": [38, 41], "extfaceind": [38, 41], "couplingterm": [38, 41], "couplingfac": [38, 41], "getnumberoffac": 38, "nan": [38, 41], "plotfacedata": [38, 41], "edgecolor": [38, 41], "black": [38, 41], "w": [38, 41], "absolutetemperatur": 38, "tmin": [38, 41], "cool": 38, "sofwar": 39, "mrstwebpag": 39, "primarli": 39, "geoscienc": 39, "group": 39, "depart": 39, "api": 39, "heavili": 39, "On": 39, "recommend": 39, "doyler": 40, "spheric": 40, "thee": 40, "polynomi": 40, "runchen2020": [40, 42], "pybamm": [40, 42], "discrip": 40, "zoom": 40, "runthermalexampl": 41, "mainli": 41, "conducitivti": 41, "m\u00b2": 41, "overwritten": 41, "num": 41, "littl": 41, "variat": 41, "contact": 41, "releas": 41, "higher": 41, "runbatteryp3d": 42, "runbatteryp4d": 42, "runcr": 42, "coin": 42, "rungitttest": 42, "gitt": 42, "runjellyrol": 42, "prefix": 43, "kilo": 43, "convers": 43, "500": 43, "0000": 43, "62": 43, "2000e": 43, "happen": 43, "isconvert": 43, "convertunitbattmo": 43, "1000e": 43, "logic": 43, "mistak": 43}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"advanc": 0, "usag": [0, 2, 14], "battmo": [1, 2, 8, 17, 22, 29, 43], "model": [1, 2, 5, 6, 14, 15, 16, 18, 22, 24, 26, 31, 32, 34, 36, 40], "architectur": 1, "basic": 2, "A": [2, 5], "first": [2, 13], "defin": [2, 10, 14], "paramet": [2, 7, 14, 15, 17, 20, 21, 29], "run": [2, 14, 17, 22, 24, 26, 34, 36], "simul": [2, 14, 15, 16, 17, 18, 22, 24, 26, 29, 31, 34, 36, 41], "show": 2, "dashboard": 2, "explor": 2, "output": [2, 15, 17, 24], "grid": [2, 24, 39], "state": [2, 16, 22, 24, 31, 34, 36], "plot": [2, 7, 22, 26, 29, 31, 34], "result": [2, 10, 11, 14, 22, 26], "chang": 2, "control": [2, 6, 15, 16, 22, 29, 36], "structur": [2, 31], "materi": [2, 10, 15, 16, 24, 29, 34], "notebook": 2, "next": 2, "step": [2, 13, 15, 16, 36], "refer": 3, "list": [3, 42], "composit": [4, 5, 36], "electrod": [4, 15, 16, 36], "json": [4, 6, 15, 16, 29, 31, 43], "input": [4, 6, 10, 15, 16, 26, 29, 31, 43], "file": [4, 14, 29, 31], "comput": [5, 18, 24], "graph": 5, "design": [5, 24, 34], "ang": 5, "assembli": 5, "simpl": 5, "introduct": [5, 17], "exampl": [5, 16, 20, 29, 42], "setup": [5, 14, 15, 24, 26, 31, 34, 36], "implement": 5, "interfac": [6, 15, 16], "descript": 6, "batteri": [7, 16, 18, 22, 24, 34, 36], "geometri": [7, 10, 15, 16, 22, 24, 29], "batterygeneratorp2d": 7, "valu": 7, "us": [7, 10, 14], "abov": 7, "batterygeneratorp3d": 7, "batterygeneratorp4d": 7, "spiralbatterygener": 7, "thick": 7, "discret": [7, 26], "number": 7, "n": 7, "ar": 7, "pass": 7, "through": 7, "dictionari": 7, "widthdict": 7, "nrdict": 7, "other": 7, "coincellbatterygener": 7, "each": 7, "compon": 7, "diamet": 7, "cell": [7, 24, 34], "layer": [7, 34], "nl": 7, "cr": 7, "2016": 7, "coin": 7, "batterygeneratormultilayerpouch": 7, "app": 8, "calcul": 9, "featur": 10, "default": 10, "your": [10, 11], "own": 10, "visual": [10, 14, 26, 39], "download": 10, "data": [10, 39], "troubleshoot": 11, "unnatur": 11, "artifact": 11, "welcom": 12, "acknowledg": 12, "instal": 13, "intermedi": 14, "p4d": 14, "mergejsonstruct": 14, "link": 14, "insert": 14, "parsebattmojson": 14, "specif": [15, 16], "schema": 15, "electrolyt": [15, 16], "coat": [15, 16], "activ": [15, 16], "solid": [15, 16, 40], "diffus": [15, 16, 40], "full": 15, "binder": [15, 16], "conduct": [15, 16], "addit": [15, 16], "current": [15, 16, 24], "collector": [15, 16], "separ": [15, 16], "thermal": [15, 16, 41], "time": [15, 16, 26, 36], "solver": [15, 24, 26, 34, 36], "neg": 16, "posit": 16, "initi": [16, 22, 24, 26, 31, 34, 36], "julia": 17, "bridg": 17, "start": [17, 29], "server": 17, "send": 17, "post": 17, "process": [17, 24], "The": 18, "initialis": [18, 22], "inspect": 18, "some": 18, "standard": 18, "static": 18, "properti": [18, 24, 29, 34, 36], "note": 19, "octav": 19, "support": 19, "optim": 20, "identif": 20, "set": [21, 22, 29], "tutori": [22, 39], "up": [22, 29], "environ": [22, 29], "specifi": 22, "physic": 22, "object": 22, "ocp": 22, "curv": 22, "against": 22, "charg": [22, 36], "sourc": [23, 25, 28, 30, 33, 35, 37], "code": [23, 25, 28, 30, 33, 35, 37], "battmotutori": 23, "pseudo": 24, "two": 24, "dimension": 24, "p2d": 24, "lithium": 24, "ion": [24, 34], "import": [24, 34, 36], "requir": [24, 34, 36], "modul": [24, 26, 34, 36], "from": [24, 31, 34, 36], "mrst": [24, 26, 34, 36, 39], "li": [24, 34], "nomin": 24, "capac": 24, "choos": 24, "c": 24, "rate": 24, "schedul": [24, 26, 31, 34, 36], "nonlinear": [24, 36], "recov": 24, "voltag": 24, "runbatteryp2d": 25, "alkalin": 26, "membran": [26, 31], "electrolys": 26, "load": [26, 29, 31], "condit": [26, 31, 32], "non": [26, 34], "linear": [26, 34], "ph": 26, "distribut": 26, "runelectrolys": 28, "we": 29, "ouput": 29, "specifici": 29, "runjsonscript": 30, "proton": 31, "overview": [31, 32], "govern": [31, 32], "equat": [31, 32], "boundari": [31, 32], "pars": 31, "given": 31, "runprotonicmembran": 33, "particl": 34, "sei": 34, "growth": 34, "runseiactivemateri": 35, "silicon": 36, "graphit": 36, "shortcut": 36, "instanti": 36, "discharg": 36, "perio": 36, "visualis": 36, "runsilicongraphitebatteri": 37, "runthermalmodel": 38, "see": 39, "also": 39, "factori": 39, "fair": 39, "curat": 42, "unit": 43, "convert": 43}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinxcontrib.bibtex": 9, "sphinx.ext.intersphinx": 1, "sphinx": 57}, "alltitles": {"Advanced Usage": [[0, "advanced-usage"]], "BattMo Model Architecture": [[1, "battmo-model-architecture"]], "Basic Usage": [[2, "basic-usage"]], "A First BattMo Model": [[2, "a-first-battmo-model"]], "Define Parameters": [[2, "define-parameters"], [14, "define-parameters"]], "Run Simulation": [[2, "run-simulation"], [14, "run-simulation"]], "Show the Dashboard": [[2, "show-the-dashboard"]], "Explore the Output": [[2, "explore-the-output"]], "Explore the Grid": [[2, "explore-the-grid"]], "Explore the States": [[2, "explore-the-states"]], "Plot a Result": [[2, "plot-a-result"]], "Change Control Parameters": [[2, "change-control-parameters"]], "Change Structural Parameters": [[2, "change-structural-parameters"]], "Change Material Parameters": [[2, "change-material-parameters"]], "Notebooks": [[2, "notebooks"]], "Next Steps": [[2, "next-steps"]], "Reference lists": [[3, "reference-lists"]], "Composite electrode json input file": [[4, "composite-electrode-json-input-file"]], "Computation Graph Model Design ang Assembly": [[5, "computation-graph-model-design-ang-assembly"]], "A simple introduction example": [[5, "a-simple-introduction-example"]], "Graph composition": [[5, "graph-composition"]], "Graph Setup and Implementation": [[5, "graph-setup-and-implementation"]], "Control models": [[6, "control-models"]], "Json input control interface": [[6, "json-input-control-interface"]], "Control model description": [[6, "control-model-description"]], "Battery Geometries": [[7, "battery-geometries"]], "BatteryGeneratorP2D": [[7, "batterygeneratorp2d"]], "Parameters with values used in plot above": [[7, "id2"], [7, "id3"], [7, "id4"]], "BatteryGeneratorP3D": [[7, "batterygeneratorp3d"]], "BatteryGeneratorP4D": [[7, "batterygeneratorp4d"]], "SpiralBatteryGenerator": [[7, "spiralbatterygenerator"]], "Thickness and discretization number (N) are passed through the dictionaries widthDict and nrDict, with values used in plot above.": [[7, "id5"]], "Other parameters, with values used in plot above.": [[7, "id6"]], "CoinCellBatteryGenerator": [[7, "coincellbatterygenerator"]], "Parameters for each component : thickness, diameter, number of cell layers (Nl), with the values used in the plot above (a CR 2016 coin cell)": [[7, "id7"]], "Other parameters, with values used in plot above": [[7, "id8"], [7, "id10"]], "BatteryGeneratorMultilayerPouch": [[7, "batterygeneratormultilayerpouch"]], "Parameters for each component : thickness and number of cell (Nl) for a layer, with the values used in the plot above": [[7, "id9"]], "BattMo App": [[8, "battmo-app"]], "Calculations": [[9, "calculations"]], "Features": [[10, "features"]], "Use default materials": [[10, "use-default-materials"]], "Define your own materials": [[10, "define-your-own-materials"]], "Visualize your geometry": [[10, "visualize-your-geometry"]], "Download your input data": [[10, "download-your-input-data"]], "Visualize and download your results": [[10, "visualize-and-download-your-results"]], "Troubleshooting": [[11, "troubleshooting"]], "Unnatural artifacts in your results": [[11, "unnatural-artifacts-in-your-results"]], "Welcome": [[12, "welcome"]], "Acknowledgements": [[12, "acknowledgements"]], "Installation and First Steps": [[13, "installation-and-first-steps"]], "Intermediate usage": [[14, "intermediate-usage"]], "Setup a P4D Model using mergeJsonStructs": [[14, "setup-a-p4d-model-using-mergejsonstructs"]], "Visualize Results": [[14, "visualize-results"]], "File links and insertions with parseBattmoJson": [[14, "file-links-and-insertions-with-parsebattmojson"]], "JSON input specification": [[15, "json-input-specification"]], "Simulation Schema": [[15, "simulation-schema"]], "Material Parameters": [[15, "material-parameters"]], "Electrolyte": [[15, "electrolyte"], [16, "electrolyte"]], "Electrode": [[15, "electrode"]], "Coating": [[15, "coating"], [16, "coating"]], "Active Material": [[15, "active-material"], [16, "active-material"]], "Interface": [[15, "interface"], [16, "interface"]], "Solid Diffusion": [[15, "solid-diffusion"], [16, "solid-diffusion"]], "Full Solid Diffusion": [[15, "full-solid-diffusion"]], "Binder": [[15, "binder"], [16, "binder"]], "Conducting Additive": [[15, "conducting-additive"], [16, "conducting-additive"]], "Current Collector": [[15, "current-collector"], [16, "current-collector"]], "Separator": [[15, "separator"], [16, "separator"]], "Thermal Model": [[15, "thermal-model"], [16, "thermal-model"]], "Geometry Setup": [[15, "geometry-setup"]], "Simulation Control Parameters": [[15, "simulation-control-parameters"]], "Time Stepping Parameters": [[15, "time-stepping-parameters"]], "Solver Parameters": [[15, "solver-parameters"]], "Output Parameters": [[15, "output-parameters"]], "Json input example": [[16, "json-input-example"]], "Simulation": [[16, "simulation"], [31, "simulation"]], "Battery": [[16, "battery"]], "Negative Electrode": [[16, "negative-electrode"]], "Positive Electrode": [[16, "positive-electrode"]], "Geometry": [[16, "geometry"], [29, "geometry"]], "Model Specification": [[16, "model-specification"]], "Control": [[16, "control"], [29, "control"]], "Time Stepping": [[16, "time-stepping"]], "State Initialization": [[16, "state-initialization"]], "BattMo Julia bridge": [[17, "battmo-julia-bridge"]], "Introduction": [[17, "introduction"]], "Start Server": [[17, "start-server"]], "Send simulation parameters": [[17, "send-simulation-parameters"]], "Run the simulation": [[17, "run-the-simulation"], [24, "run-the-simulation"], [26, "run-the-simulation"]], "Post process the output": [[17, "post-process-the-output"]], "The Battery Simulation Model": [[18, "the-battery-simulation-model"]], "Initialisation of a battery simulation model": [[18, "initialisation-of-a-battery-simulation-model"]], "Inspection of the model": [[18, "inspection-of-the-model"]], "Computing and inspecting some standard static properties of the model": [[18, "computing-and-inspecting-some-standard-static-properties-of-the-model"]], "Note on Octave Support": [[19, "note-on-octave-support"]], "Optimization": [[20, "optimization"]], "Parameter identification example": [[20, "parameter-identification-example"]], "Optimization example": [[20, "optimization-example"]], "Parameter sets": [[21, "parameter-sets"], [21, "id4"]], "BattMo Tutorial": [[22, "battmo-tutorial"]], "Setting up the environment": [[22, "setting-up-the-environment"], [29, "setting-up-the-environment"]], "Specifying the physical model": [[22, "specifying-the-physical-model"]], "Setting up the geometry": [[22, "setting-up-the-geometry"]], "Initialising the battery model object": [[22, "initialising-the-battery-model-object"]], "Plotting the OCP curves against state of charge": [[22, "plotting-the-ocp-curves-against-state-of-charge"]], "Controlling the simulation": [[22, "controlling-the-simulation"]], "Setting the initial state of the battery": [[22, "setting-the-initial-state-of-the-battery"]], "Running the simulation": [[22, "running-the-simulation"]], "Plotting the results": [[22, "plotting-the-results"]], "Source code for battMoTutorial": [[23, "source-code-for-battmotutorial"]], "Pseudo-Two-Dimensional (P2D) Lithium-Ion Battery Model": [[24, "pseudo-two-dimensional-p2d-lithium-ion-battery-model"]], "Import the required modules from MRST": [[24, "import-the-required-modules-from-mrst"], [34, "import-the-required-modules-from-mrst"], [36, "import-the-required-modules-from-mrst"]], "Setup the properties of Li-ion battery materials and cell design": [[24, "setup-the-properties-of-li-ion-battery-materials-and-cell-design"], [34, "setup-the-properties-of-li-ion-battery-materials-and-cell-design"]], "Setup the geometry and computational grid": [[24, "setup-the-geometry-and-computational-grid"]], "Initialize the battery model.": [[24, "initialize-the-battery-model"]], "Compute the nominal cell capacity and choose a C-Rate": [[24, "compute-the-nominal-cell-capacity-and-choose-a-c-rate"]], "Setup the schedule": [[24, "setup-the-schedule"]], "Setup the initial state of the model": [[24, "setup-the-initial-state-of-the-model"], [36, "setup-the-initial-state-of-the-model"]], "Setup the properties of the nonlinear solver": [[24, "setup-the-properties-of-the-nonlinear-solver"], [36, "setup-the-properties-of-the-nonlinear-solver"]], "Process output and recover the output voltage and current from the output states.": [[24, "process-output-and-recover-the-output-voltage-and-current-from-the-output-states"]], "Source code for runBatteryP2D": [[25, "source-code-for-runbatteryp2d"]], "Alkaline Membrane Electrolyser": [[26, "alkaline-membrane-electrolyser"]], "Load MRST modules": [[26, "load-mrst-modules"]], "Setup input": [[26, "setup-input"]], "Setup model": [[26, "setup-model"]], "Setup the initial condition": [[26, "setup-the-initial-condition"]], "Setup the schedule with the time discretization": [[26, "setup-the-schedule-with-the-time-discretization"]], "Setup the non-linear solver": [[26, "setup-the-non-linear-solver"]], "Visualize the results": [[26, "visualize-the-results"]], "pH distribution plot": [[26, "ph-distribution-plot"]], "Source code for runElectrolyser": [[28, "source-code-for-runelectrolyser"]], "BattMo example Json input": [[29, "battmo-example-json-input"]], "We load the json files": [[29, "we-load-the-json-files"]], "Material properties": [[29, "material-properties"]], "Simulation parameters": [[29, "simulation-parameters"]], "Ouput specificiations": [[29, "ouput-specificiations"]], "We start the simulation": [[29, "we-start-the-simulation"]], "Plotting": [[29, "plotting"], [31, "plotting"], [34, "plotting"]], "Source code for runJsonScript": [[30, "source-code-for-runjsonscript"]], "Protonic Membrane model": [[31, "protonic-membrane-model"]], "Model overview": [[31, "model-overview"], [32, "model-overview"]], "Governing equations": [[31, "governing-equations"], [32, "governing-equations"]], "Boundary conditions": [[31, "boundary-conditions"], [32, "boundary-conditions"]], "Load and parse input from given json files": [[31, "load-and-parse-input-from-given-json-files"]], "Input structure setup": [[31, "input-structure-setup"]], "Model setup": [[31, "model-setup"]], "Initial state setup": [[31, "initial-state-setup"]], "Schedule schedule": [[31, "schedule-schedule"]], "Source code for runProtonicMembrane": [[33, "source-code-for-runprotonicmembrane"]], "Particle simulation with SEI layer growth": [[34, "particle-simulation-with-sei-layer-growth"]], "Setup the model": [[34, "setup-the-model"]], "Setup initial state": [[34, "setup-initial-state"]], "Setup schedule": [[34, "setup-schedule"]], "Setup non-linear solver": [[34, "setup-non-linear-solver"]], "Run simulation": [[34, "run-simulation"]], "Source code for runSEIActiveMaterial": [[35, "source-code-for-runseiactivematerial"]], "Composite Silicon Graphite electrode": [[36, "composite-silicon-graphite-electrode"]], "Shortcuts": [[36, "shortcuts"]], "Setup the properties of the battery": [[36, "setup-the-properties-of-the-battery"]], "Model Instantiation": [[36, "model-instantiation"]], "Setup schedule (control and time stepping)": [[36, "setup-schedule-control-and-time-stepping"]], "Run the simulation for the discharge": [[36, "run-the-simulation-for-the-discharge"]], "Setup charge schedule": [[36, "setup-charge-schedule"]], "Run the simulation for the charge perios": [[36, "run-the-simulation-for-the-charge-perios"]], "Visualisation": [[36, "visualisation"]], "Source code for runSiliconGraphiteBattery": [[37, "source-code-for-runsilicongraphitebattery"]], "runThermalModel": [[38, "runthermalmodel"]], "See Also": [[39, "see-also"]], "MRST": [[39, "mrst"]], "Visualization Tutorial": [[39, "visualization"]], "Grid Factory Tutorial": [[39, "id2"]], "FAIR Data": [[39, "fair-data"]], "Solid Diffusion Models": [[40, "solid-diffusion-models"]], "Thermal Simulation": [[41, "thermal-simulation"]], "List of curated examples": [[42, "list-of-curated-examples"]], "Units": [[43, "units"]], "Converting units in BattMo": [[43, "converting-units-in-battmo"]], "Units and JSON input": [[43, "units-and-json-input"]]}, "indexentries": {}}) \ No newline at end of file diff --git a/seealso.html b/seealso.html index cd976f5f..a54bfc01 100644 --- a/seealso.html +++ b/seealso.html @@ -163,6 +163,21 @@
                                                                                • pH distribution plot
                                                                              • +
                                                                              • Protonic Membrane +
                                                                              • BattMo App
  • pH distribution plot