From a85dc0d6e44525fb420d455396fed7c8d692b79e Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Sun, 21 Jul 2024 16:04:59 -0400 Subject: [PATCH 1/5] switch some more min(max(..)) to std::clamp (#1627) --- EOS/helmholtz/actual_eos.H | 10 +++++----- integration/BackwardEuler/be_integrator.H | 2 +- integration/ForwardEuler/actual_integrator.H | 2 +- integration/RKC/rkc.H | 2 +- integration/integrator_type_sdc.H | 3 +-- integration/integrator_type_strang.H | 2 +- integration/utils/initial_timestep.H | 2 +- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/EOS/helmholtz/actual_eos.H b/EOS/helmholtz/actual_eos.H index febdfe07d8..dfe8983e0c 100644 --- a/EOS/helmholtz/actual_eos.H +++ b/EOS/helmholtz/actual_eos.H @@ -156,9 +156,9 @@ void apply_electrons (T& state) // hash locate this temperature and density int jat = int((std::log10(state.T) - tlo) * tstpi) + 1; - jat = amrex::max(1, amrex::min(jat, jmax-1)) - 1; + jat = std::clamp(jat, 1, jmax-1) - 1; int iat = int((std::log10(din) - dlo) * dstpi) + 1; - iat = amrex::max(1, amrex::min(iat, imax-1)) - 1; + iat = std::clamp(iat, 1, imax-1) - 1; amrex::Real fi[36]; @@ -1005,7 +1005,7 @@ void single_iter_update (T& state, int var, int dvar, amrex::Real xnew = x - (v - v_want) / dvdx; // Don't let the temperature/density change by more than a factor of two - xnew = amrex::max(0.5_rt * x, amrex::min(xnew, 2.0_rt * x)); + xnew = std::clamp(xnew, 0.5_rt * x, 2.0_rt * x); // Don't let us freeze/evacuate xnew = amrex::max(smallx, xnew); @@ -1120,8 +1120,8 @@ void double_iter_update (T& state, int var1, int var2, // Don't let the temperature or density change by more // than a factor of two - tnew = amrex::max(0.5e0_rt * told, amrex::min(tnew, 2.0e0_rt * told)); - rnew = amrex::max(0.5e0_rt * rold, amrex::min(rnew, 2.0e0_rt * rold)); + tnew = std::clamp(tnew, 0.5e0_rt * told, 2.0e0_rt * told); + rnew = std::clamp(rnew, 0.5e0_rt * rold, 2.0e0_rt * rold); // Don't let us freeze or evacuate tnew = amrex::max(EOSData::mintemp, tnew); diff --git a/integration/BackwardEuler/be_integrator.H b/integration/BackwardEuler/be_integrator.H index 2d858a7b57..6ce4ddeb9e 100644 --- a/integration/BackwardEuler/be_integrator.H +++ b/integration/BackwardEuler/be_integrator.H @@ -272,7 +272,7 @@ int be_integrator (BurnT& state, BeT& be) // backward-Euler has a local truncation error of dt**2 amrex::Real dt_new = dt_sub * std::pow(1.0_rt / rel_error, 0.5_rt); - dt_sub = amrex::min(amrex::max(dt_new, dt_sub / 2.0), 2.0 * dt_sub); + dt_sub = std::clamp(dt_new, dt_sub / 2.0, 2.0 * dt_sub); } else { diff --git a/integration/ForwardEuler/actual_integrator.H b/integration/ForwardEuler/actual_integrator.H index e52b8cb678..6fd19d1a59 100644 --- a/integration/ForwardEuler/actual_integrator.H +++ b/integration/ForwardEuler/actual_integrator.H @@ -86,7 +86,7 @@ void clean_state (const amrex::Real time, IntT& int_state, BurnT& state) // Ensure that the temperature always stays within reasonable limits. - state.T = amrex::min(MAX_TEMP, amrex::max(state.T, EOSData::mintemp)); + state.T = std::clamp(state.T, EOSData::mintemp, MAX_TEMP); } diff --git a/integration/RKC/rkc.H b/integration/RKC/rkc.H index 55d3a3c5b4..958cffc3ca 100644 --- a/integration/RKC/rkc.H +++ b/integration/RKC/rkc.H @@ -308,7 +308,7 @@ int rkclow (BurnT& state, RkcT& rstate) } } absh = std::max(0.1_rt, fac) * absh; - absh = std::max(hmin, std::min(rstate.hmax, absh)); + absh = std::clamp(absh, hmin, rstate.hmax); errold = err; hold = h; h = tdir * absh; diff --git a/integration/integrator_type_sdc.H b/integration/integrator_type_sdc.H index 4d65e03c7e..7913d610a6 100644 --- a/integration/integrator_type_sdc.H +++ b/integration/integrator_type_sdc.H @@ -21,8 +21,7 @@ void clean_state(const amrex::Real time, BurnT& state, T& int_state) if (do_species_clip) { for (int n = 1; n <= NumSpec; ++n) { // we use 1-based indexing, so we need to offset SFS - int_state.y(SFS+n) = amrex::max(amrex::min(int_state.y(SFS+n), state.rho), - state.rho * SMALL_X_SAFE); + int_state.y(SFS+n) = std::clamp(int_state.y(SFS+n), state.rho * SMALL_X_SAFE, state.rho); } } diff --git a/integration/integrator_type_strang.H b/integration/integrator_type_strang.H index 35dfd7174f..09bc40307b 100644 --- a/integration/integrator_type_strang.H +++ b/integration/integrator_type_strang.H @@ -55,7 +55,7 @@ void clean_state (const amrex::Real time, BurnT& state, I& int_state) if (do_species_clip) { for (int n = 1; n <= NumSpec; ++n) { - int_state.y(n) = amrex::max(amrex::min(int_state.y(n), 1.0_rt), SMALL_X_SAFE); + int_state.y(n) = std::clamp(int_state.y(n), SMALL_X_SAFE, 1.0_rt); } } diff --git a/integration/utils/initial_timestep.H b/integration/utils/initial_timestep.H index 876b571103..9d7f5cd9f4 100644 --- a/integration/utils/initial_timestep.H +++ b/integration/utils/initial_timestep.H @@ -87,7 +87,7 @@ amrex::Real initial_react_dt (BurnT& burn_state, IntT& int_state, // Save the final timestep, with a bias factor. amrex::Real dt = h / 2.0_rt; - dt = amrex::min(amrex::max(h, hL), hU); + dt = std::clamp(h, hL, hU); dt = amrex::min(dt, ode_max_dt); From 3ee048ec696a4b3d34a0638814306003678deece Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Sun, 21 Jul 2024 16:05:13 -0400 Subject: [PATCH 2/5] add CNO_He_burn network (#1622) this is basically CNO_extras + subch_simple --- networks/CNO_He_burn/CNO_He_burn.png | Bin 0 -> 114151 bytes networks/CNO_He_burn/CNO_He_burn.py | 123 + networks/CNO_He_burn/Make.package | 14 + networks/CNO_He_burn/_parameters | 4 + networks/CNO_He_burn/actual_network.H | 518 ++ networks/CNO_He_burn/actual_network_data.cpp | 164 + networks/CNO_He_burn/actual_rhs.H | 2873 ++++++ networks/CNO_He_burn/inputs.burn_cell.VODE | 59 + networks/CNO_He_burn/partition_functions.H | 192 + networks/CNO_He_burn/pynucastro.net | 39 + networks/CNO_He_burn/reaclib_rates.H | 8426 ++++++++++++++++++ networks/CNO_He_burn/table_rates.H | 399 + networks/CNO_He_burn/table_rates_data.cpp | 23 + networks/CNO_He_burn/tfactors.H | 34 + 14 files changed, 12868 insertions(+) create mode 100644 networks/CNO_He_burn/CNO_He_burn.png create mode 100644 networks/CNO_He_burn/CNO_He_burn.py create mode 100644 networks/CNO_He_burn/Make.package create mode 100644 networks/CNO_He_burn/_parameters create mode 100644 networks/CNO_He_burn/actual_network.H create mode 100644 networks/CNO_He_burn/actual_network_data.cpp create mode 100644 networks/CNO_He_burn/actual_rhs.H create mode 100644 networks/CNO_He_burn/inputs.burn_cell.VODE create mode 100644 networks/CNO_He_burn/partition_functions.H create mode 100644 networks/CNO_He_burn/pynucastro.net create mode 100644 networks/CNO_He_burn/reaclib_rates.H create mode 100644 networks/CNO_He_burn/table_rates.H create mode 100644 networks/CNO_He_burn/table_rates_data.cpp create mode 100644 networks/CNO_He_burn/tfactors.H diff --git a/networks/CNO_He_burn/CNO_He_burn.png b/networks/CNO_He_burn/CNO_He_burn.png new file mode 100644 index 0000000000000000000000000000000000000000..24c454e17c45b28b699c5ba4e65ee219d0a453b0 GIT binary patch literal 114151 zcmce;WmH^E(=JR1A-G#`fgZ_ez{kR3 z_4fv58+#KLGHOaEU=T#x51$=iV9@oSzMtg_=b6DggMs-d_FnmG^4_A02ad{g+wroc z>>=WJ47Wocx(~Q;FB-pP(sk>!g*4apP6yy3BjtZXQe?{iaLDBNIt2rkqB*Yk^r0LB zp)tua(m&j`B@G>Hkh_rFzjv^g><-ZqS5d*G@WT*6`1@lrsAu}wzkfcx!iW7>hy3@3 zrz<+-h%W!*LI*O{D)avs=j(T>1^@pZ7=h)7U*rF{u=*m>7XQBltk?=6EsVSwpr@!%c$l*Wpb&vLg4x51!a1QyNRY+e49+u9nX6XmZA>Uci>U)ulCYd)AK-KvSR@jDo%pn+rdMzwVAJz-4j zq*UX5m^ThYfArh$7eZC}E1FCR!zT?2a@dX7w}r%w4C>Y+>Lj94w)lMc_ngRUb89v4wy0;afdodLe|y_^&Dl?f#>q zX= zEM-_sm%zPziH(ijDa*aswbbnHNfHapi<<*!VUeik9%fqh+v6?C5|NHqQYsU1|HYwd zJEMdCu-DAjJ_YFgy+3Q2AWHqDnk4yOom<`W`A}D?UhX4F>gsn6ojwH%Kk8L$yyCGX z7Z(?AL6Ze`2$=~gVhXeO(dn+qoMjT#x9r=*{DR#Joana6n2}rXJc?wco>;^we&ydS z5;I~Bie&e`KUb?y%acoyl953{L_|D0Se!SpL!|JtWfCM?>md1fF{!nUfo{yWfye*b zf^(E@iLJ1?Z=ksB-ojfM7u^IjgStil&wK}v_ zR8l=oKDu4(eQb2zU$8b|Phd@uLr)q4gN5ZWktn*lH)HBc;vUNvk4t-$S*rdD6JhlQ zz8LD|+i(*8SQ38cqX~IomAXa#!zNKvQ`6bjtE;P1yevSSLN@Vy`(exV4{8gDcCQ{C zcUW-$BUdpdyZ6)!z2QW?rL7MG6-I;kx~*RR^FohzryHA_G57p#XWOo!N(dBU-ImTX zUN{XLJ}|zgZsOlbnaFvi2m1e2-HSSMtb@WrcIQ3yt&x<$@f>Nhg*v;OTY_*25fPDr zdu$N|1^2r;Jdx*mRiX8zHoGXOS$aK$x?(i{s=?d~h0gn*lBBD>WZs7DJ}&?@b6D#_ zgb@)HJ-)oWbovTRyHNjJD83x;-~e^3{Rqt5yHO~p*;X9anVG_BQdydX^PiRZ@yIHu zoC^ytCTG$y$H}Mg#f)W1x=%`Yc?o4?WB`lnHwEk`KewIiYisV!H)jx>J76{pwmjHd zHUagBE4xT|*s#dG?%eSI?zg-a2IT_FH=*aiCF{G&!DIP<*I&~}ZvNy%@~M?WODX@= zmZMjHe9IA%#WAt6du(av|M6BnrV6M2i2F0?rLS$5)GgUV@qcge*!0PNayuQ|d%tmp z>d~__oNxG|*>_z1wQff&6MqM1e_s4B_q$Ydxkh%>JUim^-}yjd|9B_m(8VTHr4d0r z@P!kdT;yAak0V1yvj@H~O|J9rtQ&q6mv&oPfDcsq;2 z$3#NdbHj)7cNeta{@`k+)UR#_R>%Ufd2p%dai7xkW#-3}54wSW?+Xh3_Gb!T#Z*+@ z`0FMo6Hjd!7tN^^SVC9V)h!R!{wks05$T^j%8xFbE8A!ds9y1`oi`1;|HM&kLglKS zPNpHgT55Gm@YqQfU#zMdNcA6$2|`Z(XO$mRWaAxr^%)=9_qjA4HQD^UWxtJG#^H(^ zh>XqbaF2F4)ar)3&okO7@fF}Z=aw46(+#Bkca-?d!opoBxw-G%od=+6{ey#)R8(El ztAN@Ur_Y_TK^7twn}DGk(#yAfQpFT-@D2k?W8am}y7E^Ji?nnrTnbKN1nFcIU%3=H z|GIFrwM!T`qg22V14h>xTB5VrWc>EcA4CksE8< zOb_EB-TdGleX;b}OtUqI>S$}EKA(q~SJwB- zRsHmO%t2h@t#>v=-cf^eZ#s>JZJEt^@IHP&S85)S!L)tOyMvBBVP~|AS$D|=o8rMM z=HTz@5fpG+yf1X0mYOxk&Sr#KNWaSlfF zf(ggksA@`gL=?|0u0l0~DDeBY-(GDj6(JsTSFC?vxb)%;OzyynxcDytNB@yibk77y)q=BSi zXO_eQ;5jr@Kc3T85C|UQkDpNO{2Tlo{^LSnlvTPTFWH?Z6yu<{+74j~4x`(es&l`G zva2^VLKaJE3!Nj@$IUu}5nbDy_`B0E^HG0Qg-bjOAAD&1n1awkrIEt9LL5!UzUKsv zsL8SOQ^dPOj5ZeLr!@-8r4k^#rVzM=@IM+Vbl982-da0#MXf1!bs`i}=v4>d7h zy6ZcalBEg=I{Z}ileE@F`+h`V&i=>kvdN`~AOAOrV@l>b)HrD3PKrfW8q;8MKUgv^ zMiYK~5Il6tS&LxvU?WT-Y% z+yC`J-m$SI)mvSqld7v#nBw7iN-Q^r;W%S9LRL=@JSr-zR&Rrl1yfQ5ceLj3V)5sx z4K3U-hmQ?D;V(g|yv+Z?i_#w$!e?tV!rw{`e5S@Z#7WR0Bx$g%zUgd2@)>-QOlc&n zi#HZ6-w>8*lftEix#%OQp`%^=b-hDZR3U6LmLAFRXui#Y>4vp@u(oORhEoHs*1rBR zjB@#>!3cBhUdd9Nt#+L1%pQZh=Oce_#c3gK(qCxydy>%F>zp}7Hlv7VQ|BAGH>0(q zH|It6jr85KG7Fb3v*2eM&sm)6{29M!oOnU_uQ$fWIM6~0REOZT1)M~B>b0JXHvd9^ zBP4(={GeBtXr)TFyg0rfu(jQ*C%ZT#^Jus1Sycg zyLAW!g(19`pUX@dv`Uc)1DRJY%&TuNM(U&IU{7&qLuzQ5b(ZG;6dvM|3)fUP;WdwGZ z6)|^yi%kQYe8rEfj_>7_ixyoaxyyNPKh1*U{J6h-@Et59$z#NoO;6N5!xqmShS9>C zO&NUM&qw)3FwY3tzjJmJNE0@w?Gow_p4@RIYBt3$rk` z!u%TLr`)`{3Zqg~3zM1#e7bbhjev`TE{u>)UE-8`WE1JXDF?IGQ-&548dNw}z9IPB z{O75ZED4H!S|;6%c~#L#tM(~9WkgA0*{1W!Rv+@g5 zV6@2%2$v A0*etx^6OP(P@;`+Yz{VDHMWjGLNvOv~#}4cR03Yan*|KmV*z%(8o; zJZZXK%LKs_UmRPb*x8$>D$*(8cEHP;3=eD-UXt&eoXWbrmXCc>H|X>tXYk|TBhI(j z_ToA|=d!{5EwUupjOwxlc5#KTtFeq`I@}=(Yl<{?2MuSSzjEuE{l`jJHFt#L?MXY5 zZ>eH44*@5;ZqHx*Xk~hTqYQO1{akA5T7QpG1xb${n*Aa|O5V54SDqHj z{oN-L7iQtpA>QuQl+#>ppK6znfkSdEkt3hZt2wf7*GbNmJ9;7027hziE`P~C`trRZ z=1o_!gYd<8Ygx=tXW}E@r`@WQ%;G?yjc)UM5D9O8Q^R_k{a{aReQM8pwkc2}1CF?) zZ$5a;O#5CahVt_|t7b&j#5Mt`aEB2Q- zBgWv>4_m%7DsQbs=O@^HRZeg*FbLDiORA{kIYpozd^EI$37n`*Xn3=lOyc`@dzn%G zs1I_q`Dr>z2n|+vi&f10NNx1d)z)DjTUx3|wQfpHn3bzj%=}5fI|H>{|K=5Y?Q&Pf zUWX;PmETwMWA*Vk&fcp+T*jp?8l;3Py>GdBr1oVrn!Z!M;?;@xml?oEdkT@d{0GFp z%mxc0Ta1Md&@fMv4U@|2?`V_+H-l_N{U&a- zq?wVGyq#tbq(yJ^C(S;$3Mcq$UZzI56x{r$~fH(P6m^N*DOf{~OOkXX`nKjE+vq85bm@i2tE)^3egUK7q;v*i_ z_s{>ut^X|MUBSfy(r@$87sBB}d)PSWyCq=03J|yR2z~8dj&rT8nV}Mk*sdq$chMje z!X5jR!q~`Y-T)}HN@9JDz3#0Ie;_hCAJa6ns)@Zy7^ZUi(D3%>qyt9%Uxj-Z{KuZ@ zUKA(cW)Qq?kt92_1tK*Sm20=hFH7=ws4){!{!5EzQYA&pv-1@0Dq2@WelHgGfM+Gr z^?OG$x5LLl@l&scH&2*lcO8_bYhXNHXZ=fL+2Q@svlmiO?itq%8a#tDGShHD#>M5_ zIailU*cQREs)ZBGaQ73v)1szVySy268iZnAVqe>stZP^&+UpQ}zc^`B3c4^#hDK>0 zocB#Fj#*S&^2K-bJeO=HuKqt4;<=4%dT$Mb@(nLMgTH6n$h68X=D?!nv#Z@ac!;;5 zeBne=Q>Syi7(R<`fH!Qx9Y?Ofof5hO29UM@SNm1D6?~`N`S%yyMVe^`@q5Gv4p@$qlSjWWKn3Ea`j*I zIaW}9mH6`A-y9PY3u_H(>xV(A-h|wufz)lheD?tJTwsQ*#9Xt|*?hvzFbT=k_ z!sLtkJM9dD0ykCBa)-$K8{H5Q~tUC^+@ii6AX~7YwI%kXUmZFmSt~! z^q;dQwjzYET2J6ahE@*5zTCNsAKheT4mREU%wN5su9bo3fiyXP7bv7cj%3yEh!nHi|eek_4ysZ=_)( z$Ml3t+5QdNI$r+?zc;H8N(O5eNy&>jA|SQ*Lt&j3b)Rx?5st}LoVCk-i!ruhLpVwQ z6YPm-sb>c~QG@JiVzn##pw7>+v3*I6Tlz}-Z=@DKYQ5v}gjUhdkC@lm)v@|M_ctSE z8QD_*h}Ik8(8sZe1b2HzfK;4w=jy={4x5#4fMBq-n^FY|&9zC&?ecF8&LrrkPxLK} z<=da^@7zcdE^*WUALS03`x63Ez5?RlE6_ z2bAVYTEg(#6{!%JY|`P^oV-cvk`;7AttdyrrFQ(?%9gM7r!aRpL#T3fcr=O~iT{)K z)Uo~{dg1hMU=GaOsM8MalgQ9Y?KN8Y3|NZZUffXC?0yTYiJ>O1XpR{UUM5{ZgZm!0Aq+kYwMErt4K5ba`o=C#!|BPt-Ne zK?i4$8gu5Gus5I3vD!@AH_Y&6epz@l$VktG_3Dh3j)877$2|`weZr!Ei0r*q79Al+ zk!UE|x!F|4v!6~P9z@yyLCJsW2U?$WS}+^91LHC3?l{X*lAoVuVSb{;QO2zZT`9i) z5qk(VW!ySY_wt05V$v(;_3|=8BbF(hJsh`iT&VQIns+sbY(Fd$zhawaeT1 zDYR%k2q{4RK%iMx9cBZsGl<2)nHVNtPY%Hs%c{Qn_kIR#6jblU$_CjeIDn>4LM;C$ z&Dc*Z!s#Ecq}w;N?0WW(VHRdy1-LvQYA+`kg?;BjtT+`q47Y;4k6{3z)i6>QE^84Eoh^8w9>&tt@@=U~d zSC-&e-!F&THJ)m{6Fh_mJI`G_5dCwGhN@ZDkm4&UjC;Q@uwy&+cvOcVjeVraOpQ3qf*f99f-4 zvhmgJX*t0oy~ny9-nv1`D~&OA9>pm|myJisjhFq`H^dluo;N#r!1gl7`og1r=?cR1 z0RDz)x;<#j&gm!WQqxLF;&s@v9b~FK8hQ)Gl3pcBaaUOx5lBoxN@;%Lf`OC6TNo!JaK-pdt;dv%T!K&)sc`Eo9*1ir${NIBRMU zgyAX*&%QSU!QEXLa+S{Y+PwXpF-EtsaQ1rJHyM;wad~;ogZAv28f3`NtYeXeTbenp^OInJSf@s9Sdw8RshVygG!pgdZaY7 z{%HDp4y!pFZ*OmVd;6IRBjnb{2Yxd%GZZ4OFlcFO>Q72ZH{KKEv?2#=GBWULXCOT@ zGrZn>jn#tJ?fxd#!NJ28r9{}u4YU*j$WOmNk{Ytl^8gK#psZc?0_r8FXr8whOqvJ% z?s+EQR1{Kyc(?Q2XFpO>hJotV^-f+|A2_aexv6`Rm#-TPj*w<)j^3Hbi(`5MlmfL< z(g?we_(86hC&P{bc z;N^2UkP#7qJ#4u>;038B7gsBR{HMjhB!Q>?rVg-ACCR!S8i26Clt*Z9TU?caXm*JEF-t3xTqNq5+_nJ za?p^<)f&)ZeX+g^Oogof-hkl1NK=+2_@lAA9J}h2>ZZYrH*9JXJWw7h!nmn*iniv_ zEOX4;F7}PA{e&=r%d_1%Z;=^B0gzPqlz$JVXwk~8>_BadID#Ox=+P`|j zi6jAipl4uM8|GeqqxmqYB>$|;394#5oajHS`jF^2Z&k}?*oVPoIn$Q?F{%#?rsd;H z6!N?|IvHen>%2E}>h%Ucu@W5K+A5qS5&l|0AbDXytHB8>p{%T&v;U-M3t!j6BP~k< z_z&uQ{gLq%)z!DFMi$*)uJjPuY+TISKq7=6^tOf)=t4w1JOrBE&VfO+unu&T$9Q44 zmzw$AFAu0`A!k83Dn+WtSL+cIRc1x78KU(dCIzR1kx;E=79o6@4$sYjn5M^vTPiB5ABl+r0N&N@}cBd3iwCs57`8Bu$bU!9#4OA<%SUz)otg;TxYI(Kh|9FQ7@{Zr@_;NuE z)&rM20>8*xyTk$moCd9k^ieWhQhuM6Ob~v{tGgB{x9?fL zTh&P<-mOkA1tKyEOLH8aT+{pGxZ}_4(Rg)2ppd2I$;kCOb>%Y+hf6PEqfak;-RUU$ z$L!7z$UtfSF3J}|b`U_vwA)Gyj^?phvl*K%d+S3lMF2DaNhVp>t-=SOyz1EKk8<6N zQR^ES=>aeU@FsQ>vfOMYBgqw>e9n7)KPW`wxot>=@6VKGPrM)R<6;=qfTAgW8u6fi z&s2SakSCwK@I41tQaIqER5b9fe{0%oZY9|mpKSEs0R?hgYsLYKvCJ1vyOa96lLgGv zjeNp+D1;nAxQwb#x=~>S==(Z=Z=wndf{k>Ag%u8Pqj~aVdD9PD!%6h?^ceuu$su0$ z^?lH&vFt||zOx-!Yx(h{GQ@n2ef#H`uT_g;QutlQD^0-mh=8UwMny%5N=WqZhTU~+ z9q=(vUxrS+h_Yp2V8}G+1%*)Jq{v6;M(4^;WL zob>8L^T>cYJd%`NVJP4BDHs2MRM_@vvaK*RPzYkw;CSM(1VO#JCMzM^cyQ2+LSO!e zrJbvnATfPKRsKv_Y9%!9TOt$IrI5_PHe;-S*h2fpqJ z$0Q#+3=ONnB&i z?k-+etAX~AY(PO^erY#e2$1%Bt65t!E88~b5A9AB)dMc;3IMc0360CW*{EuZ>G5Bm zEA8in?v6S+%*Orbm2z3lC+T*77fVY?h0I%wbq_5%EhJ4}mS{J!J8pkkTU(=JW;X5& zK$S@oB8lq1-mzZQB-DMm!URNdYruThVl}Ogo#;e@G*qn1Y4dag z0ZTrumV+aD=czHoaq@A6o*b?q1jjq?^f5NKvplDg+6nW4M}9I=5(Ku4BR5Wn%jrh- zq!4Kf>3Y7wy5-u~y7^qSMSkE}#mriv0MrGy`@#wP|E|%cUk@L7mibTCnew zm2sFfs`Soxrb6U- zsHAiaOg#Rr2^!!Y*MPuFs8^Dr3&b>WgI}?ry(DJAj26LxG3<& z24~xAizB!21p1v8n{mwoL=Ovg2WwUsJKHcoXf7=%DvE;A1#FK2jAt^3T^YtVNz~~s%Nr1Xt=YKr7 zC_r5U&kMdsq41Xv+D_>+V=EZ&0vuE0g*ibJzp_~9D1v`q{=5ZuDfpB4qP&E zc6ureu<&o)^qZ7^9PyFXwQDZPba1E%(UF#DUJv$@$BQAW_NGE+N6rwpI*k{|grgk;n7x0=2X!s?H>xL#zIrWO0ew_pK> zrFG0a6-VnOH)yfcC3k`hvB1|Kse;(wiep5zlIGIl}PvB-d%euCDe*YK1E$cM9 z#l*bbnXRNXuAD7^3%5PouU%$V`?3@LcJNNw7yyAVGGWrJu@8VK7eUr9`}+IorE8vV zK4|h78XGq>f%5Y5+&6EmIS9=r^D!s#fM?AuXwR0Hhz4R25ClnN*=a(wlgWzIN@)N^mrLPm@3&_MOf6d336@%clHYkRJv-YExO*HR zrjW1?#KkuyQ`L*Dcb|taoSxly?VdvSDx{qoQ#v|Ce0+RH?6NZpndjz#04Qk8^vsC> z@TYCYE|Zomzk&@Mt*uJebyOHH+Ln}igO>KK2W|@rn^n)-=l06(^9}3=VSEjIX5P{x zotdr@H1BK4NxT@59lj1tX`EJkPd~HI>J$S-WUD5uYrvaYb9NzyPg!?5KVD{a=-kPK!b9{FANk&(}%rmMBkrjr52?3|oyzF(np7XTq`zwu!f&KFqLk!`~9Y~01+G8jOdZ9w0yudlm$ zdf2VzICKM@#uQXyoS?t$0L!j)Ib5o!kY2kxIlIwOR`y%8c1cVV0pdU$95MY24}}sd zb9rZ=Bih6ChEVc;|MsRqXSuTb8r0X=^7(+^{oL5FUXh|EyagyiUw35MFwVNSgiqey zvE}|x`=X-_#EIJ}AV7iDApEoe%Yp_fCoq_CSC69s$}D7f)eTj5+C#&m)g4Y;&zg<7 z_NIb>DZytfTvK}sAD9%r3>$mi^ituMv>OigmT1hR2nGvB+32tSBvOyMp=zvbT~l9G z40+QF9$X(Q(UH!ZQ#eO4nAyA2iYM?Vtr<(dTbdk661JjaE zzw-f^rmYjPTd_fQ%VyYN{WJLO#ogpU2Zgu08S)nDu?Xlg^pA(L2_Uqj@B5x4IT$UM z^ER!Rcz8WPT&Z1hxKMxU8u5{55DbO@Ay|iX?diBQ3nrdw`?_04k(O+9;WQK=PpP=M z@uT{?T0C#J7aO@l&T?-j6FDum$8(VHZ!h!8%6>3u)?D#rhmHfe%*PKORxX#lFP-S{ zIps?ZX`+I&v#A0ei$(tE-*Bu-`sCS)=jV6^Rl+A7C#Xz^s^mr?0U93{ zWyu>kzBlt?kI})4pjshZLf`r6(sqQC98ZX+O~Q8+>BvGk81(%!jvyr{gj5QGId-lL^`?-h!acnwIes56h zij$wESHaL{k)E|7F3Y%a>fq|ILop~{kR=pZE-e-mtl+%_gUC!%v6uoo?f5M%8A6A% zmRaF>>kJSLoj{Hm6dGzUoX83EyJC`%$d>9f=c|>bQWcvA4-LrxzJW={``$^%<5*nB zeV;Qg5~br-=xXIT78ce_izh!XFRx!<;9JvCav*BB26E14@oWb0r7brMEUkC!p?FN0 z`T0Qrv!e9rQyb7a?BR)k9}aLAPc+KS#r`00X`_II46t7WfCg(R?X25&b@O}#ME@0F zXmZ5SW@~`4^v&&cKW!SE-ekUl z$7M={F%pi*U7klhoHMci>f%Z_5iw$V80?HK2F=|Lbld!3e)DL_7F<(ZWNa@p-^XUP z{%Hvv<_fxtY3)e0A{uUmFwWhcj>?FhfkDfshvS>_Lbu=TAV~ zrTv$7CY8ctW_Kflc1=9<#}D57c)eXegl%lY>|0NfN*~?q#yLqSIPtO28g(9TxxQZT zN%rPp;5R0`HL0*!7J^45>;fth-+=fJ5ZB&Jx$j}?rQU_L-4ZdsbC}DLYoMBrt3M>w z9mKutfn8aDA*A9$aRtcW$z&-dK>$7E2b=%_5%YEc)M!7D(;A~kP!81 z^Oy;-!c6B+$_c4NazZ!wgoIK$I;0d75U%f3en+5ovMa9+pwn5Mr^VQ6GGHA6?ZbM% z=1XN);ViC5a!+g@lyJn~+^g-Sfj?BX=dam(V8_22&a5yTx%hU><3pz|HJ4y;_j%dW zHp`m3M)y0V)_3f0;h!@K%!q!~RMf}o4LzkRi>E7#=6guE80$GyQa*S2SaX|~1ZP2C!=97+NNvF{PAtf`w)UOc)n z6uw*}{2cr40%y9r(42Ac!h??e)wQRjNv7{<5ZVYW4Nn?*R?@6H7=ZL`Vhm}ogPBvT zJld0r(5tP-*s(I#H{lvx<4xMcAt%cRllgs`^N(L{+QT z!$wpb{#d>%2_aXhXb}kY2$}VY@0Ww|@v5)D$+S&8I9{(rM-L6`e4i3P@mVN*Kl)eG zYn>}MUfK0bQ$qZYm34Hx;{KUqT6KppkFb@qVY8N7fMEfMtCS~4q8sQq#z;^9UPT3s zOejpXh?@3dY2}9NnTt>r477!fn$J)IQn}3K8(ixxC! z@+Xy;*}&T5dcXN~E<2^geW9>{gsCsw0r%vjSp}Xeb&B*(+Gse64aI@zJV}99LX+k%^0qJpte} zGARkU4RDX9qv_vEJ5PdvXh=y*YY)m=rvB!M_Q1i%H>lRAUkhO*U`^k3*wsR?cW|)i z<}IJKlu6`3Y}S$2*QWpomM|jjk!k&FzbSJgpiC7n6N4VfGc6@0bp_BTgF>x6AQEZA zjc(qg8xRSlTznGhwTQLtUz#ap*O)S@9Lda#= zw>_5SN%C7<`l&T@Rs0&)gF;1x-@M)ZlfY(E&jx+cu+GKuG-%I1lMe0`A*P|Jn8#5# zjQXDcM$*M6)47214Tm%HeW{wpC@ZA3!)Rv?#F2ETD?~Y2d~3;!a&INV3S3#HT^Qad zbEQul48tWX)XWWUkqF17xigfAA<`-&y%`vN`lr-XF?d&eh7sE_0dTwQ^cA_h#f()1 z^{>hO-2&!Z-*6QHZ6_43Y5Yb66L0yF9V8TR68*$}#=FB7e}Q}tVBEp3UY^#kcPxA^ zrm&KzukA@P!s}$V$n(HchW@SP9Q)P085>`C^Z30-ar(?9B9X3otu+awTFEcYtOsDr z5fKpdwnsC%dV6pAh|~J|`c{CmMnG<4baF~kNsJEg=Rn?d4ZH;?4#0Kk*G_}L>{0!G z{f3!V^EFydQz|WJy(UitZmw*S`4mJ=U7etI!5$e99qgyEq(S~H&o(^+Q z0MvtS;5s%Shyta&%);t*or>&ixNiUxI^O7FqYH%RMI?ucKp*70Cf9uxX35&3!dIM! zI~qxr!b)jL4Wp+G(pn`G7Cs0Qk{DkS!*qrP4$G&ak2g#`#O!+CM%#Fjl%vbo$bmyj-`sb$MbhW<6unk|CAn33al zjD@b?H_g0!c@YEH+mZi!JN|(|q9jt~7z1G#Au^cbwh?$2?06clQ*}7kHLaigR^0gQ zt8Q_+{DlQe>%MQchoDG63ED=uygBDMB(yuGePy*&uw(^0(2maLc zilHJE1;zK36}^K7C^NuNdypvdq7riCJC#PA>I3Z**?D;mzy0P?Pu0wpA`2zTB};e!`cuY}2d3cQTM%S^}E+m=Yz#FicrT$;)U3 zp#qZe8EhFh@Qx_;k?j<>!J{#C3-ZO{*li3U9Seu525gVqsVDg%0uG3ewFa2e_opu; zkxtnLYX@|>6f@4-?>5`Bd3w$6I|IhjlPMlrHowndKH2BnJc6DgCkdQ( z1Tp~EVmd)bp<<2d5P;G1$EKAVEz|GRIK9r9*a31ta%yV-$w_5kc!fVl1HOKLUz9WX zWpm`vq#Pn9F>5~+`#sTVF&A^ z(pt2-F?CyIZ1VlsWC_cr3DR5mF|J+Sk}%zOac%J1Qr^yu#hCfD zVV>YwY~mCy{T{rtf=lYSUa#H`86I`VuFV!Cq-S$;oO2>sbiV}b{Uq@pzIR*aiEleC z%pCD&o}~m;$WXTpizO$-!YJoBhp|H!vUpj%-Drto9|nmcWIB~K_-W9K3%(R3lwOt? zw=Jg~FMdB40}c&TPL*SoA^%g-82t-;#>9j9lN+&sBR%NBDS3m^DZ+Qnxb+tuoxib$E2I{4iLuC|~kb z+RTg|FrF|1woKK9Z@?i3Bzd80s&FE1>;tG_C6` z$h~0u{3SZ6;ars&zRK(Js;cOR``d|Xi+zR{znfego=WR>c5H8rhsfWawq7cmIK@Oq zj{=M#P_o*Eei{G@PkE_sA^G`q4-dCCTvl@%&>tg2|J1O7N_wGFR=#8y!TU5J&zWiq z{MNgZ(9%xc(l>a>)7mcD#SA%Fg$yZtPHW#^l9E$W0@=;uLngGZSoTjJG-viiVUys7 z;#^nH4{fcEKC{-c^%+EE3oP>sD?M4q$~;nPM_5yjG}~#oLJqI;pp7fkrlSdM4pY*> z(@r5H2%jWk@c3E+j^Q$DA@pZ2p|+Ap7G64Ci#N`kwzs-hmabl?sC=ZCTOICtv}@X^8}vL6NtH~B z=$41xO3I-pf%s$Bx`?F1P)T~}J(;ay^<`vWkFvWk(B zJr?&pyYI`#yO{gg&v4r^P2*NVf@=$L7r}_H0_CvXbPSxR+rV~AK`5wt<8M2I!V$Lm zf{72jUGRF@PdrGLcpa{e^o4G=DPaOoi6m@o%SuHVBul5UfgZTQSf=`Q5dTwr+1=e; zoojtj|4CiFFPdHnXoh(%8h}!uLOK5o1^ziuV4~&W0V1cK(E=q}K z{cueSIM6J~2-35?*-BL>8G!H`D>sk?8h1nk(Q*KS`s(^x`{-j)SC<%#O#C}BF*qR0 zbtq=|+|hq2_30A^;Ejxd=XG^;eNt9-eDCsUb7SKOfV(HR^2B}v#Y_nF#{f_f`6q1d zev0508#rmA5R1+`+;2{Cilzn@>KzjJU6`NvE$KMs7PJClVPRpQY!TY7w^Gu0kO@rB zw0cg1Ed$#9^tlN^kH27+AVzDtE14fHjW-8p#O^VoukDQneJ*;K*^quK& z8GiB-$E`K0#DNsq1nWkwZ)DSYY3b$1js=;9`KBP7{6dhni#WOg&jG6)+>{pN429FN z-QDRBgE8o!cLt9WGXAf(Y^-M_mbtA92Noz^u&tvm2&|JJB4Gn{#Kx29qu~rl*;2D_ zlI{)|y>xi3^HLbH@4ZajyLMyd`_76STtg@iIg+bhOP)mKI{9)aBtz^$@;s4iJ&DM= zBY&boUyo}kIUs7c8luygs7?*3q08kZ~h0G!Ho|zjtC!Dr((S^a$OeNV=ay$=gre>b*qbT zuRI@hfyMQp;*}1vsGr;Bz%sx8fpOb^Wg&m zP?-;i+GGcg&cAnd<|6aDqL{C#_ios39WrERbHA_zV)5+?ke3w?i^=bC8=%^PO2lQj z))hRI#C_-hg59+W0$+6#aGu8<^2ki_<(BX>;fi$cbXhPrjVs;*QgS7i`r{!`76@f23d zTo5haFy*_$To+wzU#thzkQOKZ-i$(q`YkM(nh9*r-^b`BdMLHN+Dz@nU?+`|^!It; z8Ka32vVtT@s%j!pTyKL5T3Z$_D9m}(hy~vF9%wE+FgM%5w6E$$$FSOZzv23I@%r8S zJj8bjRk);`^s1U@3^{UxoKob#5g^ytlj_9k1}wtr)c)43H|(LlW;m%In^y!P$Dv1` z1DDP4HkkXf+F8!L31AQNk9c6DfFskx-KMA`BpB}-$j=DXqPFJB=O)^_snznryE5nK z%VWGfcN}v#Y%VFCpr!njQcPY+jVCsh&2-jSDL(@cdTKo)-5#761@Kf<$_u*l3vr8k z$if5VX=nDkXH+25_}imqSt&Yc&)~n732ROLKCYayHh3tH@u-B71^8QjvCUev_MYDA z2$10$iwR6ZH?eJITp$hAu2wK-6j#6rBNXNcF@DC1SFJhk?!v91{0-~6p4)>(jeU+E!|y`o9<=<-`wZ@{_}SP z_I-O;Yt1?4HO3N-RXN(0oon&=bzhG!x;$e_O!LDwLObiTp4#cTCN<&-D}5Gw&Qw+M zgLALUer#8=Q3G7A?zx&ei$@e`tP4?{p9;B^ozBlVC*^*dNEMLuTRl&3?6zlXH20{J zQ6Uf#urp0BC{PK;mi1b?%z8Kz)nQ{0@vF(K)J8RjIf!)Cx5EFfT*O1B@*4kFyanzF zQm${-omsFY$;AC6HUB)yT-@(8<})cv=x6r6quncOk(Est((N{{R1hYq+@Tb?yp?FW zNU*o_shB_UyMn3oHGBk_Z1I^gWy`BcSR|kS{1F8hn3EGPZ{(D$-2cKG+#WJAK`v72 zPEJnapGDEbD$UX&a}X~8h`^S@IzK;m0XVNePlqpK42}c~IBS+U87~ZCl9Ci8B{2#M z3xQyWGb3RVfB|Iu!0WbS+%QR%r644L-DF|E8f9)yCq=z23#fBhA+0R4Z{v%%RIn4k4oKBp3~EFOooNLW`tm4shC-9r_CY5+mS z6FPdE;m@e=6EMjF1-rqP7xGXR_Qse5*gk&zXolq=B2v$!fXc~c0&HOdVNmU{Z9Y@u zHRZEi3ll4El#fkyNeMRyFt>4W+h%8Hmj*EilklV3Rn?XBa)#BtIE|s_RLpSkdMXIi zX?stPIaFV+YePXmB&x0+kC@Za(r!$aM-V;LexSA0x-XTN_hp%pW?}MCS zKtBt1E|#_uHS^SA+YVmxchAhFW&cxpg(_BlH8hT^&!VXpgK@4Tc}VL_8(M|eM6 z6sHi+@lZ5$smJ7+Ml3`*VG+pu#SF8_9USH#)Ax}wvIRl4u{vwBYtC0gQywzCS5sDA zzYRpzB>WpDgFMtv&aY$VVH7>xayVN*AGPr9Y{TMH)y2#B>-+7n&7mnfxz5Rs?C5rP zBUKhRhFYoflRR9ab)yV7w?+|~Cyt*d{mPd%Oy=M6KV(*1`Z`vsi?>+y@SdpQzuK{j zHWMk@ft5P(*1d!JZ&A)w;$IZ|_vLfSGuI7veeR?*M~gb29in$Kc7?Tkshq=_l2-$D z_%)8lrtjWeoXmP0_w9}TqEi#2S_%p8GXW!Ta8^a*!y(OR@tm^s`WKZ~ zT{KiZMzj5QUf#GkLA5_Fu~)68Bgo4J)uhm{;eYvcXVw`BQ^6oe!lDD+#qi?nP?LqI zMEfbs`WLcu^7kqz61rPIVBuSi7tun`Ayyhbr;7C-T?PcAHiv8hT~Sfdx947*u;N1> z@)yaT|N8X{8vVZjX?IF~`}FD4{z_VedREfuJ`!D+Qu-bAV@IiPWo8F=o14I=pxLyF ziVCK34w%-oSbS)GZcRJon8BwK8AGu7Mubb4tPN#oZ}fE zhtjKLU{e5%c&)813yDJ6!;*GI-iOv`H3&v+y5VDP;1@2l9e=5)cyE0qugShVZP>bU zEjuUsfM4_V>qdAvH0TR&o-@J$FAwWqT3R{S$cxe7imarf5^noln&! zj{kn8L6aLWEsqOhcj!yGZqgc>^;!@pi45r0;cM%)lVIde0ee$N471g2olt*&znXm- zFGoT*8aaf0FWGZG2wU)VuR4tBVDFSxQnI+Z9HhOD@Y$+la?5v^s`v^`RYIXjTb2Bg zhNPNWt~zs2P!P$Tz@iM#=1N*xvk&*@f2RDY?ytz4w&N^lGuKyadSgzwH7joL=W}r6 z=2CT8g};&D{}N2MI@@#G|ft{YUn%Nb_jQbBSq7r(zJI;7wdRTbntr0^9XBgS7O zie_yw9+#!44NV^5J;!Iq3E0Pi63VXP zH$~>0_0%t`$2NP+)HvlUYm!bVdbdvAEzaYIhAL*Vk5l69;XVFQfNy`tDZ#cpi+4G_ ziy_Vy^LIAU@-O-06-`u_-t7aIx`yJMTc%3^8_MJv+|~~|q5n!LY3>^I@a+yt8>ifG zyR_|+o)0Hf@p7E*WsTa5`$)08g|QX2+2F4+z->;~&|1}u8Cb1Qw%u;fR{klO1wKOa z>u!{klQn^e@yk~5c0+i?m|8ED)gBJ}&V)wV3MdQ(BB&cSM4Nkt1^e{0A_$8(RQDgM zdKcL;=06m6#wRNs682G>-gYbs>s|Tq4`?LN;Nz3b3_tprYRRV|yk6O@=D_e9i6Yy@ z!TvwSHtdt}Ean=n`yL*!Pw)iM7Gy?aiky7h#GDEsLJ<=X5;_6j?0mXJi1<{T2YPs= z3$n<1IJ?N1)!*M=*Qte2%^DC7XMkTvGs6q@3($+he%kwm{DhXOsyK9Zq`bD8F-LMT zGIKy8m~Bp!E_GDid8oPTaZ>{f7!t5HO63k2g5N1-(D3ueL+hWM%W^#1eu)EZ;^pP# zf15zNJG5v(>}wXAD^!~LAbXN>qHQrPhqDQRL}2l8{viO0Asp~5n!n!wU~65jq7xk( z%LzI?6J**DvFiSXpW6e%Schb}l(@KKJ8hh576n*MzyS8Cd%4OsogRJwpwLjH>)wxY zCn6#m$k!9hub=S}m6iZLr42TcHfSU}V_dR&kfSjg`dVq>IAN0S)pN{1*z|=%cPUx^ zl#Mf?`@_eNz?-hX2Zw}&oPx1HtK41>9vZ-?9MqFZKqp@U6ss4WeEcDm0g9TU;^KH7 z8zP^hjVyJ+RO|mF4|*%^7dJ75Hk|boXXLo^A1UieX*7P@5nGvhG8sqDw-^zPROTj} zeJC&ZJ4l(?{EMBl9?ry?QCOqlmCeqeV8o;HiNV5Xd0P4HOODI@%Pd_o$Hpar>bpnV zBnqN`RS3g9*~gu=q6ETgD`%^84J>7jR-Romeu;3@lBCaAu`p)NRLgDZ>HBgaUL{jT z#RjgcU*wez-H&B+31{ys>6HZ8VfM;nGZLf=iXga;!Vu_SFM*X7<<8a z_l9=m#f5owth~#YN#~cB)i+2-{~7(yt%oBiHQW8(qP(fxgc#J<^+6O|L<#GWgcdmW zDzIvMD#bqy$G%i-SXD+5Rma4)hg4cDTxrJ7t>jj4JpVfLqbF^lVOOE?ctfXHZ}iHZ)b*W{LTqJT8WrWU=+^$Ie(NcEnT_nQ7Wz61^*zBQS@k62 zvba?5KBL?BAGnfx=j}He(yhPX#L*4-Rbj%u=CwO0xXSUH;>rgl70WuNoqo~#F?60< z-=H%3axjB^eO7O*SJqyCxPq~M)*auY^zxpXg2#BE^6WcvH==(Ij#rh}e>1ba#XYW* z4s1WP@HVcqIQ$$|g&~e{&#kbvr#~?+J38eq)`7`*7%_&9GD0?Ell-@`+8 z7nFK{SHHx^Yo+`34wc$y4_pgvY8rYiW^sDzOT6<73#*`E zS1y{!$Y5n0#Ajcj zWVf%sIAV$z8eMhO^l z$0W;}&vd`E=;#m|6{OgP4R4LNXekqZ8V}iht?ofC9(bsQ|1(j?-$S7 z^#_EQ*fgZ2r{?#FKNTM}KSt8=h z0%VaH-TL)Lp8Tk0_3A)Z753}|Qy(c6sc@n1-Iz4>t_hC{$M(h|kJvF?=wp2*{@G?H z1UdEoVh}hET6@RFu63`7$%Gu&)<2H%Q$U-kN2u%;q3`DeYQ0fgja}pwo+SIltYm1s zNZiZf^{-u@u#b0VlH;DeTG8cPB}f~o97z|vY?Xr}mR08_?|_Sb=AMF%d@cJ7;_}*y z$CuCf*2s$n{kW`#E>W(nd5D(ZOHo=0{(m>!4^hruzs9NW*bCRg`H4rxalNJGd?T9L zhH@}U-^^|~5!<9FC%LwcJNT=>j|iw*Vvjk@ZH6Vq*AKLl{jYd2rl#U?lapEk&9)2# zk+1cw7`F>_BoI_}OVt!Q9Ed|Ne~Al>E(&i!1Kc`{_ZM37M5CjLkooexrK>f?Wh?qw zOa8>^!ijtx|G{-y-s7m#z*Qlt$7JLJ_iiC4en3`|DY2UGRxi_jIV*o5xT-NFhPDoe$91+oGU0UQ*e(v>@DKa^^ zrz@VzCfYS3DCkGP)g}77!0ucn88pAIpr(fI1?A=CW7Y`~c%-B<_5K$y7sdo~l2$-~ zEJ;x#Er>G!mK%um+t%9->?9RXzcMf~&ea~z(9pKHwOQGfdhQxyV`IY+`l9q`)VdTF zQ5+~uXi6A`LZOE?LPALguA>x@F(8K-wuX{^oA&M95r?zc3eIJO{~05CAnPtzw*zM{ zU}8ktWx4+GrLY&Qx!U+5>3$!3bx4 zaCUTjjGmUG87VA$x}nUpPGTqpK2O_c*z1iRcgKJt3@(WX=(hV{Lxg!HjLnwE3QdL; zzXL<}9pEeVY872&0-zZc!ORD*ad~U^r=s0|*=Nt*OX5pw{*_}L{iqe-uDzTwR>6k4 zW~9wW^YezJlhq{S)KH-i)6US8h)jpGkW+@98nZl<%t8+zW8Yuodm}2M5j8w^yXAD5 zLm$!h&(I@HF7$)ABJ#VSfq7q&&*(lcbu7Ji_`*jjDvM2& zLYHS}<=tv)Gn=z#oN`Q8jk)uu-7;UU!cIu5sw|tjvKOm8nVp#0WEJWA1aAK16lgt+ z6Oh1qBydKozi~{>@%HUTXNNIrHh@12rSMe7X#VXLP4B$@-egqaYBn#iocvf0D}E5| za@ZoV##1=1K^?yOHFe{UPK08ct#AOJpHzsmr~AIIy(WtA>S4jNU7}xX%jrY`4}Q8N zspgO$J$GwL&U0MMAGV*%pmF%3T9P&}W=rY5a!vf^Okn-Y=>v~y?Z(|izUTHxf;{!6 zG>4g&<^FkI$5{v&Va-}`1vi5DZuzO2xB4Q!oy1t=jQq@4eT9lFgANZnLK6b}vlLm{ zwUl0&PW&s%dt`$9UA$LRqaF3XfL}f4$`dGAlbnuB+cef>fycNNx*jaY0h*g?)m{f& zYw_$`lB_nY!_m)W+L)E6pDwIx9c?CCm`#wVn>9+(AQul{gCz^HNayIBm#GoA(>^27v-H(%l zpFYzll~v*u?+>A=Vf5_Qlw@{ybU0s=T=w2!p_jUCN$`>C>~4nCv?S}XpUH$smqB$% zAcs+CeJPs=%lMnxNkpPvN0p1G2Bqy<6$TGIJ;k)gynyV}o-~p;Vh@_Z`I7+?jmOgu zL&vwgf68rVCQnU!x@tArwoba7Y%L+Y?6w9EDppEh}Zke zuF>t=M-CQXBnrNxOR9KBAra1Yy7@mj&(tky?h4rr>!8ml%KE6%q4Hmp$fNOk!?JPD z)N{hnYLsizB_iCnb0XI)rgiwqZ(5}i-wIB(psLM0qf$B%lEZ47%wJ|=Ub#*8O>1KtMJ!&ni(VZy(~AAt$9i?E zuJb*g&X`_w){9zMy?I`}_9|D?=|>R#r+~MBjx88a zK8B0~g?n1or8|RLN$6c77Z0ht{FEluvq%RQgWF#F$U``GziP6G-~VicJBN!r@7Mfx z7VmJ!iCtQuPhW$RMboEMvi{BmlcGsEY5C1hL3FKS9s z#+6$A$%vSJr>G;?cGJwpwGqID9a2Sh+O`gMYL1VtK!@L=#Gbowd1eZ^2*t0y= zsCID>ioI)-zkK;ZR_d0I?(4x(yaSeFjjZKD=8UzmS=b|na*&tp$=Sejm|9qjGVHdr zAM1jcW@Kb!$xVhrJr8Ky@7bC11u)O&I{EA)d+C{(Ltskmxw+q9Ui|g@cUfIs z-LSg0SlByXzkZj>0L^vM;C3@lspH&B_wAYPlidZIhZZ2;!S^D6e4^Z&C>;Wn`Rmsg znwpw1HVuerMR2k;G&I1N;R^MksZ@EhRu%%BBN&1Mclxd>QJ*)K5Td_FsBXo~{g9fX zn~cy-`;B>pyJX5ck}|lv+PD50>)xWFId5;*)uhz{t7!2ThH^+E5Y-!I{UGV5lKPGc z(s+OJxLApjVPiLt;g<()IYrriGU<2@kV{PezT8ZC^he zmIy<3h~JuxP#zt!^5PQ1JG>LlMs61x56TU#I|c2F?bLpOx@M2?{9YS9C8Z~(8fvY1 z$x5<6_8GeG`b5Upk8o&>GJD+pDK**Zd$Hn3h9RKj>YeEr@X<^fvK22rm+R%*Sd7WM z8KF}9$O0|6sZYhspQO9n49B!P;l%boj(=~}2<~y++ZIR?FC7!2x^7f3@5MnjVZ2k_ zv{d!u>*VdBKYve-LJP`A6pAPs8)ulo%%%IfoYLW79rusa`bg19Xul$1OlxMl(=~C7 z2(b(|$`;FFi^%xn7crAJEXN-wOU>5A*IPI&my>SEu?#mipzb8k*1WkM5YVdhiO(n6 zcAI$e!!{cbo8y#gBA>nI3Orq-l&$xDsaX;}(V8h@al1dJ-r(dU@WJA#Wbh z6!>yP)+AET`0df#@@|i2_3*`TI_+b4`(NF4$kkqswsjyOYi+xMvEQ~+O)|FVs@EHe za)AGo8;&2#**d?l$&TJ$3pjYdg#VYh&}lE|BQ&*KRs&DMsS3tT zOXlY07Lmw(pf%O2ySh(*gCi6A;N_T~20(toiMk9qAp6$y4ff?+W*r3TdD-JOla}0g z6cpV6O+bD7A}>$Hu22*0nE-Qawo}oxbtxVpVM~;f@M@{4ApLqJn|8@(QZDl$%ewzb zD1*;~5^x2xfuAzN$$dM%nuW%hwCBfTx8Ca>1VIcs>CEfnzt%DB9&+;ND6|Ow8rA zw`d*ri@#-d7SY%DicT@{?|e&0EfJ!8X=$m@YLE_gEsX`!YQQLEqUfGqo-F8ZR*YD3 zqg6SO4M$c4fF{d?S{({$LExYBj-Jdm3jIfw<6wvhLf8E4X+avBsq3PBa!8JpMZl;5 zhRRca-z2q&`T?S79ZLL%&B&&Fse<7m)7ckv`7BqN?vPD^li<%*zR~k54v+XBiI$Jp zd-tKcnP&`>nP1xas->Tl?N0Wtj6K^5>3E{KUKPF+IA4YOmfYGuzZc;dDD`QlBN|hB z!X;4&aap)wOhx4yCdDzH^Qvl*Aj~+$zG7cmJ1KR5&+yjqNOd&%dp-L5PqQ1@PPke!j%obTWx@648 z*tFAj>NSJ|)HeASfE;)8M&8h% z^x(c{_28b)WZ6P~c=-O_;%tEPqshXn^ash)UsQPtaZ>tk-p60|cD1*kQ+H{8HRjh;$ z3^!!o|5bWLkSFEDjk_A$(8N!gJ^0`?--cI7@IErR-TN~vzU(PV(OQhJ&#(F^Y_*CJ z+rp?EZM%v{bZ7`yJX*HJEQmiD&eWSgXX&6N`MPR~aV z*OhWU3_Ll*JP_!${*1Bq&XQuF|NYaPV|}bcD(TO&F{~qF{NFDk+oBedv$QTO^&z|A z;#(cVTanT8Up;k#K;@#BsN+A;E%?17i!h!ByE2vE!2{L8+z5Kmge8GI8>=c^#=qIt z+6r9jIT?L$ZwvrQ17KyQ3_v+SNp3Tw4x}j};F2G-BOWr2m0-mTG_u5_sF}oR_~#n9 z@Rieo_IqN0y8r;$Yd(m6WiVq+>2Z>bnwojnw+3*5s&7`I2+}kb```V!(FbXC17j`DFc+&8<#ZjorzR5N<aUU9tpVHbX-v;H2gPTn){xeovSGLH&ac- zaec2H<>ISETP*yH8#{Or2$5Zv*=j4pZ(@r5wsDiBZrzp-c}Nuq>3EJtG5Q~+q%F5-d`!@vgPN_UQAzLx>~>^Cr{baJ$ITOvU1T>E_-YADRjG1qfN07uk7ld9PN%tE#%kCasS8mTk742oMrKd5#eJBy zSWT8~^2<n@vHpM;UWLO(Z6z=O5$l>MwZ=U_u1 zg(*_W#G0Roz#u&H>O|=}KO>egJBjB`1Li7_WGyYpLc=TJl4(YeTz7{;AR0EK(d_mJ<^9e&c4hspNA?K@W4L%JvsBk(78Xm4XS{#8 z)Ayv-xHC4-W_%f&TJIU|CG1OUUb0mei?o;)pqAMhd)?lR;JY>Hzer2Gbk4rkPj)LT z0S`MQn5?MR*BdV*h7{+Ss;75Jk#f#L=S=y1tLM|p8)Aa-bq+Yyk%~JDucbJ*S_IGV zS2Tnh2&n$)zQ*_`F4Gd#I#2i2v+H4N_DiJl{x!0VW)kc^rf@bjciS%EGY)f~)0@(^ zX(alWON{Qh(xwB0gMV4{#k7@|(md~emqxj5(W@6_@m?zG^-hz|ns?02G76;KFjp}W z3s2}2kuZ8wq}glEeMHZ_am7@lHE2`n>%Vz8boU+|BVSzG)mhZIREF}#3$6Ip7x`C# zG4SjD?Kj`Fd`eXi%6K$rt;5nyI~n09`1bK78q$a+P|G6-Rw&)K=&%oDxd`+b?J^XT zjFdW;Ab;Z3 zD^3NS<~kcXH9W2vsiw-2nr^F&(+x(1L>dB#Csjl#*>Wgdfbo?Ie{r-{)@ez{IX)nF zuaf&3*)7$Ak~fID2W~GZohy4d-dfw2PWbKoVqO{l!9f=iwu>J?D_C!iMeOi<+;(HO z9zkwj(ZEcDcuIs*KI6^IH?3N$=&A(sP6(Xov_SZ&FMJ40WjHxMF9vV~5{r;z^mMhf z92{TaIP;`^VPB{T6h*a0vc98~G66T)U3@zEoetA*m5 z`t|FIrC6Ps$VcUxEa-GA;J&~3qSmuET4N;YS}!u|Vm9kw)Tn(5mAZfR3~d+q86 z$(;B#%A&)Les4d66%g^tNr{ zU}-z2jk89E_<-ywuaB@)F~YsFRub!{Q`a$xs~U6rE7R_Uhy{ZxUE&lWKSdPx+o^}! zmsWut48gI_`1UCmV^A{wGE4ZYRrVT2Q|o+#6=r&1?he}s?U1t1%I>I&HkD-k)_qv~ zt9a*+a7M-*ZEn1a#j8+@eX1K-L5fFIOeLsQs;R8>gmDw(Vy&6IX=4 zTw%z>nSexuqEmBfilg52+|XfxKWX^bmrop)Nyp_A#m|y;YQ1o|$v&2Ek;^xYISv%z zcpilSp6nO*Pssa#0rTF&e?j!gDJD|A9S5qWz&oHd9#B+VVoCVZAz%u!~$bQZ$h0Lg+>y+0yXC^1#l=+SxC49LuasI>=CS!?@bN$BX=5}@PMef{+q z2ujOb_fIuJdi%f2$sXXnKK-By7n6J%kCfIv6MaeWv;juMMzjYvVu=}0-cyH}jmlw^ z87i8mMU>+bEq9Vo_-%W8$~W>d4;51Wxb51VW=?h^7c~d=XXv@EOsIKMT%4k^`c-)gE6u05;EkyKzzq9T!FgIc_E^ei1)$`{^<5z)(in zmP+)%+)|A<-qvkgjSExp&dv4fYnB9Yd{Y8fMH)Kh;e(f-Jr0p=T#r@(|eSjij%yoD4rYErI@^%)cV!3_pe{f zRHMTVCO50|BW*je)YJfpoVM7oxgBR z{PwZKqo&2gXKH`U7)fhWjXa~|yfW3;s6&_J)Sg%fNhtQS5c{lJ;$2WQT&fk63JRX; z;q50m)W8n#dIq;DY4{mnreZVu@}>o><6OeVY@B>l*`IB1N-s6N8FniyRYIpD~goyxhZRe_kype8TWGeYKkn&X{7E<-T^qbARp(e~@0uoMh3||7s$>x7&|^)5L;e>%aQuB1i$AW?9pygr zd3m8X>|LPy+L||Q=JG4BCQbPpe~Ue;{0kE0GAP-=jUzOwht%!J6`)i2E)El1$lQHK zzeLg#3+`m~oI~w*25M?>s)8dLNX%wt4t3}=Eg;Sk#=Luw*X6V1Pyy*wkihycM!b+7 zD8&B@Ao1Bu1o!kljDa9iCT@SPN?>wtsZ$H|EHuxoLC340pn#US&=I>}FY}~r1KIqBW~aM*ZyMqg|c$6>z8!;Mv_0BaYMe%?*)|`OtAVfs^!aaL=8_gR^0BA z%=}Zn!zw@=oO_D$Yvf-|Fue%AepMcodgli7jD2fXzHZ*URNTra1V(`g9M9fXWx-T1 zgYMN`pCD0d3%x31}74UP(AbYgJNn`YO ztKPQxOi;=8(|%$gPHNj#=Dc8-bKyheN7#`5*-*Tt#2@&^*M;iJD0 ztr3D`GoRGc(!&je=5LUBEp=8&;)}{xtb5^N%UwRo`0X9#_CMG9?57?=0&l29kmmlOmpuoz)YIaIw7Bn<>{I``>eQ zzj~~k`J=-Oqli=KxcNd{v)-L=95G&K801HZ5wPV>!V zqhia8(*0og1?6fkN;!xq`r08 z1_l#c6I8+pQ)LkNWm8Z)!VJ?Au!W+>-Y)7&SGK{a_hBLpi=`L9j?GecjXdoZsH_Vo zbNH_06hJ&5gsC^+9ZNAsus9(j)M)2lgT7TSKA7)qCrW~#@*iQQ86=c2f-$jt0&h3H z**94^Ijp;P&A{@nZ>6NB27%43fV=d{6(vP2`2$7@yNWPcbaV0vPW=)S)AH^XP7POguIV*9M!ZH^z^J&V(-4vT-W ztM5z@EViaeJD>tn58Ub|NcQ|g{fHM{iLM-P$Y7^INpP-toj?tlPwv74c3PEQu`nMz zqvswGHz!!CciIkZmnGa|x>6C>Kl6?(oq3z++LsI4JZO_s9Q~sBRJ&yk#s7haA-#7W zQ(Bv}eQqf{NM%wolxED)zRq!_J4ZJ*5)#nxWAO>TKjhi<5!aI&OmSzO)O57vJmQLU zh1=vhXm8wRM=0K>BT6r3_loGexNdxrh`-fRMva}DEaYxr&Ac=!KT6}Vw&r5>BR;e{ zIYPakll#)?4jFPWpo~9;C%!)R!nVl#%ePY|?e`sb@l}4u6UNprWIiTY9ZfoGDCaL# zHs;#x>`xD!*r79c_)YFtmhWoxwY;x$cQJORm)KmSn%7_U2h-zF5N7bE1}C zYjIW;7jyo)6FIjKwVV<2FYy^A_-hL79$#FYMT4RG*Pqvyg?%dN;Tsm|6NLZPDn`1t zJw&KnYd@ZdBG1;*?QF50k^q_MhKy<7U#2#MMUUa!Zh>yT4XH2xrdTc4_bpoiyPIxe z2$#zIzLM|wUR3JUnFlyWx~zBq&h;URHZHKW`to@J zqlEHj+T_z0cYMNLBkH{|M9K2t&m=AA)?pXAm2P&ZnZL zZhSAq6bnmJipozMMrCtzY6(6Wzu=97f`jM55qTi%19_q8kXF37xaj%2^ccjyBKJ*g zbjLAK>f(pcBm|)!0{e@dmpb-iAy@<5S`?WEX;{y%A9_Pp_v;0Ig8%MwYz)fQex;D} zD#RjH`zVdb_YN;o23t*ywoN~{J66`cM^klJvf^>@W2bz4^3H((`UTU~2RYL{3+u=t zJ~oP%wwZ6$2?&TBWcJoR2)pa>rneNc$DqQyy%QU!=yk&*N;8=xm==jH#O;5W+&njX zaA8R}HGW#5tmSAMyl|orWGnAeW~;YQH_p8g(^3^dj&HgtKiD^?FG!TIWY8rcV#t%% z@VW}a<*Uo4^BY~YmUkWfxrN{I+WHyD?DItKrM2?6f7Slp+`7?XCNjCn3xSxCb{RV%z1q0fLj2FK5>1o=@ zJnSZeYvaYq)}0kLEaNuwrLR6dm!nhnd7v{u*=X8%?GgKgECM+ook-l;U;4Eq%)fX_ z!S-wE2Shlk>F=S#&gKt;_QL3GhT8+T95tG3PUiMBNC!`}Umj*iU7xTeB_OSUS4=RIv|j}N6!n0)mTYP*Sl>-mT76lxq?N)YQ>V_ z5KoHQo+iOpVNff%7%g1Y(jJeM=h`wu-6lxIIz>=5hbGxKggqHQ}Iq)x6tPIOv9 zc9gvl7NT2NB+a8398us90LA;i;|)+NDPLcdmr|LFbM!e}Mj-{c?X|B1z*ETSd*TQ@ zq>SvI?f;P9izYX_l7%L7@ReEhYe+&`=3``Va@JHik050}{rB%aW||bREcX0)dt)4Y zL0$McTWSJ9IXLd$i_s> zc7^)?RVReMui>h*`MF#tn&m|dK|v-{(`Hc{Nvn?i^|pV{!b-Cuj8!_1{S9_cj96N< z@iKJhV)i($EjMNnnCU85&Bzg0Oe@M9>9Lk`Wig%7*B_5>@IyoSMvn*I`t#2KiqQy1 zR)Jl733{otfHFg#&N8az-c$=s-}5570Xghb%Qo4#^R}}}N~<{aHQ!>BG9Ax=?VG|A z$Bb}cD)Kamt&qj9vh%{{);7H^vf@Q2^J!G*JDF>)K_sGy0bCiIPqTySRq9Q2&hQr# zI_m=`?slhNnn|$ul#*)an23AUrGKW1yfj@5f)EiL%ve=Qk23Q#eVjmM)a2tPi}8})W(}XUW%&a_2IxAw5MU* z*AF+3uu!t5at=mTg{JABFoQxz9%EOU5bw2U$0^@ax_KRA)aT2i=}HQ#bOtgqN&i6o z^)tV?#6uGEob{6_sKCP7R6I8jA6e`Sor` z=@f8Y!U@%#hU~8j^o7uqYDoF7i7Y{5F5qQG=5dR`r2scD?tu7S46bLiy%H>ipP+^H zrmf2cp9i!Mzu_RRJDJBRP`Fw#23 zclI!a&CF)PA!ar0PnFOQ+BN>~4)$kJR)pX5=+%2o)$Ir}m!u9BiG8JIR$miH%*CFi zDeFF2bw|?gtR~0Hi&RwFYQ0hKUA$}}9nBEDwtZO~xp8H&ox8A*Js^Ub65PV~uv(K1 zi!IYEoZs52Iw`8oZM<|J*VBAKq)DWw8%)5U{!>&=hv}8l0Pjdeuc_|V#f4K8ce{LK z5RX;+{;9nA@+Ha};bXDEW)>5R^^WZ2`hRg^w)NS=JSlGHd={7H;$IE+%8{exRAAS~45?Vl+6oc)0s7TWwn3nEEIcGN&s){E%^s-xvHfLdO}Os6 z68R6*bh*u05v-@A0m&``{L3qyUlWA3=doM~22*jK5nc2*C!Cd?iO15;Fb90&RB~NU zYajV2Ur0HVVRJ-W%9NbgeD&x)zcjYoJ=rw}(MTUE%ZeM<^~cNNqx1v5;>>ux$Mqom z7o^eutW&hn8~6LK`!bUF_1d0Kath!k1fqwEksJeNno2jDc!mV7rg>r>v}K74#_tAf z7C$=oYZ_%K2;M@>W|z4rnja8yybpVHd$C#MvmymQ>Frk|C(Jc(FR^Gpg~}mwX=1SY zF!fQ1hL$T+T+wlHCcFt~A2P=C+qfTJ*6cLmpk;a}m+y3>_&*x6<%M&$2~xoL8Ab&U z`ow^{BzHF0VvP%#pErg!_}2?3+Wo^(gZ+Yl3mm{UyLq1#-oa>ubpu-k34zTd=mGbH z4*DJ&cs-KA(^`r3#lN zyT6|o&ZPgIkdT#=gJwh@{$?iCiq!%*4jpL)qxx_1e(Mo;ZnaVRu)xgVA%TZF+(Q74 zXs^HP1+N&IVUwy@Ne#g;GtPzpvw+Ke1UC=Q-Ok|m`7F8>_sb`{NAh$qeV-~5K%;== zb9~hO#Vpz{6niTzl(U0@0?TbXr}{4GTcT7qXHzor07(W_#j3}jB!c>%l9rYFeqdlo zvVZV4fWnPMz*mX@&3hkKk%5yw_nDZ5z!-p z^rG%Ng&GiL-WJy`Ue@gS*O6dvF?GN~dC_9?;oS{1=Km{Vz+75nB*qRH&fL(`4Xyi@Y*x^l5j)WsViY033%2zd=L{xt79St<_Hn`^qU z7Yj5q`lbJKsMz28W2*O1ggk)tD&b17r{}pqcEnNm2V>8=n;eg=lW)GfHN<;Goh^aj z+n5unrb^|wKdsj}AH8tewwrN%=d3I*cNX{UIbN=Z;egat0AJbjz)te%J+Vl$y1be0 zu-V$yU4(GQ;K$j1f))1u6ue9kxsWp1)+#!2(KTK51127g(1c#3oc#iBu_9g5Sg~3u z-~G-t5+19g*<-D-i`+9W_h)HJjz3pi_@6F}Tv*rI40KZqv3eUSI~X#@C>(qEY;Cn- zY@IL55!LJv)a#w{-@2QGC_NKXFzo+rSsd%YS{+DkP8BRMS^vhga0%;)mc3}&S_0Lo zFOo=~IfU|$290GU-L}2_+6De?JW<;3?Q*_&%AZ{msN3~}*BqX(9QKy4^!D&4dggqc z&z96jnL3L9&VQDqs1KJ_ywEwS_c^xD&dK3FTlo=W)kmeszeIrUQsF;gZX~FIR~oK} z`WhcEBPJ$x$KrrOE7l7x;=oie#rgQs7yk4R5)GP!uMeQx=!*6H>fhRVL&L*&PrT_7 zzML6J?h`4M;=!$O_ee4CA{`uGGhnWi$`A4yux(3g;zRSmWH(bU0Rrg#qh%<($w}ym-(7g-CZ8 z-wbpS?Z0on5$+=;oRT6ni&hrs_ra7DrBmd({z_^iYLSkNtUxOEBJrEIFrC`Z`!*vO zBqkad8TCnS|7-ineB(}-YzvhVKhbqhi~V~eF?UM7hW_B96O`_gBEF$r1IX$gRSA<& z#!o5STus8zCi+eCl3yf5oXo3ynZr!>J}cB6*xCP&qpJXls_nubf|N7}2uOE`beGcI zDcvDmQc6gNbcdjHcXxM(uyl8K{O|rVjylY;Tz2j~?>WzT!u_TVwk9{MM5Q2cf4m?Y zp`gH`8SK6Auo>BsjUu-7M9dzu1=2pcz2eGf%u_ijFo)U5!>istSn>sH1=x?qc2YncZRt|Vp8S(KJBpfw>n$Swtx3nTjri* zauJVXW}CA!|5@IP9;expjg35jXPzWdJzOmycunsQJYyq8_ObO@vwzo(4xV7p&W+W)9D)RP7Tdt&eH#7zmWuaM9JbeTqe_*~ev8_36SE`YEZf zdKrr~f!IP1Tyx$x^bAFAV)H3Q+7PDKm8#t6D%f@8!G&6T{RA`GrK#n=m=l&pTi6nQ z83nsE_%NDMiRuo;vH%O)uTQMA9HRPYb~BWY4x=RF5=giL)09bN?Y8_B`>pVEL+p(! zwlBmnl!D8;{ZuC{J!fUD?Ju>D!ZL|4O|*zaTxN{SX-*%$d+aI~*3FiC+zB%U7!|ec z>tuXRFurNfI;PuhSpQBYR*`^*QSUf>w3(8vlZs9Se`|2wH$UH<~0TPzIMu&(b|n}Gnl4RF&O6@0My(Dvv!z2EP1W&e9> z&z_qIdLa8_m8)RDLGAd}i#1tj_YMZZ6Db8|=j+4%c^Pl0JPUBU?ST_gbP_ka@7{wy zZD^7#b;1YTL4dFE7@R3!z_mVI>i{$V9kFaLS1c zY;<%RRY1FP;MATBgD`~)=PTfOeF`*Q%4%;d>)G*vB-Gn2!VzprN<`(?JE;Uc=}!qlzkDY6@?HOq~p0SP9wWQ-f>Fe zJpI8XRm_34#&yrs`>n#K2q`Jwe=3=7ZdSj^CT0_CjU4J#*r;?!?^)4G-b)kG(c*mx zifSeOn1yCwb7Q2s@X;dY;kLx(@h9#H-f%gSK`|X`aD2FMi2h#qqDyRY<~@c{(b$ax zTP4rNzn+>1(@ zamA&P_}(i06ar`Z7Dj4hNKIvac|S;X92wE=pP}`SO=g!zqshPgd?$MHvV15J^K-to zHl5A#>Av!80{g9v+bbJqbWez&tk+z=JJ-o}L%EQ}uIIlo>sJ4LpBO|U(%d0z_!)N0 zCfqrPZ9ZT1><`T&*S@z*rT^f)_55toSQ%IAm=eiT7(!iX*6@2e`aHM8Gv&72Krac(#av<=(RBMSR8&+zyKn-9AC0?w4~X@@ zt^LFUF>$>X?7jBA&pVs33bt-89~FVBQGuI?*x6wY9mz=Mp@*v%MCLdx2e3LW~jzHwLO^MqvM&}(?gdcZQd0Qg)0z{9;xmDvYrL8F@1O{+~{jH6@{~TO=03a=nXt=tkni9YRgfgDS`W1on^()qx@586 z+aL06Kf>$V#34KAN5Av0U)fl_m7o@@3)NM6pntaCF}=2=W^f~}9FtyrcY4;II|_rG z^IASWy5P*ERy9n`USXW-mr)aH*mF|;!-4LY%7T|r?C=79kK~&k40`Fu5HCd`|9`8k zKkUh0Ne~G|eP&LHcsSEGWBahp?n0&RpiweP#k6KAN|sW#L>iBpxOP@z^le7RYvuOq zwDq6e$p)W8h((V#Hi-i~Y#Wbqg}b*6gkX>ewyH4XwZARy!1Zpa^kc{SxY>*`^DXN$ znRJ@LZgrtU;cmen0|k3&&VA(Ui?G85vgGn}LeU>m6fP_*W+s@fnw0mKdz-di!nKdp z{8HXH`h1S@argUNllPfDI`tAK8{* zm%qPwgK3GA_FE;0?m>YE&ZSI5^wrv5n=n8cAay6KW&;)CtHdvkQV-qI-=j?%R1^mQ z;o=mW325`7@w1K^;K2bISOVldg`6Pig}bz2n*g|fa2oi!JwM(-=~d9t%c669mX}JAAm7Lwe3+A&}cJepR+ehwp@SzPH2esN-Ha43BBBn0e=Df@z6|z zkMlmQj6=`_DJYH1KZXV*9)fZbRUgmu9?IAN;t8l57O?Mg5FV?O{=1%HUAop!5k;h! z97|acdr%F+x+1{<+@QiYrB8&0fEMHr4N+^KBcO*9Sq*0!UG03sYyu!FSTqc;VU|Ao zqnf$nMBzOIZ2xuTZJ;eaVR1YHWZ9ncc+%e;oJ8a3f>dopiY|g_mM4TzBrbu-s zk5Vl=TTUB4{(co|HD<2#xQ6H}$$)8|AI)sN5;^bF)7>B&xwxZ$*Rp<8T(CShps+`6 zZ`IOPb!EV~UK`wR%9BWnNWOrCo}(n@CZV`;&e&wlY#7dYA2YO{mEM@O9@<^ZX|K1< z(){to?a_8$?eRQX2SbhgrQzXwOKu*Y(VleC%*My$Qt_NoYO3dn-MMJ*!;-eRBh)bo zh@IMEgXI!)_IaC(8N;zJH-ferFQP@7-MTPLdk!~O9$(_! z(Cy-$lgo*|#z(YkCA&o%r_7c)qj7qSxU+8LAe3=fy;`bU)uryG`;c*I#epZAJQ{@e zWpHsvZ#Ws7CPzi=rLBibyZ$~SR_kn3yteotb4I-wJCLrnX*@s1gTI&X`qX*i^Ym>F zf<_wNcO06$^f~C;XJ=6`pGm12nWUlrknUT_cfEv63h+@y7Ad5ox3}r(hfG1*D$l`L zc0M6NvUYI?wY-j@tgv6}^wBMf08yFy5P;EAvzgoDFjEuh=O?Ij3AF14hamd=>p?||Q1X$H5#UsA)2{b%+KK}ZH+KN1 z?vheR)}(s@KQpbp`VuGi&)=+>@MhCQgg1_MFc3ICzb6vJ5}yLGiBF#%*`{aH z!x<&uNiRI~%`*(K7}Bu&tHncShKlrdX3wJ6=jc>u&X2d>7t_;kwMMnA-pP#aU99RR zc;N2O{JYa!&k(kGD=K^6B~=OeoKBJQ0>MbOLLf_*^dA2dJUV7zT%K_ip%D1ipWDe|jK6T;*@=K05A|3aR$b#yHV_ zae~{33Uz*4(dfeyhNaL^xIlwbAQmk&qSMKf**e{NdrLxr`DL-mBoCTfqpMQRS4)XzZ>4s!|#B%&fb?f%)@e6-#PjN`){9Sno!g`wzy zM8_|KOY$O$UqjSwZy&b!oo6c}9+6eUK)fVJxUpe|^UF}iH<*lHc@VN2wOj?}pO=?^L5;|fck1JD4R%URM5y?Mjq zvfiEFhXyY~H(Zz^(5&l7o7Y!H*@v&y+ncg~cku`P?(1_wH2|9lwKzORhthj`jL{cu`dc*7wNcQWh(^zSh(oOdaj}FT3gOz=|qZMe_=x@(tzS+;faghdjghBzH)fA^Uzu%uD?jl z{3G?6lIxrz238p75TbWOQ{_QaG|7C6 zCl~gE61r!Lp0>6&R0!qJ@CEAF1CpRoXyrhz167fF3D`{`6md+_8c-V5E%IDVs|<`q zvG?yXeEaqd#IaNX^0Yi3(|zc0hQ%9MXnyO)%>$T!*Dj|XmN{MifGP;W2+}E{_#NBF zmYz3@t47y>5UOM2%%Dn4rvi^Ko0ipXnIFitrplxQMKFGuCWDl^7;vtmDdF&J#i_tk z_TGC50wB&5_#%Ll{NTprnk$IJhZ_v+)3dW^^IwMmk9@J`;qr1>Bh>}`(m)f^)%Nma z2f7ZZ{{R=4o3N!eK$ro*Z3?s`6tgV~8bB??b6mdx-=n(#WZJj;MP>6qg4ssR{Eu+~ zIDZ@R6Qcw3Fj%x#&7eR*hxLNI4BqVZs!LIwkN*H_kYw+z7AOC+&9|8Q_;c~2RDhH>(Jpu$Choj96><&xrtGcSk{;wFlO z&HcR+iL*|zDYIDAuzdL%$4R-9*)bI{Q|3Y7_oM{pVgh?`%B1q-AD!@An>g0D>dq*VDY9}a5SY%EiGf|RqnS1b2 z`}=!CZ@M8?HMzDw3-7)CR1?-b70~#eqS@|U<;dI89`OrlUw!jdW1Ay6laOz8#+-w= z$!8vaMxNU!+!H6oDaKzX7Q^njlK%KbPU+|l?vt33LP>tq4gy-&Z>#WmH_>&=v>4(& z|Jylhq3s$p5tSF$`GGW{V~iy-F1KfQr|vVFzZtz+$vd@xEU>GkKJy)qLttZgquz8W zqT8B+=~JoziHi1jHVjDKcisN}x??FxC3V^*?rSpE@Mv6uZ z#}HMl+eKkL_sg*2yeD4c_j^(O@=C_4l7`Tmq1y6hFTw~PQz^5`*?~;z7KP9c_mtAn ze7=c8I~Am@_)5R#kM-Iy_jVjTuARg8j}NxoGF}qQpRX|$eB2RuHk9w^+1+ z8pn!tBwg1xEK~(_sBORM4OE^>WW#U3C1u*f%S@K;sWb-q5hRA)AiJI0cAy~>#D&1e zV{Gp@37U!AALs7``$ZQA^qt<$VIis+urN|DJByT&yX+kk*z#;(mNp-Vj<)35$u#PC zS<@9p*t(SB#tz8cqf_f%;uCzGzNNn#%V-8cLmtLC#lhJKk79U|YEA`Lgk5X-6s zNm<#=V2Vgm8XAw&qm0u#FDR#!QLi~EF0M6xFoLbrUJWUDkYcO?`y{gyy`I!4!8tD5x>PXLB=7HAS zsUC*Myq)GWx(0$__vaYzX>(BE`RJ{`eZN5Cj90I$8xRRwQP3o)4=%-mo2JK1*N%|N z>oFV0wqwsy50R`ap0^!ftwb@@5*HV@eJb@@zWG3>ANSfc&+a?a9X$6~)XgFHtgF7Oo3lkoHBOh1pe{idJd1~SZ=Nz z54+$bG8xOrs1_Gd*CdVLPFiXtg&>vd0jW|vq95_*Xelh58g6cY2IkB}4`u{?eDfw( z(_07|79q<|jmjmS^ino5YeK<|-OZ|x1$+wa&qlKoUYd=u30X0HQD1dOl8ti>Ro_hn z{|hE9&}CXe56dJ`v)4~^#!1}%63#2Vsw|a2iyFRx@bZ%=+xxXra4~w!G%@vV;lPcA z_Li4!U0j%x&)W)J47k#V#lMd>&n;e8|EwaLs_i~yi?byQ8+@HB>F#^MYaw&|>wlg~ zue?r7%_!sEd?J3R@dk@#v3BY?>47+Bd5vn|xsQ0tv1_TJxzY5^TPFGCf2|QRW|t77 zHimd&1d>C@;Df2o{1g_Q^DKPvBj=0rGy5K_vNIFr!-XvBqitv3(T(F5Bcx=hyc^nD z*fiIHR|zfkDH<JW&gg@_XQS@WqyIw8dP+>(vOQ}q^dDN?g?jfMLXigS$U-4yqDgElVLerS zXEV7Fkjq2x?6^_jEv=$qEs{7SMvAfP^lJ(XJj?DIsF8yA79RkfFPP33g8>JVF5d@@ zRh8p{h$<_O9Y-`$2nuFE6IlVuE{HHQZB>&FfAU)~7-+$+7Vvy%af}u!O)c0{V04Vp zxj-NSbOHftI-e$fR(up_9v28}as&z2H&WHg1*++O_JftOV2F#QQ8=!euLfxfv!%L2 zBU~%P(*-II&c~9SMiq)mN*y|OE#SPlZe}gu6IBw$fFt(UB?FY(LP3Q|my))WloZ6D zpS)}RN(&2(0JHtbCj(s-=xQq&FMyYtJ#@v#DbYw8{u30i43B*}G@eZiG`_=f!Stf3 zJq)o5NIN?|3W(In5DYu=Y0Cs6otTuA!FT4OQCu!r22~5UVBQ6ypQqZuS`dZ^X1PO1 zQ{vEvreeDdgPKN_RB|aSfX5PfSd59I=|-C-1GCB$NRyirz*w&LmZAdz-yYDGy?|;y z4e*Ot(lA4`OL~u7p_Xn=V2q0-V7TebLOlKttT~Ue9{`@zM`+jV(5``%6K>-=Gkvif z#W%00-LWi=zy$SqrGozlXAvPSTBc+?X%)goAX%BxU#&ABBWqw}wI1xWvVQ7u=U~SH z3LI^zUH0VKpN_4by^A$e&_8ua#t>E5H_4^ho!?rVt6pp@TV?3g5dRk;E!M0wRv#xC zi4VxzRk;Ry!U-j)ud`hVVxCn`z3c6A_OwN1#{5u9vOVW-X$|K_EP5ml#GIo&Hy z2hvLh-{|VlIh>Hsu?w!JS>p|F)u8Ik>*)^Rz4qj`RX%L}FjCt#_2oNb<#d(}Mz|)n zokLb|A;V^!Z&Fue__{M$X{PgI?93;raD=^Dc~A(f?~XBJ&!ls|!=l_TbI^Q->Llq5GLO`$6ZhfG5g;TiLm;h~LDTfbNZJ zZ6wN|kNOO=xzxT`deq#zdb9K2{LQ9s|J$-f0GoOHvs=@?u=|a#{(AS%>lRDpsMqJ ztDD0Y5ur@AV-u|f+}1LNy;+5paqTi_A)^L`jDPPbKijjyOBqHLnD zVRzfueY5Vwek~&G9UI-X>7?sMGFW7GAK6``)5Vy*Fb&Kec^Bo}*_o#Eq|7B^R!14>PH#JQ}OZFJFEln#=2ArAGBqXA))fag?LSSTqcca*5+u9K>)q%@IN zTMJgRp`pkY>HPdh)l*=Tyt#GtwZ|R!QiIm%3I=mAiwjJW4Ip;Lp$Wpy$q9JO6E__r zMucC-u7K$d&-J`<5b0k8bbuu1=9HBI3=DYf0Cu*gJ1BtM4~JC}x`W}Yq}S7&<%fOg z#mr23#TD=JxHt`UnL_7LJRGqOhY4eQLR5NLKJcvlIN9w99U?KX{>HIbWJOnModw{j z%0M$Bmd6)3;WDLI8x}SmrVuKXUZ=-62chJb_djs{z43L)5~_e8xY*fP7p|w+=~F0V zj=jj;Bc{_=j_T};n$?)gc3;!YE__ME)17{qODwt@+doPEmDXQ*z$|w7*<389Gr(_! zLT1F`ist&?#95$~mhKf>ny>B;+0enaYR-wK?knFA<<|PQs_{%$MvLorhuZWX=K7lN zPigpXAl{UwmvWRbe{eswGGolBC|c8Wdu4PTZ7iGXZ-!Gm%Xt`W(*Mf+6&Ll|1WudAefY2P$1sPlF4$-(_5>BW5i3H#JImUbUs_*LFYv#fFo8yiD^nDS=FP_<$ zu{hdnPYv1o4M_#Biavn9WArtj5~+Q_`_ApbqA?sk@)Pv9nkqWoo~Amt+4Lm(+>MLG z|0!W)H@=sdu03u4gDyF7MLbW(^t_@eXMU5GYmjsxe~(~HoqPV!#~igM$h-dLu=D+` zFZYIJu+bRoX*rIGRu6@Zlh@P{3)^8Bl=hT=oE;eI7wECfG~eO*ny&0^6FBQL^}1S%YCi2@X3@Im6h`_< z;Bed8o(=T7>5zjnYl7DGkxKJl!OMDiyKMCihh@QYXpHV_&$-K29!0y$7pI?@s98C@ z-_lo@lN~I-c=d-~{bbA#hzzm~fu!86ygYNEq7Ir|zB5nj0Kz_F!9?{N8lN^25Pm&i zvOo93<&QEj$dF-f>5ie2xo6~^uv%yUiz3i({1Vhs0T0t0h+W3|0n|a)3+uBRXXU`& z2P7hgt(?$&u-#M;?FprndOWiGPQk~Q`i8l=T>t6pJ)bKum0!qnu+`OlufTr>SKZiO z4}uBrHv@$eOu-te7g+W*M7=9EVFmwQme**i*#ddLRS z7!P7|uPhylN|q ztk!ys*Xj*5kLs*6SjNhhMMdNU(8`$23?WwI(eLec#?xd+lX#LV2E0!$AE$3CieqlL zPBw#D)KuB|93Eg>?#u9A!^En87Eg;$1{4k!Cswwqpt6|vQl_SIUsOJ#+`xfxGNniO)cEj*?%ezxe_s&b&Eh8#AF5fQ!kdPae`YXdBSrS71?>A~6lDJxf zXVmIeQC)C^oA4lEPe@)z$3*xgwT~YMUG+jUHW9g){;Q;%(mW70A2+JKf{@eBdRhXm zP>Sx-`8?lYsSPOwOMhnB!+#>Qk=!TNb8v%va0kV7`t2DnFhao?}8%qm6W&&`VBdD9HrM9>9Qh50m7NWE-h-P z&!Z&+(jpKOWg5tBr!6I?rDX`qTx`L0{S{aa5>M~T2rT=yFQXRak~l`#zIAG(@bUL7 zO6fQxfks01{M2kgpVn0Z9?#ZTX`P2C*742udZm+3qIj`4vl1&!=2DWE^JYd(Vqdue`JCKW2FbH$FX!10@N z($dCe6Uw(dTklbVjq6kW{u<}Wg49>D$(WmCpuop%DmP9o@7RO&k1J@nFG?PJcqrP@2hR(SVsEt#x>tfQg zn3NjZvByTu!gAEE_lj#0F{sNcqb*3G?!-t!jj2W+uhk$QkB|MMC5P;YBi{Cuin?Jt+f6-_Y7O?*ChMOGv7SJN=p?}6JHKhzsQKHaw@sz{ zzVO|cgZ8ZR=wR{yyQlWUkKr|+)csx^&z9a6yOTe~EZ5xdpG90hC1EQxgjwlt!o~Tu z$5dMt>Xe(h#T1Bz1oH^8J-N+jtSOw> z{{G|R-ZNF|y$&+MRKW2G?0DQ2wF1SB!9DKYqK78*Xb;-ozlnNAmPbETxdU%no3=x` z)(pTpIL*Ej>B*JKAxjZZG(Z;&<+{WB`-1tKKm^16vX3ID<#|7a`K0BB7>ohXR=z8_ zn2ZJo`3z|G*ub`hm5q&#fnftc9BVDTGPDIGdSTC{-zot&ihz(1x)-^BdwDIq4$_@^ z3_gBzJO1+NHwN@!C*l5JZa4L;Q-T*!`b}9!X9$3l1Hf^T|B!cDQRT~*VL+vTUJO_^ zLnj3g08XsQ;VC+!4|e5X1p+*OAUkg<5eUF$cWWro2@t8GUA5FT7xvZJC_{*bYZfeNVWKC${=!xW< zBbI7sV$@VMts8A+IVEOu)(i}KgLxJwv63)akD=@zX-t4GL~&5 z^ezAH*dt>Y7>%vVl=JY5$o`j?lM$Qm8k=jIOK%c{=}7Y5n&PGT=bu0H!k3@r$7jlE zeuW3H{z7(fig=Q0>64Sksd&Gt=p<8S#P?(F<^6{?bo}Lqih?6AuXEj9wP-&Try({L z-L9>hS6vMCbDl(y&?9=0k>q4ImKj_K$Fwj~U{`SwvI&Ua7%N{N3droY55a zpHsaGU@P8R$PCWz z2YxdXRyE*)0E^f%=9T}u-g5ow8GV4111>^%7`UZ>plL7S0bT>3CXituLT`1DBiIA< zrw&EtV!H2IgwEjFk6f$3%?nks-0j>jEzkRgis$?W+*~|8ci*DY#?W*=w@U8^*R)19 z30Wv{ySMIk{WFi%Xt*|4+1v0iNv!DG>%f<6bj#)GVI(El}{X}%#wC5@3gcuhX*^2 z;7FHE41Dx(xky~*MRtz+-tF=`ID1^PKYQ$22EeYsOz0r_iG}93%2x?ZV09id{m&RdA?83uJ?UxM>IkgI(!yPl2R}UmORhpg1kKi(!MhCK`?FRdPW>>manivGiRs$&dMt z0s#{+LIkcyl`aSBrW=URw!s|?H&SwPJ!XV@u;EWq9v-{^C8h$NDNru?IDv4|@{#TJ z8)$Tni;D}Clk)$cr(Log%1~+miZk?O?k&syK37A}CjEJg0LFkuh=6>mcl((Hric!A zut_d0W8;ZjyzX9G1nMVr2bAruU`fNmz>t0r$sf0{&~+ef9QPcXiVt!_v?rgvB}|zV zysILwsJ7TWamcjc36}H({{asioi~`TeJR62a;U@C%)`(r1{@9Uvm$!mZtR>Le2$dB zfrA^VS1(G~&3+&<<`HsdY7?o(VwDZvMex*{RKtOfa0`A_Pr#pZ{d>0pOpd2cL#3vdG| zkv4K1!s&8|`HF5D*18^qNF`W)iFHFDzL~mx%ItQZJ$*9+AwwjnP6>hYyJH~|U}Y)V zXyD#K|3d)Z$Dx@s*M-+3=B3`8YBwZ(c7yS2_Roa<OrV&v7{crA};I z98Q(Ox&Kd~lLPQv>h+0y9(Lv~Y@pjZu)nMXX-&|=IK1sIks16tXF?KyX?kUNS_xpx zfx1HZ6QLX?z5xGqep-LWM^)~tikFJK(&%@|1gaDxehr|A2WkWE4O!VeFRnK zn^Tv%YPN9W$RHAco*>aq6%nKi>8Iof zsDk8H(eao>%G54;k4GLoAbpaR!{N8s?yJ8XDGMs6cw$iGU?}c?WMWD1cbxWP6n0fg zYGNsdu)@2*J1J-O{uy{pDsYUh%JK9rSyIL@7N1mNN?6L?MEhwZLZ_RGXD$bK#)64! z^{T9AL;qb@G6jWxBL&m5A^mXGb?OPj z^(SHR%c1;Ntbsqm@qaDCP9SHu$Ne$EH8W$Q5qJ-_rkcbCGA>BCMKDDpKSpdtiw@cz zLQM|7);|&2Kg?bElz*(uVCEn|oBJ|g^5o}}&OF3AVoRbXC!a=4!ld_oCy`k=Ok?2~ zJrLtHrV<8*7>vk&@ucLzud@HkCN-M04q9@KWLgG zffGT}TuETgCM89DRX97w8=*Y_TSc}mFly6oHBJ%wl-Ue!QNZ9Mi0YdY=1a`kfcym~vRFRJLO<)~`tKq6-Ax*6j&j0lcm zO>3Cn4{a(Vj=hj7{EB4MZY`8~rjo5*qjodSZla|+J}8U>&T!tZZ{UMgM8Ptu<{>M= zBw5b%t*o?M=Tg)Uk4na=)oaBqi;lgEsr3tq)`$2T1MYCr!=cznX7DM|8qHdUa1nrI zP%ztm2-mv`!mI9gsNIAS`0V>IC8UKVC8k&VGtMYcT*}=LMM)y%3IPnnHOD*qhR5o9 zFYpKM6`ARJ^JhWC>>uO*uEFJYWc8S_8Pwo^Ohr)F5bHX)ItNDy2J#UDAuOUkx5cfO zAP^COFyr%IPvYE+Yp!?pHMbU)O3N*Jri{xO%~@*B)qjyL)<27p_dfl#I0M=waz_Z(rl?P7LA*nAYJLc*Yd?DTEHdZKN}_uxB$OG?dS6WuE+Aa7-3qEjFf7E+&?r@3nZ0F)kSW_ei3^{TA-kvRL*KU&BOMxp-*z~` z0q)Mo`!9*`pM7Z&`Mqy{4u=hGU(+O3aJGdrL}d;gnG^diI3vM7h1@Ik~}XMx9N8!yf>B%c8dAs&iJyNlS`L%>x?dKsLnIG+E~GL z{`rZwmNUMpYb|^H?{C5Jg_J?ku&xgwgWAbA#e}!6J@V|888O=l*WNk=sfZTKpO_Cf zgYI9|vd>mj(e;<&QY@dgqJ`@!M+Da(jAmu%%zcrqq!)hNrp)~?-+4$kA{(Y)YP7Tk z0M+&Ll3qMU3-7mBi1Dv}(act~aK54AUgF8dM;nUCHkWrGQs@bV>vZeScOgaQWsTA6 z!J7|dK85u)5cD;Gd0s`M)Y3{ga^1@>kt4;gM!6{=m2#}Jj=B2xZu4(R&(Q_2-|!-b*+8Tu{aWbJ@Zn-(seIs zq8B~Yw{xp+a8^-q*HO2zQQU|FibSV;WWKurr5hGj9BY%~BC*feqay~K;ByxTr6xI3 zsHs+NMNiiTv)9oR_Eo8^Y4t@%M!hN5p*tiO#g{KPsp9#2y@GtR>ii+papjXa=Ay z{c^#^vY&_=O3GM}9OhB)^?GiBoSd*H;O?{Kw;#^*Jiu2%~;E~`N z+jcXym|qrTYWjP6q~o_%ai8byWsG_A_1Qd1XQcrH#ql$uX(_ora_XOT;1*Ub87WOOg8zv_9m zN9YVsMyZfsf#pA!Ax?3E4$>*8Y9!P$Pl${!(M0-tEMJH7M<;wSJZQv~=IyWW!tnLkhR57! zsi9)}^G^6M`B}OD6y;g+n|?%DyT#~uml3?D8BdB8*#Yr0Tucw{SS$HV6@fiA{T&lI zA2EphAp3Z~B62>=R)pi#m!W_e`83O@*vA^=2$lA9rV00?7<7;LlszO%A|n}!8Eetv z#DW56Wu+NmF&6>U2pE%h%__E{vuGz5RB+lKaru2A*?E6^gBZJ#%}2JAa;VvSY^0mo z$LBY5v$8@TJLv}p3G(v`^C~Mb>vRTK=899JUAnxOpK&K$h30r~7r79L_&Ae`hXe9) zwJV9pF_wNV-n=E4(L}bAC!HY2h%wONc|7`z=$ilPyC-}a55o2eg8w*IROqte7*d|@ z2+kh6;A2Zr;W@RupeI`0%YC(c-<=nX>yCy}d5K?)K+O@k=Vypug|@QDI5}2zZ~)4y z7dcSp3hH%%NbyB&x)1kq#Fi;9C|O(~_+m!hN`A6RDDeF$i)?bnQnJJJO3Z`JA@x3gDW39sOAC)m$>YmQWJ+EZMMxI+e zEfvOKpTDHBzwbKhTF$k&LQQj1SHIyPr4ahS;5+RR;(UXFN-sfiT$tFz=AS&erh<(Jm~Mm{jh*)q$OoD8}t zlv#e+1TfwNZGnN^(DZo4hl%@wWYoc1JqI zx;9%$KES#xT+V^+#ooZr?&fZHcFkCyuSTvF;_4W4C_5}^aBr{P!HRO9lmMKhX1%-kKLa=E-Y_fi69T|&+DmC)i(55Tg}kNtPg8OcnpibPngx{8>4PPi+@M>u+?l$pNLsKxO#UUbhJ=c!Z%6kK4KJjWfxv z19-9pWEs0Rj(s{L=Of2h|AlL#T7P%IrWb*(#+lyE00_`f#+2jrj0@b~V?rJn$=W2) z|7l+G7JHguG_mi@V1m>3UH?j63K%TkGQb#J$L%U z{?x7eRBNk-8Nb#$hj5ZiX~!6n zX4t|~iV!X=br@QXQV{95w*JKOP7L3s3@JwEp5i%p(th{s^-L6d**Umd+PbRfFMj$O zkppolpU9`8U}$}cPmXU-sub{29 z$9qWT@SoDa($9_Ci;YAVUTO?PB~?wij#}hUw;9@X4=oB8j#1YG`v`F{D>EX?`sq`TkZk*n&OS-4EZSN;T^Pp!3}(`?1#?x#LxV9yE|Pe0WfT&9Zz7- z^QX2p0YoPnuqNB{rb88o&42>Jf7%ZFc%Il6pw!Va=1fC=90lV}NI&7P;!(Kx^!3xO z*oC?MRVPo*s|Q+GY7CT%M>oP-0~x`;s3QT{&h6N8;-e`X@tI6|Kh$$Vwbgyx;2H7D zRL8%X_L%(;%6Rk6wefBJy^Nn$=dNdTOv)&=er#n7ZK-WI{imc$ZC32BCY1jq%Zs#X zonY1!O%&@bZYHBUim}-X%?|gNm14%ZvwnQ){pv;v$EOqG>PEuL@%U(xlwMTteCNf- z|2C&+E8`ctJdrWU=a_rD1xW1bGUSPo2)&Ld&kIfFG%Cu_NvkdPzaNym6DN=8^dyLt zKmJ4)=n{!9(pI;zqnTzh4r0(4DX>Pz;*OCSv-XduUX0mMpDs?V=Lo(ugxJ6E7|ha{ z?$ycs?%*hAmjDLI_Tl$z>fhC-TjkV!|6nN&7_jdC`h>MSYk!GbL~LCMlSn5SKO3@w z)f-p5)6sQ8+Le3kOd@_X9)Dsn?<`U}xG4PX8^zXJIaO8mi9`aSog($sGYmw5(wHk`$x|j=p%fr=+s0D`tR~QuwuGhzdkhEXF!i_E$(aKng z#)(bdxah5q%HZYptjU{wc8%PY@}=9Z3B(*j?~W zHX~!;k7e>7^B#%!Np3bO9#&j|*~N8+oQ=s?H*`gA39kPHKQQ^Gm}#hD){Ip0Q*?-{ zXGaXf5hjPYR$|%w>02DP4)S>$-$(MNqDM}v#ecGqTG~1_?xvBNo-kd>_#PBiL2!gNkHHj{cXL-7i06YEkkP{9lb4Vs;W#DT$=IZ23=t= zyX}7ftuUcn=$EYp<=yV7xS3{Q#Q%6Qn<0jBb4Wjw? z-w3>z7fEVwbu)Wzq*Tw682g^4dgC?vjfPI9MRY|^TgUc!q5LAvUrOa!&~yh^YjRmk zoAfUHkEC;s%Iy8xc$(~{nrzo(+qP@cWZRl-d$MiY_GH_(>pkD!yVhy-{88sQ>zuRi zd*A!s*XJ6Eu5a#I8wszEL${^qHxc9>_^brh)OgT9yPAjSOKjk%dk1-;79M zKG~@|S7UgoIn~67#6j$Y3gV~?$)rVC>E~(H7vFco52Nx4^Tld6$CKAb>*jSgc+Iq% zeN2_wdLUEsr^ZDTotKkricdn97xTb9F?ablw>KhDpO9=KUVYW=+3dINzN}{CNLN^zY{tdB3Z7jeD$S6Vg*ew8U^vtgB@XHh#0hOEWzD;TJI$ zMLY0J;!}Uw6e}c9+mtZuRB8oQgyb?(hW`@b$z>_p}J<>iimoyG%<<<9R*K&+vX+$!z+%bnV{rgTmkb zk15*R{c%yUy(yl@I`w7=vKcG_r<)blc7;^@^RUkyP|xESC-(jZirl_$_m)1i<;2K^ zmo->UCBo`^a4z@_Q&U0lT+inzZ)4#LAchG$A^(oSmIRQEFms2B+c#|4j#J|^CmJ$T ziVh2ySSf;x+FO;6jz_w=Zrq5^GJ$b*NPh{2JU@Fi%s1-At(S(7LscU{Y-lYZH9K?M zz%Zfpq7dSJbIQlMy*)-R15A$oy|~dpjsfW(h{9f;!Gs|rJ}pToQ(j32oPVTLBI891 zxc}^iw391;_BuFwC&-|)-7`eXiAKx*sNY67vQ=-*9zP2C3lkF&&GViy*bS2(L|P7d zn+LVz3|4K5?qDj1<^0iCY57i6WB9Y@sL+pWu%}LLV36&vcqFOt;5g-L)CwBS>!%O8 zcJm(rli*6zkC&m8Bu=G8k%$9Ct1`A7K?F~!TpPo6vcl?J`6!ilOaFHB?bKPh?`T%i z^ai6dlP-w8fHXz266}2fOLIR;@^Ic4_Tu85433Bd5&svW2g3Uib;}3Y^X}$Io%hG@ z1J$!YHP>09xz(mY(KNe-1j*6Y;l?6m7(aa&3&Pt0}?S7;<_s{GPTF4memB^HNinJ(*44e zlR&rU(^h17NpUiD=Ssg8l-n7<8+Rh0+jvcVxwPw*t1(iMq?vP4$xO-_Yq?Obggp{r z!b17;|H$j;6*RX-YcEey)zg+LH**lx@*7TrmzkC|-UP&~>9La+)#M6iksa&_h^q~w zaEJZ(w1w~pqB=RsZ+5Is*}eWCt)n+G<2I8C87kxj6k-}zF{GrDMMbSaz(LduflV-P?$6d92*n_7|IQJ6Sx)zO}61(vv9uN4X}H@Wtd!R^wyXDA?LW<#Wh zl^QCgF_8!T_bV~oe}kuP4}!J5BTn+q+u;slpzvO`buaT zG6Pf)z#U#+T9j3LtlaLIm_j^$Ld?XZ$Z_U6_l9<1{t+wxz5c91E+=XFFVTryPL6_?*+-=L zM(3vGF@v?G{N{^>ah-trdUx)iQ_n3(Tfq8DU)HPMY+C3!u|u&+mJlDL|xD)+Di@O-TUgS;Bv7|eE_ z&Bq`NaW+_IhUEk94toPt6vCt^+*ZWgObrXRp$P}KU&V?+HPNlmSMq;>=W6TSZydn= z(d@qJJR30A?s6(DK%Ba;@e#N@{}Myi-`UyY*iZb`)Nb)o+ZCTF%Np38#$|i$3GJEF z%1Vcq{pE%R80A84gIrmwaIxY+?R>Z==k2&ag*H*z?>M7T$ypgmJCYG;3S9@Z35qBe zcfh|`$fTp6edyN>Ae9;nk|~6|g%)}tEqXhJ4Ca|mo&P$Vn6j1)spDza`7>R;zor@l z5nyo6MlvSB2T}5U2z)7_N+oL``BQsETxgBy4+T<7-dY}*8SIAi~|H03hd6O{5 zdC}nx!hwem>#EX(#F5`45_Dk7$UXT;6SG zm1u3e=ewhsgX`D2sP@J;{dse@L(?NhBHn*dy%K<%ATt}QUu`K2F0*jh8Ob;kdX!vK zvPx~E>Yr))>ip4*gY=6*uX-K#md4~WfzS$GF1{mccN9zQE$vOGLCitw<|w^PN0wrI zu5S^!SAs+#Xo}w@BAVkdY!7O}I4{=lYzWrI%2u?L27$4uDH-Smdw!{H2`7jscYC~h zFr!`aGmHKU&`r!53)reRR-q$o@$*LNb~;#*By^+oc}# zjRTx{sL&Bx859~q_ulB@|K3=~3 zE4O91)X`ldt~(w5r5&_JVhQ{W;{5XUiud7+{k`^yW%CIU7-8nRpMr>A^{}JDi?chz z&u!E^@hGAF1%CSn4Sd7Ep!)%I7u~CP3e#b-axIbrq z_7apa!DBw!-(}4L6@di5kS6G+;f=1&Ba~Dsw(lf_rv1ee)_%ziUT(TOB=Un_d*AwC7gJ&60w7 zO8?{^h$mnV`M=dXia0Jx?G=*mGdRf8mM{O=Qgw{OBV{e>IEYsb3i3>;Dn!3hV0EvS zY2xe%An7DZyJ5>}*@p+g*1^YrHX@^e3y*t6K`JWmS%^!I4zi3^f+X{G*V81qd9Cj#~Bvlks3@i-7W#h~h6GM^-|CFKrTcvn#GMS4KDDl5;K!tBht ze150UPCEDkHd~QlX{uP-__V!&QD;jaWIAt`LP=nI4{z;8W~=ycj0?I*8e&cx>Vl~R z7i^Up#kvrdi1JU-o5Q;D3x48TD2gDmgr$zZ_r!1GKz!)H<*t1HDE`FTb9@-VZ%>)u zwlI7DZZMF*G41VK@rojeQh{$_Qso&8zj64K5#y>oo)@*GLo`pFja=_VGmX`^KiQUH zh$4=U>;`t&(+G(T_*!H)?5_GdB_WCvgI>o*?T*Si`v?{ zf)by>i*-*CD#a>W;<3^fyDDc-49>Es+0f68Hy)K9RalT=CD-j8jJ_Ban|v7FdUQ(7 z?G4zEkvM8QxkUsC=^3*+2Hd82M9lX(dkMMAEHw4BdjIADS6oSoo6Ln}>$K#1RjTJ} zobnBv{ufepb&!11`I_2h$-KMbS|XycXdx<02$_E`1F)ng^4yn+N5Y^^8cAIz9oi?i zACn9L*>-t*v6sfeVNX(0!GctM`nuD2y#=SE$!r^-2Gz7+oiDNC+a7$pl#r=&7?@Ry z=FkGn0g1x=Gn1@V6()+VBJ4uE|0H+o4^fjTSSo%H<^;U zg7d#KF#L6z;BkUyM#2NHyzn;GBuQVq*a4oTTPNtu1=@Q1p{(BOo5qly_XQ>aCA@^4 z9$ddlSQnRcpP| zVU0707`>ZHmyO-!0nvP|@#5jFvDLQUWu0=cxUA<+D#{1W4FvUsrH%zI^@79ik}DJ0 ziIcL$KMMxWjwV6|Q^}!JiTBC+(e!%w`PGuG`J5Dw5d_ozL5p7One_eUGU@p~_mn3Jlm#u+E zHW?^brlw>JcI?w0TpFb*siT#bOKGU8_C1M?-7P%4WM|-iu(z+S-#=)Ed&r{A>z<1% z)8|!T&dkG^or)rR+*nWuEdR`xQ)0e5rgibjA3TfDjrOG83UDR>7c5t0wlqPkH#xkX z+DbYiBc+<=@2U8enp#G?X0^AmwzFzVLRZ1J0@lrk_xYMjoH0YK;oXE@WGwdixZ=1| zMnW_Ntv!Y=z4@hMdw@wWZTQlxJ3r%h|#H58~)r&Yj|OW9s>d2I|}|K1LeC-N*zR7Wm~ngSaXJS zQ=0qnYs3hBbzx4PoV)6xAH10N7P%=BOM?X~v%_3!T>23D@B|q$to`j)F6SyL!?vp} z%~c8k;u3!4vvXle8)0(CiB#R>L_)K!ppT``e#%n39w1;H7w#~23%EjH^(Tx?#}&76 zz%`x74yPTbbyvu%ZHznr3pLL6xY^Wf{|~mU>tIO;k*KyS|Sx|IY( zkdlDylgGrB&l5MG&IFVKI|4ps>i=ojfxd0T{|v(aGg1Mt5QD%XW&m(99GRNJ|F?xN z^~wYi6Lg|!cUL?1hliF*I{Wj+{tAP)l#LlP>eZUSIB-_|tEZc%upY=8q%o=dG~3|r zZ>-swtMUjLT)oI0hp&`d{c{=eDB;7%MiP1X8HQmCpZe%IoTvkfO$M_)Bmj$Y;V zXa;B@bCU9f$1j0K2!_ak4-mF2arEN+N#ahrDu>g3L=^R>h&U%WNhyN!(IEs0mr&)a$g-r# zCk_j)k`R@bj=G0(HM$xN=KZw_H7K3P7EMdr*@}n=(VB#osRebPj+)~vYM3a9(m7!? zCnP6KI#{t3kvZHE)?KXb|H~IH$Gv5y{mY{j$Vn$WC@ue}cLl_-J!M^Lw7yD6H1+aU zU#vZL+a{^w;Cw=x@}h3UoHc(N>#>`4d*;%^;+Yyzf*7vye~UvyxBuKgxE@42(EPY- z9pjTE*_Bk^J7Ic>*Jq#x^E5$(tFIfafw#3v{}62eRb4uwPOh_=ox3oyTg&UcOrC=E z?`crmI=2qgPT_Qg|Mj9QP_Bj+5i#$|)+6qEg|_Zl2KRe3y$Z;ZZKQZwsctejJhT7q z!UaA`3#`Tk5<-{cSJat}2YmS~c&=@Vtx;z#EmA%>XnQXX5ls10om?NA+Ku0YYbS1X zA?R7DKT@p9kWT&R&%-iYoxXt*HuL>`5V-g?c;0dR(SMeG)>#Fd=C&grJS~)0X}e-e7ol+aKoo=$DcT2P5mD8rTmA$3L zZ0o-I}@p-W*)+OwIRg?p$G^A~f4i!Kt>>(wlc)Ow6B9#QPIxLqQ8kTwaY! z+H`7V39u@momP^!ovbXVU$E;^IF zrQTJ&fxzW#>YE}K72N+1Aj>9A<^iP}a?(%I3U?2ZRY!Db%`HtBQ-ZQ*dmUAdYY-)B z#mLp^x6Xz1CXpc!7^NK}`P+!tsRp48r=DNk8FUgke9t-O*ZXyL!ulb1ESiq3kyvR3QR zX^vrHaZ15-F`T~e)EkcQuI%<1J7#(F&n*|>Fo8X{ah653BC~O&(~#1<;P|2GUEPeI)_TPoi5#Cxj{==WfP1 z_S0u?O&6tpOSXy?QfgP&uMI%ruW&b9kG{3pAU6M5t8#Mu%g5~rEM+o>g`A|4!lA8w^k5}m~cV)4Dwy>n@(@oFYbvttsVlqEOx0m4-r%V37m$J)V0%uiAAF{PP zxJ$95XdXvM!%3`2R#T?MM8PI1^h%DJqU!dymtpbiYck~IB;%Xe_i^#^YTxGXe4D85 z=lXG(Gaq+fOGw*Y^*f7uNnbm*o^D+pp2;3ohC`*Apd}D-_Q@jTYjdeq@&(} z6|2j?5=GF;_}_DnZa0?Ro~^WxuJ{v$!c|dDAf@g2U#>c}t0q6Zr{DND!F;`2p_rtU0Rp;M7^rBAnKPY-DTGUSevJWh8HZ!8KgzaqSAg`aDoxz0k7ZemYt!4qP ziq6j8t3Up1T@7DtE#*6MA;E_T&O&Z?f&9WG%Nf>m+!;6-GtCsM#qi#*pQ`sQM37Rs zpu);WpQMC>>h`60easptXA_>%?T{1~jVCkG{DEpYb9q@v(i!GZ4x5BH21Q>-)WW{Ik$`qhrV0khDV6rgbxpq7Hhjted>tE491K&N4j zZ*bGsy#;;=^2_skq_khVZWs^wR6#*^`C1Fx*EmHaUbio*Cy0{D(ud=Mw&s>H+|d`# z;Zg6q{TS+M1O{bqSC#Ki4}ns}-^H^Cfa%_A*XF7JYzG#u$5_DTs*B>Ey&|gQVC&si z3hnLpmm0UaUBm7u@~0Aw1wF3hpsdx`u6sYE#K#+foc6Xd`j0e4$dKr-yR6lxu4qj0 zv+Cti7m=aPyp%2taS!bOo)CC`9+k)D%y8|y#0+V0K!A{)ZGQRog7Tk$?)L-wb)bp< zjmlU!f|LfyRz3Py|HgcQCNr;HUP)I+vKGM_8?cxlojX@d7ASno$7O-c$auZ@GFZ|I z1&%q5uqDk}^NG|2NLmXL@&;m5rS`6V};i4o24IZ*t`bwmo< zD@G8PY8Q{+xw8)EpPe*Tz#8Og9<9_c8w4t{G3=uF++*9Qur%N;O@iwNd*91jEn|Z9 zIyTo<^5Mzy-I+Tk2+B1kyp?mFL5o#YN?m#+Lx4&(j(E^IQ8B&uHh7^ou5n^+PW9g4 z?5pM1?A)`33KR|}d=t4np`8NsWms5PiAou?<>Tt=Ds=f1+kc*1|G5GGCtygZsHh;4 zKeLW;e1cO?}35W_kUprEDlU+Ca5K5VD=LF4m{+X|B@63y`M9CzPJw=osK=H0ggtZm%}A>n=R<)!UC>e^1wGC0pxAsX#JjNHUlJA=jr|RhsFA{_H-Svqx)!(#weyYb8in0$0N* zve7Ybd{!7;y>{C-#e^qqRB?0T3!A~=&(wk)xlu|TtjY9`amh;SUT;(JOX)hw-(Kyu zAD^_mxP|fqt5AG1tHX+7SXQq*y113yVi5UU%OgY>vb*|*5)e;7TWM@&X4J-JfcY+A z-h#z{WO*93ifw?cX|dJydl2?N3USF1V7TbSwc#VVCDDT!Sa~27curwhQX(n7`gX@-Cl3$S82mK4sJBql0s>$RHN4Z%(8kV7^@kg8eWKi$l(zA#k~KIbpKsQ0u#ukWjq; zZ+IKBurTqQqbR^Z8myWGiZ4c*zb)@zExbKv$|4JnhvO>~q-y

AnvILt$-fAM=reYY>V~fxqc>F@I4IM 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 CI$Lc2KaGfVUFUXy^x`OLKDrex1t&qBT|L_ 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 bSZ{KhzOnu4Bha~Z#6;z~=I=#U{|NpsZFCX7 literal 0 HcmV?d00001 diff --git a/sphinx_docs/source/ECSN.png b/sphinx_docs/source/ECSN.png new file mode 100644 index 0000000000000000000000000000000000000000..094b13c06364cb57c7ff01abd29a7f2af309a522 GIT binary patch literal 54118 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 z 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 literal 0 HcmV?d00001 diff --git a/sphinx_docs/source/cno_extras_hide_alpha.png b/sphinx_docs/source/cno_extras_hide_alpha.png new file mode 100644 index 0000000000000000000000000000000000000000..2df9d36a12a917f1d95097bddd3316adbb4be192 GIT binary patch literal 85600 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 alLt6?!9&A34SH<|_$bIK%alkN2mUXp7k+{O literal 0 HcmV?d00001 diff --git a/sphinx_docs/source/networks.rst b/sphinx_docs/source/networks.rst index afed2c0a4d..e0fd944f00 100644 --- a/sphinx_docs/source/networks.rst +++ b/sphinx_docs/source/networks.rst @@ -3,8 +3,8 @@ Available Reaction Networks *************************** -iso7, aprox13, aprox19, and aprox21 -=================================== +``iso7``, ``aprox13``, ``aprox19``, and ``aprox21`` +=================================================== These are alpha-chains (with some other nuclei) from Frank Timmes. These networks share common rates (from ``Microphysics/rates``), @@ -32,8 +32,8 @@ where :math:`N_A` is Avogadro’s number (to convert this to “per gram”) and :math:`\edotnu` is the neutrino loss term. -general_null -============ +``general_null`` +================ ``general_null`` is a bare interface for a nuclear reaction network -- no reactions are enabled. The @@ -79,9 +79,44 @@ At compile time, the "`.net`" file is parsed and a network header ``Make.package``. +``CNO_extras`` +============== + +This network replicates the popular [MESA "cno_extras" +network](https://docs.mesastar.org/en/latest/net/nets.html) which is +meant to study hot-CNO burning and the start of the breakout from CNO +burning. + +We add ${}^{56}\mathrm{Fe}$ as an inert nucleus to allow this to be +used for X-ray burst simulations. + +.. figure:: cno_extras_hide_alpha.png + :align: center -ignition_chamulak -================= + +``CNO_He_burn`` +=============== + +This network is meant to study explosive H and He burning. It combines +the ``CNO_extras`` network (with the exception of the inert ${}^{56}\mathrm{Fe}$ +with the ``subch_simple`` network. This allows it to capture hot-CNO and +He burning. + +.. figure:: CNO_He_burn.png + :align: center + +``ECSN`` +======== + +``ECSN`` is meant to model electron-capture supernovae in O-Ne white dwarfs. +It includes various weak rates that are important to this process. + +.. figure:: ECSN.png + :align: center + + +``ignition_chamulak`` +===================== This network was introduced in our paper on convection in white dwarfs as a model of Type Ia supernovae :cite:`wdconvect`. It models @@ -104,11 +139,24 @@ binding energies are negative. The energy generation rate is then: (this is positive since both :math:`q` and :math:`dY/dt` are negative) -ignition_reaclib -================ +``ignition_reaclib`` +==================== + +This contains several networks designed to model C burning in WDs. They include: + +* ``C-burn-simple`` : a version of ``ignition_simple`` built from + ReacLib rates. This just includes the C+C rates and doesn't group + the endpoints together. + +* ``URCA-simple`` : a basic network for modeling convective Urca, + containing the ${}^{23}\mathrm{Na}$-${}^{23}\mathrm{Ne}$ Urca pair. + +* ``URCA-medium`` : a more extensive Urca network than ``URCA-simple``, + containing more extensive C burning rates. -ignition_simple -=============== + +``ignition_simple`` +=================== This is the original network used in our white dwarf convection studies :cite:`lowMach4`. It includes a single-step @@ -127,11 +175,26 @@ Kepler stellar evolution code (Weaver 1978), which implements the work of (Graboske 1973) for weak screening and the work of (Alastuey 1978 and Itoh 1979) for strong screening. -kpp -=== -powerlaw -======== +nova networks +============= + +The ``nova`` and ``nova2`` networks both are intended for modeling classical novae. + + +* ``nova`` focuses just on CNO/hot-CNO: + + .. figure:: nova.png + :align: center + +* ``nova2`` expands ``nova`` by adding the pp-chain nuclei: + + .. figure:: nova2.png + :align: center + + +``powerlaw`` +============ This is a simple single-step reaction rate. We will consider only two species, fuel, :math:`f`, and ash, :math:`a`, through @@ -185,8 +248,8 @@ There are a number of parameters we use to control the constants in this network. This is one of the few networks that was designed to work with ``gamma_law`` as the EOS. -rprox -===== +``rprox`` +========= This network contains 10 species, approximating hot CNO, triple-\ :math:`\alpha`, and rp-breakout burning up through :math:`^{56}\mathrm{Ni}`, @@ -195,8 +258,8 @@ reaction rates from ReacLib :cite:`ReacLib` where available. This network was used for the X-ray burst studies in :cite:`xrb:II`, :cite:`xrb:III`, and more details are contained in those papers. -triple_alpha_plus_cago -====================== +``triple_alpha_plus_cago`` +========================== This is a 2 reaction network for helium burning, capturing the :math:`3`-:math:`\alpha` reaction and :math:`\isotm{C}{12}(\alpha,\gamma)\isotm{O}{16}`. Additionally, @@ -206,8 +269,7 @@ reaction and :math:`\isotm{C}{12}(\alpha,\gamma)\isotm{O}{16}`. Additionally, subch networks ============== -The networks subch_full (subch2), subch_approx (subch), -subch_simple, and subch_base recreate an aprox13 +The subch networks recreate an ``aprox13`` alpha-chain + including a bypass rate for :math:`\isotm{C}{12}(\alpha, \gamma)\isotm{O}{16}` discussed in :cite:`ShenBildsten`. This is appropriate for explosive He burning. @@ -242,74 +304,47 @@ forward rate to just be the first rate. We do not include reverse rates for these processes. -subch_full ----------- - -subch_full, also known as subch2, does not create an effective rate -for :math:`(\alpha, \gamma)` and :math:`(\alpha, p)(p, \gamma)` -(i.e. combine them assuming proton equilibrium). Therefore, -we need to explicitly include the intermediate nuclei produced in -the :math:`(\alpha,p)` reactions. In all, 28 nuclei and 107 rates are included. +``subch_simple`` +---------------- -This network is generated via pynucastro using the ``subch_full.py`` script. -The overall network appears as: - -.. figure:: subch_full.png - :align: center - -.. note:: - subch_full has been removed in - commit 19108a72c2dc81e251669ef0fed4edf7e6a3f9ed - -subch_approx ------------- - -subch_approx, also known as subch, approximates subch_full by +``subch_simple`` uses the ideas above but approximates some +of the rates by combining some of the :math:`A(\alpha,p)X(p,\gamma)B` links with :math:`A(\alpha,\gamma)B`, allowing us to drop the intermediate nucleus :math:`X`. We do this for :math:`\isotm{Cl}{35}`, :math:`\isotm{K}{39}`, :math:`\isotm{Sc}{43}`, :math:`\isotm{V}{47}`, :math:`\isotm{Mn}{51}`, and :math:`\isotm{Co}{55}`. -The resulting network appears as: - -.. figure:: subch_approx.png - :align: center - -The nuclei in gray are not part of the network, but the links to them -are approximated. This reduces the number of nuclei compared to subch_full -from 28 to 22. - -.. note:: - subch_approx has been removed in - commit 19108a72c2dc81e251669ef0fed4edf7e6a3f9ed -subch_simple -------------- +Further simplifications include: -subch_simple further simplifies subch_approx by the following: - -* Reverse rates of :math:`\isotm{C}{12}+\isotm{C}{12}`, +* The reverse rates of :math:`\isotm{C}{12}+\isotm{C}{12}`, :math:`\isotm{C}{12}+\isotm{O}{16}`, :math:`\isotm{O}{16}+\isotm{O}{16}` are neglected since they're not present in the original aprox13 network -* :math:`\isotm{C}{12}+\isotm{Ne}{20}` rates are removed +* The :math:`\isotm{C}{12}+\isotm{Ne}{20}` rate is removed -* :math:`(\alpha, \gamma)` links between :math:`\isotm{Na}{23}`, +* The :math:`(\alpha, \gamma)` links between :math:`\isotm{Na}{23}`, :math:`\isotm{Al}{27}` and between :math:`\isotm{Al}{27}` and :math:`\isotm{P}{31}` are removed, since they're not in the original aprox13 network. +The network appears as: + .. figure:: subch_simple.png :align: center -.. warning:: - Due to inclusion of the rate sequence, n14(a, g)f18(a, p)ne21, there is - an artificial end-point at Na22. +The nuclei in gray are those that have been approximated about, but the links +are effectively accounted for in the approximate rates. + +.. warning:: Due to inclusion of the rate sequence, + ${}^{14}\mathrm{N}(\alpha, \gamma){}^{18}\mathrm{F}(\alpha, + \mathrm{p}){}^{21}\mathrm{Ne}$, there is an artificial end-point at + ${}^{22}\mathrm{Na}$. -subch_base ------------ +``subch_base`` +-------------- -subch_base is the simplest subch network. It is created to reconcile the +``subch_base`` is the simplest subch network. It is created to reconcile the artificial end-point at :math:`\isotm{Na}{22}`. This is done by excluding :math:`\isotm{N}{14}`, :math:`\isotm{F}{18}`, :math:`\isotm{Ne}{21}`, and :math:`\isotm{Na}{22}`. These nuclei were added to include diff --git a/sphinx_docs/source/nova.png b/sphinx_docs/source/nova.png new file mode 100644 index 0000000000000000000000000000000000000000..a9fbc5984d21a0254e7ababf86c1bdb7485ff14d GIT binary patch literal 47467 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 VR=xcVvf?Nd`jWxLq6-f9{|i_N+jjr} literal 0 HcmV?d00001 diff --git a/sphinx_docs/source/nova2.png b/sphinx_docs/source/nova2.png new file mode 100644 index 0000000000000000000000000000000000000000..8867d19795d5ea5f1493963236c1319cc1a9716b GIT binary patch literal 63679 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

LGui9EN1B2Jlv;Zu5L7;R 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

Z{A1_uV7*n{^ zmrd-P;Z8R{ovu#pARn?BrssP)v%y38A%Ky3YU2XUhBDFjyH_DyBGYlJ<*%swUd|`# z5Q%)FH)<~qbDK z{i#88*Vwdgn}hdu#`8cGr%EC)@?9?7f!BQK9CKdxG{@@bTlFk8IZ)RC+7PN~Xov&p z9~^XZoNaRFgqVN}F}fT|;Xwi;xty^N!1Z=j?!|Yoi=d;?xhKu2~ z8ZllcFvCKj5&W(ZkLlAc&ohr@PudQtW2=TG2DkJ+7VC{H?$7P3b&raWU%j`GD2Rq) z-2mZX`&p&~_FvJ>_5=cYv%H^_YTIfm4{f@c0rM6&V4+)S66E9aiVX~=JoQ%Es0YNM z!e|~+T_j0@(V9Ie;-KOai(0>j5i2V9EI!&x?hWZzSvvsa=2txwf)9_l;pW~IrIF8YM% zR#Y{Dzoct&R=OvznK}B)kJA<=0)i2G9o41tpk-hH!PHyzifcQ5DtNDDAk=5xeKNbT zaccjM=bSSdyn`=-&Y%3#r%!vkppgrbrRn|9vQ)k3$q7X?KsFhD$Nk1$xLL7jNF6p} z449XaUu@rNuJR*Q=O4(jA~I3eJJdVhXk>AH;+C+iM)zk=K)_^UmTGy6^hqy8aaQ8= zk`qE&>T?t4f%u9Elb+B|g^%~UdWoPbDRtB|O8m$WMujmVXO9sg!2({QOqx=u#A({` zKll*E2MSNEpIwdT0;A#18p#-nK4I-f3#+asL=EX^nV$?3A106hbHGUt4pl^tHQNx@ z;4xvbR*6#=j=&OVxjpq#&fRPj>9DDjEITpSX{^!L-Vh5RKtd18sAz&(reTir0nYp5 zr-^2=n=7bS$FTB)WzDF<%)L&O#QOI9>xVnvN9k(}Q4!*e>tHSQC}}!=(dLp!ywET6 z9jnaOR%5B0ONjJ|5YYT9$vF_NVAlKmQaJ*LQJCu#M&^knXmvwc@Z$b(q2?LzYrdYP zDB|f>QoLW560{x-QYZ9|e+M+5CLT}_MChi=P)6gy4zk+(@d<7S%Rm35guiNK6k`HL zt3ll6EVb0tR}Kvv8(!g%0=d=(a;=Cf^o2?z%WDohY#=CpXu^EA^~1ul`EUL;3cc+3 z6v%mmQ@^K#%?tE5HF?RNJDDN3*SL$mH6*_|XH*4CF;=m)$lvjz5RLB1HWd@E_u@>c zH(>6@>aj_)P*NZN!lb@wQoz6;A!r53MB?v6wUpA{-s)$yx{R*R-$USe7VE~nryQmY zoS^hikGibz>;D%=tQfk8f}vyZeN5F_C+a|^YpsdgglV2dlM|FN$kMzWW-s*yWV-s< zcdb?-N0mrS@A;N?i#J=s@lH`{kI2(gKdIU*hAo^bTKC8L`Hzs@fCz|4k}M)&OBP8YvB_C*i%JfP1Q8^u8B~%Ws0b?I*1~i5 zckVs!dw<@q*T0a)xz?(=X3d&aHO5FSI#Xr0l(I8c=&aMF9V`>WQAC0k(9&Nh;HeN3 zSGyDWqDKp5$rs0@@s_=zooDUO_+v@X5vJ#qtmbkSBA)nN{Gw|R86+-;iRl{7 zscj90?26$_(_lp`%CQEQ$7Y(6yEFh@LX-v^*noK$S~LRKoz<(!~UDk=tu zXJUaL42=>J5^@Fab^EO1t#$KTz-k2eq7gjM)IbIJE@;3ovd3Z&GXTVGN}4+)l`A}_ zpC4UWRmCkRNCC7QXeMbI`)q;vt>*>h71yX<1T(Qk8R1E>GzynT-LG@@>q=UGo9x5? zH09I-KBj+qSbt74U#Iex-s7lSJ-FMP&s#Y0adb!bxbs1|lFIM2i@7!+v*W#7up#xL@U~He1Vr5YFG6CUPv2XM~yiMnpgKqAtB^*39x|)_rS2Qq!`Xt?)Wn zbAn7>Rcnl_!hg={E{HdM0SLDFTJ9@ZhBW`3k~m0t1>DPlQ#+ zJ~N7_8?EVH2_4{T;)_ZkCj!^yn@4?vU9P{9aw%2fO(ogX$Zv-|6;iW2+`KBcyXR0s zm5H0PvS`u|zliwx4;sc-C7?`FFK@sM8IQX1%O% zprX=0Jr&kJFN8aBnh1qc(R|}XVVC}J&ku0NV5Z-im=BfA)?Z`v@dvlh*=gM#*+-p} z>9NfyL;Yqyfbl3asr<_n)D2}G=#M#v>k6vh2&aWJxc+tFTO$F+@l>vZ zx89k1TJ*nlnm`qi+)JXCiX%QMk5(L9Tu7O8w{wVfRS7akimCX@xhW*G&2%Qi(#|&B zpI7Vs5t_?UqPZUB^5(MR4o!U;j0S`5DfUZZQWuD82K|QldVwV%uZSfR#}X<9Cy?yW zMU~9A&S8Q6Q3}*tAu$3`vc@xUYpLDJ-QM3@9lYirJYn{~Q_plF_i@v*yAp}st8NrF zyZs9-Ht4gOaOm-6{FI>b6g8IiVNgh{34Vk%3pZF@w$#Ik*f3&K^{hsrZd-M9zN!%2 zjE&y~dj***Qr3__e?{1fAQ=3>Y$K_CRTqa+Bd&uE>6ZnkV1IkikTuj3Lwoneu% zCVyQKKs{hj#p~*QS*3%wY>~hD(F2l>yo7Po1!*g`8|`I->~;cQ-8vH#YofdNhJ2Q` zSKNlTz9q<9OQ>C!^Gs~A+d%((FnR4Ily9xqh&lX@%!>W+1O8sd*?BH^PLQCme z_GbCjz6ZQ+y!oBsDtfP?9Y050dK&tQi!_d!gKN3^S!WS$uH$9SYzm|7t(KSR8D6P% zqxCOKjB@PnS?#J`5BD0*IUR9CM|RSOn*TB_*V!eHW60IGvp1|zY$QL1s;sruJqBm4 z2nvX=PHUID3}4>~v}Hs!6wzD1y~X9ECi4DaJ(Ex>Dw3-mzx+i^#~V{zQe`o|EMq-i z`o3jJJ706poQq%8WuN2Slk0OS0be$8&18_u3oWBE0<;<1?2q9pYbWX^%@dJo!9^bL zRkYePT{{$2H`5stgykPIWhUh}xVj!^el|+^^E{c`+||d{rBky^XLudu+C+W{YV>5V zR(N1DgT}u)rC;u;RwYM9$Ljlt2T@yTvX4V{zE+s+Hf_cVG5yCAlM_g*z1EKO`tH!< z$JaH4s)I!1KDlr2JM_CEK}cXO-;3eXKT=^qa%&YI#lBc=G# zYDtW=t;4=;hq{(rPsQmK&0<;{f=Y)Eh69s;#^cnTPdWulYLPD9WylO4+!fBveH~%D zrm)$c!#^4)J1OFu=VDZyLOa@4pt?=P*dM{sE*l`y?{Yv^FyMDK&Y0n9CveIk975%s zka6ytZDm6WUJ|G^07DP6))>|89e0asEvXF{{Z&I$wJlDeudd3$o&$0;D8G1W>nWbq-?lN2iW<`H8{yH~Tuqk3;Q5=N?%IhG~hmPLIc>cJ&;&AJ#YK`8UqlUv+L@|35#rsY+o2Ji*2K6WDX7W!YJ@ZCM>g0cTJvx+?<&rv9e zxy*8}_@1qQ2|6N>+UmskNdU-~A4#O+qTxTXGVu&QBE++Af#jk>IEXt?&kx!!9yI3x zlz)!R^uyBS1T7MXp7fkv*g$oXGI>a#vzObfG*pLM8S?+q8p2hVWyt*fQ@;`AK9zV? z6`f5W_G;|@VEEE_<7cDq_6U0ouAA9!@cp$rR~3*v{UO&OvckAN>$0qjyI7yKhva)| zxBWXI-PSTsk#nPF3xOrsV=+Lce-F#y-M_{yT6(tZ1^`9f-k71DZl*^{5O$Jst}keSH3qH&9;RIw5H{{(qn zbCjI_ju6BFeUxu?#3D2coW4hzKBFvijQsMI>*n?;uGT6`o8U~RUT-(jTgS<@Q?-b&|lJ%@|}QgnA*~l z6Jyib*xS7C^Q2q8put69z0OyoB=qD|&0~LC1^6{MMSutRJ}z^Z;9h!~`Zkxr{ETh1 z0yLv=VUCfk09neM&~>3JP`n*p-Uc(sEa%q@>LLwSQKAjFuH(i!NSgS(J~a zPvzFm>_c8m&AQO$n?+N0;;`oB7U5&>m&>KyMZ$P)WCqe9 z(=gxJP|w1TLC6rgMxTW~yVSv5%S=$*d;Nj=s?YBdCpUvnH(g&W-~R02dradz$83L? zt&j5ZmzpJ9e_0H&sRn*v!1l@0OrPUOgYbhO^^AzA`%@Wb1=snoBx(-#?;MRQa8g4S ziP_;IkrlieZ631Hz9<24RP&D~pE9Qxf+?EC&zRAnSnqi&gy&7g!6xa()zGx#BcCSa za!~7l7#~aA5tNuu@yah*5lQ$~8T+5R(&tR8J$rt@H(uewQ&iJYrEGUmc4%hg&MsrP z`lp*nw}~`C+G!Z_k4I5@SFVsf=nh8`C8&gqj2KX87rEE`%_-Aj_ZR!N(ixUK9U_sN zjmRolc^OK@RSGqc*SlY}<6WR?1+g0wQ>zO~zcUYS(5YgPAjWJU?cR|$9Y70}osK-B z&%}i!qaccm@h%Go}tkZtEu5WK2jW!l)qM--laWA~ip-*T=^DY}AQEM-Vl zjkN|zC9jJGQFB3nsA{lhIoO_@b;I;Az`wN&I;S|E&R@L|9{17`v0E4gxGqU|)VrhP zC=C*^_lYLII_UBr+YxVgi^KKMA>cB3!DaGa&LRA!mykD$xAU5D3Hg?62nRb&Yqcze zJT5jNxw=1tQNdtR;-@HluldV}X&ZEkojWa<89=Js@I4zR;8$~5_@4WBE$WMlpOKKE zg+SP##ur~q@Q>^fR$NKd5o&xlKWI$X9F4LXP8iIj{5a$;n2+Pvbk@mAI!^-Y?%LX6 zFpv(xfS!pjU)x7k*tY2wz9l7;(7Z15$3MX|`!1(5Q4K^HWJV8|AhD%#h%^^PB-##j z1f2YXEkOE;QOr4y;V4Cn${?fBc|_fsB+>Jw)wu)waIIqR;zuk03qwhKxoC(38a3qA9@*K)yw zCcVFBqwl;B)^)t>d-`M?A2w)NU63`I!}4V%Vssjr`py7)Xfr>LH5SyP4(%SYTRH1sShWL%4@PIj5I$e*5C&^#69pr27^(AH*j^V7vr)#&2Uf) zA0|PWw>`7zXHLcDh09bwM%Z|Moa2%7LI^-iNG2AU3mg;juGna+Gj=_AhrLY~2|%ah zQ1LNeeDKmF;uqAi-~?m$!GHpuz{>bvV*Zc;_Ghw{7$lzm zLH}2Gzfi6~ckf)Tr^ukVDfY~%^Re~3(&NRn+clx?PDV*u;n@4~)E5R+um#b_ASHmM z@rLt223)tZ<~(bftXb5 zls6_%wiR6I5))Kp1LxlB=$6@Nr>g4L{`18|2InGoGCAJh?bKpoexfQ*{9_NKc#9In zVy~7=LYM{qH;IcxIY^l=M43<3&Cy@v7t6^=E-n)h&F7{-3J-4y0mF(o5_nt+eNSZ^ z&&Z}kQhPoE*@v6fcP7}_-AuN@`kLGD!Km<2rvaEb@^;Czkh5fYV0cB{Fi^XMPj{{J0i-$rBE$^o@17N6R$VXK@mk1bWa0L8D+_vpK_n*rH)*c$k}q zhbP}wPXO2P{(aklu0N1q0{d*ZN)}<~x85vC;*i{NP|HCIIOYLS^ijjZMmQWU^DwV` ze7HI5*yeAB$2$R$7k6K`91FZSe`#?$ucn3#a8>1;w17KsmN9FY(ah3Q$}>>k4G?h6 zKvN{DaVrM~1{OzPWiTOk@9@skzd5xTIg_^2@szt{q132GF6DAyxBoNe zNYn-&bsA!P@Fk&CggPok>soPy%GAdHyaC2Hr*Nl?LxBtL-zE!8_U9e@KmU+GQsup7 zs`IxLg<~Z9BY6T+XL8^HIOud|2aM7d8s%edBfDy)D^f} zvtGQw38hjZq!dsg+XpG;R$m8-P6sK3N3scimpQPUkeGP)zU1}!*wfR5tzL#ENW{5~ zT}!LEqshd=vR$iKN-SVh&EOmC3-}3F(CoDR^zOdTN>PEHrDZ&#`C=Kc#Z=`o5k5IN zX-p?R2Q1|5NEHqd8=M2#lu(td1_X8j#7Fdqo-!0Ks4Go5R;~H#L46^oq(pSMnG2Pg znku{YVxV_)lwi3#&%!G0hyx*vA8QjJ$rxo!cWSQMToh52AFaPFSyHzyKk3%a;c)Y2 z``^+|u0XJ`&~TU7__hD-;t09IsXGUI_zM?W0Y}#d_q6)Do;EX`L2zzxWF%VtA<#s) zWjg?Te&VIe1V3dk*Z$YEH!*Wd3?uLiE&2KUrE7F&HiF2N{NZu46$QR-06$rjL6M>V z?q<6>Y94eCY|rL~%0MzxTtUICxUi70rH9A0UU(oAiE4p-=74QoryWB@MMZ0IaWQM` zNw=ft{73g@ax~+aqobny*V|W7QPR`FsX@~L+gDj*HIOGs=&a>$)Rp^)Lr8TIBf%R> zt(l&V{0b_GelAG+$zjb7P&;0W|C7!w$(ZiMoXcn#8t~kF2=#4FW+sX@BIKn|o3XYw z70M^Ty~OBgVp0-OtOjGWHD3xG128X+!L$woHC6BMGczSL!pnk>Xp4 zhZ(5T7`CgumV2m+(Dh2(rv|zS!j>z8(e2xEpuHUoICX1a=Z6)IUXRW}IygX|!3T8B zHb9?k9 zG4N}$F=jn&dC427_QiNt6j& z2@FZy_RXM#9tO2_y0EY?0byZP6O;SDuNQzi3YEmqA zl1G(5tpy@~>lOlb^!c^uI?@^NLE_iCaECSnY%0ToK7anlw`sP(fCBYnG=en4=k*)Y z31*G0dHe6oMOaKYIXRWP&Z!{&3Srk2^Zo9Sl9JM56&m>zwk1HL0ns;t5(O4kl;=CG zSm4&SuV8}(P#?=11uTG~2;rp9_dd-{U{IZY^$P3?DmBWgs>Ca+t5eb#oC*B%Zl8l1 zn0>?pxqVyIdA*)9->BE?zv;fqkYj|pmo)tCCRC7=Mbm77r+a93L+gP;Sr!iaoOgEJc7MEtjuJ7l%Ktu> zZG5iiX|k`VIp|LQLyb|h{Sn-Oq4S7xuCebz?CBPOUlN2;wRA3AU^?|?*L|}ik*A!~ zsHyhHxRW|6@ECOL#BR|qYXWWcN3A8d`B&T1jMv|12s&1p>gV(kfLM=N5j2>M>4dE> z8yQ6b-)pq7sj1MDAxHg!fyfH`ZiWN6CuAeE1`@%*gYX?wriUYFobW%9lC>AoFnzew z|Fh-)KmVXljqFUUlJ?Y4QYBGtfXd!l4Lrs!XG&NQdUAa}{e$I)PAl zheRLOYD^bQ5a`=OmMl2#GOtx5Ln9+@Ny!1H$6(Rfk7<@|;2P*c8tFsyA;jJ~hJEap#-?F(uHISQODP!ctM=uCElo=R@;n8*^( z&@C82Hjx7{r{QAO80c9S@CU{Kg3V{}a4pav0s;lDP;$+N1}YF1yE_sHJ`Jy{8@G>w z^hFZ^TKELoetemU2L>cm1MHS)6nL<&ql>UZ!)xR-*scM=G2l9&kJ;|!1T+;+TBhB* zX9F{VFw46w^&a2;0kh74%yKI|GG-JqW;haJoKNPz?Q8~6PH55v*|pi}A7DglAlmBV z41saAx6(z!~3T=&)!VrmNvyPYBl7aCT z%P(Z<%>uW#>ZMDJ2<*K%g3cDgDRK7WFeoIdVNgQz914ZcGbmj|xYJ=BfE;D{J|sji zOov1L{4sG8nY+h5h$uAxvzt%P_=jA7bQ^<^bg$3C$$&c)c@7Q#p*x-i#%@BVZ2ID|UD_tO7g|8PJ@Sj(QQ TjCk0Eg3oz%U9}PwtKk0vt}YDB literal 0 HcmV?d00001 diff --git a/sphinx_docs/source/subch_approx.png b/sphinx_docs/source/subch_approx.png deleted file mode 100644 index 1fa79a0ac026ca4ddde01b6711c2c54b62b86b60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92928 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

AnvILt$-fAM=reYY>V~fxqc>F@I4IM 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 CI$Lc2KaGfVUFUXy^x`OLKDrex1t&qBT|L_ zLZl(pw_Uo73yxpjJoC5UdnuQn86QI5b4&9jQDe(L526j~i0Z(J z1|cK07}PAo1diaJa4%DU`=Uu9*pu~Igl>a|d?!CRj}c~2CU-!L@{dH5Y9f3hz`AhY zxTV;%ta&2mB)*EBm1k`7S9NC^?TF4ABYA++;KYGn^%*+2x(Fo*kRJ5C}eg{LXK;DC4C>P+n}85)#m+WROId6J(aO)jkZX;ni3o zB_(!|i=UJ+Qu6H*^XB@>w+z71w?V*(U%2$IHqx=3RYw4 z%EwdO)_6vz!+UW)Oulk}1ww0)W+LV{HiiP5m~Tov2U~`w4hOcjUO&Q%Up65d$B;8Rxa?hEjU4#-K42S)9wC^Plc%bFkyn8BL7nVZaeczo3M9KTjf3sy zzb(7#&Ck1?&<|-9ToUJ9&%LQjq?ilQilxWnTqQTNRfJ1GV)03T7Y1Xgu%GAS|?dreKAFDu4R3I>wJ;&7w!Nb}8i#_K?9(a#K&0v7QyHY2c zLmgg>%x&&(M|{Y4H{rJ+;OEV!^%7cxV z3N&;zd)vy0 zW$;O45K2%DSClls+bW$ge!e&PvQL;*W%T?bBzzktpgE)3yXvOKoTfh5Ru}8K5bk$y zJK6th0+|Szr?T}HPFHJrIN6_(Lti6&Ggr9&FKttz9c-rXT5oR)7tQ|=e)H(t8&8oX zM@68RK{tBQmE`ohJ=nVbkwO~!h6vx0$w=5df=%~fd@=L9%gf;Tr+!}>wj#P|=cf$H zN^60Nnrvfk+{-)|ff6v+2e7s3*=OFIsPx&pmHvKvWzB6q-ollPcz$}*vLvoTXl zLjLIqMD>F@-mm&LMJMAIukpNtJ&VoyU-4o@H@EiKws^gS&+xyO?S7fMAhGohk*a#u%{a}AI)k>&Px_;gE(y=yjq%}vcPY1$gYeQMaX>%XPR zT)lTn$4=wMg6#V6h3i(urC0ZGfOOnpTIE;QBuc3jeR$g#XLw%WXH7|zZdFx|nyg15 z?my^kpUiNF&3-jBK|StoeT4H=cOPnKrA|=d=u}=@5Z(ILPrY8iExRCEuV~O(9dhDe z?j;;Fpm}YPTD8o7F_wLp(V*|bmcoN2;_%|r&6l8Wo+^FTL(DO;6Cy- z-Obgh(t=?dM=lH~D+&iceUtc-*q>ntd>VYK*iw zG~PuoR}jTNJ%x53oA}XgKA6_F|IC7?;mQc)9}+?4aeETif=AcV*k@_$?ZP$>B1V)8 zh%WO*3bJ`~Rf*hESEtlnKSRys9audL&}9Eao(Rnhs|+eWi^7+D*j*aS<{pd@ z(c8E7X&xR!N1Z|F3Mt5=>nlRae?6t=IQKcoA7*y#Zij)8mxL4^$s}yP1&UvNO8oUi zV~b3^t~@VJB}>a+h}=T1y$bWYQp9|#Km5o_(?;^JQlGXES#B1UR7z00L&))!C18H^ zGD+sh(1S#=rt&a?PBoN6=FAf~@hR0sj5C$RsNCm+R|#Ila&6Z<(t+wsA+ZCo%=Ui7 z^Wb&X_YGzqkgu2m?I_o*3Yz?;pOrLpcxUPhlH>KPHtBY`$I#}l@m=i*gldc&MU6wx zo5tL$5B!YlAZv}CBP0RgN7Ji+cU4d95}G!Vp&sXZD{CdL0+;!CetaDd&;WP7)m1>`erosP~`jL}c`TU=yeo*yQ`=bMwrod2xQVUyOU$4UPKO|%Z}3D+tQ zR;Pg@A?jyUs3LC3xBfruE|1=zJb*lWJp1SYo@Oi!wLu^f<>%ci#Arq|E#;%Ftg*q} zOV?8>wcMe+tCZrCFGu6KimA$w^%%72r|(`o3#{jDkXuOB$-!GvOQ|a!3(OPo{LOug zJgl_>vSPTg66>TfR=|G`+KUfx0v&$$xcOt-BZ13iI2~fj;7TlBS-p$O_n6Xf|FHe)YoSsN{Q)J!^|&KTHz?9mxPe-Jg=B`jpM2V z$##B+n^E#47yk&F#N#MiOkAQL=NzrT=-nK9x=Ey+CAzSoS-ieQB)fb&jJ zY2VE1Wm}dky4kh~1LfQa%@mWKs$A{T%vf|vdeghB;o&qm;#e4QfOAJ*3)M0Xw8{NU zxkR_A5gxDOoLFr+o0+GQ8)b{?E3k8eF}z#(dM#T}4@PZ9Gpx10AC+xWqt;AY1wN%F zLv@Z@-EoT>Yq^~D894bc)N!Req@>tZU0Q2cu5&ye80I0gTP-TkbbO+d%G`AG^K}2? z_NBMPCNS-rE6(@p`iLrlE>B@K--uQz3MqiNn% z5Sx(@hOyP9#8M6I0X4B)~eI;@~UH!@D!FSym|8# z4Xv-7uRC1r*uw*&4EPJoWqoV3fad9_h5*0Qmc( zF$^lFzyTp2HEr6yKfM}HN2prZJ!r|^@z;bDJBS2zp$&w5@d)Arfb8wRLDb0ltKG48 z+Uuon&(aP!O#eU#o|dqkUJI;L>I7zeqswB#W_{(VYJSG1tee4ISuoKUc?yqUoHBb( z=|7WA<<`6rc)~b^ayL&Gfknhl%txysY<=vZjCvMR7p(Kisi{S}P40OXdSeyZP!eTOF&ocGJ-JrMRZ++tXDfS%bY0NFV%2jh zl*KhqnaX@BY)z;f&y=+g$jC}(lmxB6_9|aW$YE$_H$O{~<(1X87pj=&-D71E^_H=3 z$lfLzi;~9!&xT@W*HlfL7k>P+@4*T2$WyB1zGVg}+a{;MC#zz)jf^$j)YB+2?uPd| zXNY#*$jAtfghacjUQ<(ZXR)b4zEw-B&tP z*juMQ_URY$vsZqs5tbz; zkyf#!i!zavYS*5WErr63A3|V0h0&ees!OBqpBfCtY}L!%y*!_iI}ciPQ~iNTdm;+95zMtVpt z`(A%k1L=usf3*w+OFVh=Xa#j|X1Y+n(Y&p{k>QAWC$2@j80eYc|h#$fgd=z)nKl|pB2@>$4!$| zWjooEtP@f4X>SkC;$`Xj(}ats3Ery&zW3Q?W4V?VNITF}*u3h`MiC9%`Ct(DjBIFZ zr(I7bikJ^OX3so3>o88{nN9XZsp@Q4OELA=)0?dH}4hDBhqYim&LEplE|GeFxA z)vlfA(>ETB5mY>R(LB3)X}AOE{l)#PFpn(t=AStj#gpuJ^RXQD;_xZVADzG)e!f4~ z?9~tz73CS8NUJ!8>??K-E6GYfcg5brfyV9yRIdHvK9V(?n%hZjFT%DlbRS$9rjd@M z#GLHdkZ$P?e63Q*rFkZ9xZ{cKy?dkvDOCB4|K)6D8281PSn3+IIFb)x8gyF2_0bDX zsX}~Je7Yq+R_m?&M`zAO?h2}IHXMoFnPL}CD8)!P^D}>xn?Yu5FN3qjT$YQuWM9e&6qLrZ}(qE?9q_ zU~%2@^E*0`Ao>ZPvuUKe!^u<}9V_h}9Pse)jGg$9p8vd(D@Rb~7!-fo@q+(6v4)h^ z;jYOk7gA}K4Snw96ZRqD!~R^bkvQE6eMQDJS2CZ8ETHi-uPN7CNddt_Mn9vr@9;LT z%c2AC_74|q9muMrxCkcinQzIdrf>nzpzh?4#@&_sSXdE6TGc4`6YRMA_UHu}%X~?@ zKYt(pS%Lkr&uH3pk$rOKq{wiH)#k*GaFD&*)VyAWL?6@7V)NC+eS}d?%v7ec;T<8q zveFA_JdcsYSQs23OmsfU_QziFUpPLixW12hB~DDwnf3LR1TiCLRkaMP*FQ9Pz zeRbWV$PlRFj~DKvkkTY=8Uc+`DOB`xRX%)^kPn}~AWH^Jur;xrHNj|s|3&H?zh^oh zeGIma{ZmQ}I@OKwaq9~wpqLtM^AgZ<6sz+`jnVczY{cG;e<_(K;%0T-$VcfZ7=_PC(JMWU5S87bFRbI~A8O*&o+MT7}xfEeo$&#aSn^k{vd?t}dYAIWU7CUK>y&h4T*=Gn6|~=xfHd*&o(5CGfE__>)uqT^JZBBkQNi=M zGSjHT6Rm!7WQ;c+S?p5Qu^MFdD41mOF(2t{ED|nn0rO1Q?kvWbPGmk~ z*}vzxKW=xv3w^gWx*DLy%7)fuB9e3RfHhFS^@uv8lMU~+!Y`O%Ru0lE#CF+U8i$*d ziCaG7w=}Sy`Gi)*zfoGZUh2XpzQ? zEO+njt`9T-ry+r!x@eHSS@@B`numTMrSsp{`<3^5A=`(9bZv4mIHr9YserHLaAO-t z_c&%HZ9;hd-s^s%3mlN1Gx=r$<^Q30|MOpbk=lX0;@|7y0l-OruWMgGsQzBwVr^vq z-iy9mdG`0cFU3!Q-2YrHSnq4^*Ae)28TCJI=-nrW$ahry=lVY$|FUBTX$Nhb``#o} z2;lzxj<5gDWC2|}`%nYfQVkuV1rD48+}zD!G(-E& zOoD=NKTw_TEt#ORTyJl0-@riQuU1S||0DmTjtg;lL(dFaj^+>1gnECZL)j*%y9ms& z*9xG90dUFkSxXrinQ{RP)mMy+!C0gdg!dn!zYh9;``eP`Rtc5+nFmJmf2V9h6YwF| zy27Hzw<`s3A5s2)KdAkGKgi_&-_!vsvy%esobs)})xcCJtE$F~jg4{pAUq4&#h>@~ z^^GB83H?e)AoLFmEbxM#Yc)6*O&U->ArL^!cym z%T1EAeXx2M32&SM;niNnaAP;{*-Ryk$||`ERm{4N!k^;MZp~Sg zr~!LGTndU3@0%;L{x}v9CzHXX?9)@n&aSRLc8nrD&|09}v$ zDy=Y_uXzG%y8}KRsowG_e52*Hb_VZje-BB^$c*XTUa1#pR=l&ADjb#PUC0uI)=H4@ zT2~5iKl(}~75+yyo)rxfbMpG~YKY#y)}v$4_<qToc{4x%%(R+Q!`>?HZthlISyI?lNQ??F>f26WpBj4-BkjdD(TI`1B>rY zMjG(%+14-B@msn}0}IW|%Zm;RJ|3Ntg2yc~>_5Jct6A(ZCJs+h2^1#+Ei29p_r7a+ z-)D}d&WYYKGTywQtY>AacG{DMrPx!7OjT7>a>?*}5kB*4p&Xw+rQZ~Qx%C0{>v5)_ftJ3W3tWk|;u5;b2a*CCL_mp0lO?$aB zO}@fqfL?m|m#U94^`)hyo~%WRqnzxd?A2W>&51j+}lS8dFv zY?5&PRhK@v-bh00=%n#V*_@S>)Uvm?M~B@zehx0n#4<=KtTiUa-@i`YbM&P*-M0mT ze*2@xkM-gC#l`1R+#y!2+hPq5@ksDPe!0ML&wQfMC05KZZF$+p)a~uTBQkg5m!=0? zus7NF%l5n8gA1zj3kt*%vU1-(=5ZYFDOAwCowij|texG6ce(idLs5-@=1G=YWm4E*cm&6SQ;u(K*E54S=L zVgo|3ME>134O`>zv;LZyB?q-JTzS}TW zX1>D*L+;3Y|JrF>jlyU0IfniY9 z&>$m&zPUV@Mx1TtGpcsaMCOo0(hHbxm&L&!usw^9&oOqce#@BIcU<|&;Z%XZWkB}zoF+0Iplm~i`lXC|%WD6D12Kt-NYXciWo!}{SfA`SC8v@6n<3S-o{>HzhKK}4$Ho;A*ew|N9Wi5 z`_umVYu{vFg<8;ZlK`pQURTXZ`Ag2n5sb2OD1zrwuZ8vC{Aajrs!kqAe1g$-XTaDP0G%H=Gl^TzEB+=^X zPvDUU{PLbR6A}_s)zy&_Sq1%txO{IjpR{I8pbmT0ia*}_=c|hv;m~kc2t84!)#6EP z4f2%bBNy$oL(B&=va=mKUtYnDriMAl8EsFTUs=a7Y2M@#s~Z)Llp?g%{ms8%9_IT! zI&!_I>8hHVJ+nhC(pJqJ;)bQaBUzZ7D#-o>GIElFcaQnT91qQJnrKACRb**AM@SH) z{ouyn9eZylW*Jr9$%Rzt2+P-@xAgQTTgwhPx3BjrT?VFT10_~rJ$Q3`C?{W@+fZ}O zNV4AoM8f!E$$D*Ahf7m5(HKRa_k*qmhvl|i(I3jUXbQ#6zU9F}V@1!OzXchO7cc=^z>o(>QgFV+yXsQwAz@YBykn`dzsz4cdOpKS$qyh!a`AoPuDtl z=FhgJ4jT|+~fpDT=) zhsT!gKi~fSb;w>MC4GYeDoZW5w~|lNEYr_Ne=oQ1F5udI#q#@ygzwgIrZ)0NxugUI zU-_@kwzPxPFycS7jRfJRp#mSqs<`~J+Nvc&HB#jQkEGch>?k{%emFi_NGlQLw{&sn z>(>vRo!U~TPrvn_d9|yZR_krdFSG4;{UNx_SV~B!<>-am4|=QItfa)mKHTXo&0GOt zlITpJGCFUyBuzF10PSb?Bq#>pGO^9!e75!zIcuOIK0ZrKbl6}`2jR(=eu>XhsHX?6 zIdu=a&u%{b>Ek(+?EmOmlkLY6|664KN5b}>>t+cHH#fHn9OY*mw|?N=ob{ z@>^23=d7^sr;(H(v#}D>TCcIeFag*aIJ2d_^`b2jv+S{3mV*)T;e$GMvQNLaw>MGB zHlnM$yO0Y()$HtI!iXSm6crU!gTX|Yn@vZuMk&(cOWZ$xsTB1Lpe)3VsFaj$O5kcP zjydIoy$R1yQWD&HFC{1^H(z>$!6m zzF{LTh&66r!&;*L-HMwZwk(2#1wg(|s3ZlDzU(1d7!-U8SrF0EKRxC}975x1#+O(3 zYT$Lst=kR-KmgT@7u7;=!SC4Z{(hA!VO;!O;)MP*5Ex_Wk%~H-8?3+I$mfUAfoHSj zpnQFOS0`P9^0DJR_E3~oY14ridm>a>C|X%PL&&&nJGkX_zU-f0q?qU5h&(n@Ap1un zTfp3Vp^E*8ciPACua4%oiwBXHM!x=EIiPv6Pvv;q4j&9AX zDveZ`u)sQaXv;u%wP)lotLuIBcp@- zklW?xW3|-mQ{h@X%4(%Pw`S$c z1SZ;6n;BLcPW?8=Ta@L(7gKTmNvY@&<(0Y8%IvmqsiF~aNhf3Hsh0C3loC^!x(=Ni!)-KcinifVnI`et!P=nJ^hOEY(7~l-$`s0_w|Zijz)9eU zaiXeH`_wx8R$su=p0_3uJgLrAM7Pgv6k%e7teHzdw{Z)hUbuEJ)-ejxLve=889q zqH*tLmXURPE6w3a6_?dsvnD7Ck@wel%|&u5_fH+HZ0n2FipQWE#0JfLEm<#iGo{)j zj}JO`8@6^lb-i3xXZf1w|8-@3|5T;wfhn61r!^oilc9#OqcU)(n9x+|DR09I{bDr9 z#}ujVV2L%dC z;`mwgQ;zPlw6YkgOolr()Ls;0=1iT;wK^=*QE%HaFM`UpHMef@XT&JPS?Kl4v{h;} z{iUv77i!@Xp^`i_Tx5GB^c(suF0}QdqbR|&sDJ*@VY+j?;_z@^PJvn}Z{E6iflakW zj9C+3nQXI%6JJbhikq=$CB={t6FGR4qF6SWfc1~ajatg9WAzq^Hx+0%%q`g%UKXiK z`EFQ*K|9APL{7U(2T*eg!Y!Veemd707gvEYb$;Q7a`CmNx;L3-5yD;8=7zKV9B;bE zi4ycnoubETgPOg1XB5@=V)DWwv>|&;>WX+#_o(+h5wY&?`BvYdArd z4;`Z|y~!zM7B2);@bl{jE{~*3Q&L@!($|B3WR{~`Vf*** zFTXR*qw|pb2_6@Q^ura_gkW2xedpD?zc~f~PZxRdBZ*ab5kVdZ%gGsnL~%2y|mS^sDQ zV$-C{$4+D`K;fVN6JTk#TuRae+@T4(ehh7g9V||>I34rrLD2lhe?c>#eE%8Mx+|Xn zrR4%g)5zinsg7k*FVT;%x-^;p-~l_34F@PfB4T3YVm3i%&z{u=3kYBX1mv`bn8B*w z+9W~r^y%vs78W3kNiVP5gQ7gCD`c=*<1wO%ntONBp{F1Lhz;Txpvgs7&4V)=q88@b zB=bSu@8RagfTt2IJfO}(ybQU(Pzp*yE{tXCyLZL%r(lTX1%bA~*B8h2G`7l;*!iOCd7@z-JYdql#0lM*`&&1GHaVqoJ41A)fv&t)lEmsuI0dxgP_N1xG% z3NC1f(lao~*N2?{p3sdPN#Ykg|1H82yApnx3h~Lj>)>pw$urH&$#jGcpX| z)C1eyOpfl08u|C22X}7(Liw8o)N~Eak92IY3J^g^JEJaw)aT^A@cSBb8l$JDCw{|! z_IpPP9)t^X6<`*YtdFs$)nFY4>WNH);zee8wZ}*vkOUE!6+1gSZKi(I8O;|t0M{5` z_+o;W>Gg2=_z@JYJmMINp?gf7Mch~&$F@sT>=>k6dMN_9VDP)|?>-T8?HbqtRebOHc{3#S`q5BcoJ1}rC`Go+jd?I%ko42hE z$C+QWZv7RQMZfW(53EA<;squMI1ypt+|D@V@FP3)F2i&=>_O_?-6KnI5&-S9kCA`} zgL^Zo`3Y}&k!daBW#K454jnfxPF$O+1v>K=(?8TguL{ImOssKg4J+w_^`i)Wg)G~Y zfXdc+^6*A-2QelCY>NX-qfwP>>V#MAPVQp`bE3cX4A(QZt%|CE5(b7Gx5}KxgMVE; zy0>`)oms?W`oG}yc)0}2xp81CH7IfNowvNdljE?qbrRS=w9&@%fpz7m@_;q3w{PB@ zgaH;z7ZVoXF_%x?Dv#!<{(P2;dfC$9s1L$a=2W_(C2L|Segp!hy zN8#b*gBX)kBs2g$GlrStE$%ge(cX#(X>%BY@&$`F-fDy0`FNWkh2MzcP zaS|80)aa~^_~Cz=*bg~ybVB{x)AbRkn@IFi?0=? z>yQ@}k(MSiW*}I_-f|$pD*t-S(*Xt!IWChC9J~!N;-8Bx;L_&oIxK`+{ra353a)cz zbY(txiGm?%0hQ6N&ajX*Jjf&;@!7c@jD#*&ctssWwBictJl?ia>A~ zC<3k^DlGhd|V9S0?1<%prDn@laC2&6CkRFQ&Y0`7FQ!rfMvYDKm z9Ps0CK+87}6L)vZHbJxhK5eu09sJWM_aE%a{O>}_;H5DE{7co4uo)SWW1T4W>3Rq%&%x^i4d=*G{xxb%SYTbK2IO#HA3Ihb67bp+U1;Y>3E z##5wi3n!BpR01B(<={TKNjvrF;fYIqz68IGm91L(Zqm!#6FDiP5%_0_DKgt(WCWiQ{7NI%PpFAavr&O6Vf&wU1&61i12NQOAIhY)Odw@w;oix z@P(mrr0@ajH7fq&O1K%~re=h;wyN&FMK~5<$9#adNO7H}6DypkGAZ)Yb@LHX(a{Hw z9V>#+(FJmWhTKnVc`oCWhv30`ySUMwo}QT$-^mIJDg6dFYHgy-ft(kU9I#|a1B{|5 z)j0yy2$)-DW~Of&@Z}Rt=gR+hwGBxmuzLh(ZWZ#XCtTzVpjR1!mIO&VA8d6WwFrhD zIvWS66SgmJ9}Z=Ho*Qn%4u#9M4!a|wDP1{S2SScnMRUfaCH;{ER6mFrjO|rqCPBAR8 z48bi;jOoTECl?L3#rZKCV6zAsoZGdeg<5=eMm_!|xba*_In0H~jyLUvpLn^OQ0X98@!B4zuLRBGLJ5h!NLI6R02`EqGG z5b+u4-9MS%i8vllN4IuzH`0rFGe#2cyB+Xc1qEjlU# zKJ)QvTbv|?$K2n|jM7)@jXxso@J+WT=hn$dS}mov0R$H4hN`Zmp_WKYpW|UI_iT8v;B!1Lofpt_`J^!WLb{on9S?pQuw#y`|S-D3Y{l zrI`8o>!lJRrjbN{L!i8}g8^Amw)G>!!(+MG$vQBy`VD~r*OiqW=D)Yod8cg4ye5r^ z5bqE#3-thi0Hjt}wQ#wh;@VDw9t#c*-pde$ch{!IZ!sN%cNg2sVpBBlrzHG}&okAB zF8SM(sda%e3$P)!G&eKeJv|vy8TsJBOs{}~SHU4MgO|`HB#*jRn;@_gbew_pQGo5B zP;#Ky>kk^Jsy^~wn;C3^6%*GsoaZF~-DVR#--MX1Vq`}_-^8QxK(tig(RN=Z0(6SEvFpcIJ+_l43j3Y#iM@T1n;`a_}QP5`8f&>=gR65MbMW&xm*A4LZC}7TwSY+;}uAbI(kVP=w-Gh=-EX8V`l-=?czT6Y)f$&!J<1BwC;v%ht@{0 zU^)W&Y;NDy^Le*5k8#K`1E^Or0jr+aiO;tPG_U8NF#uXa-?M?Ds_4W?m@f1fyV%ct zd+$IgN~&LFh{8r>)@!42VDQ?2(aIrc5XuI5{2naYAr!sZ!xjqFHQ=Zi*i2ZY`%NRD zPI0^ixH%ctd-TR4J}60Qs$r8g?a=x1Ph0%O{~%Y-+G! zsSZb>(J_dfm~jk+ zJA2~9Rm2#;-Vk1P0R9fUh@7n@01eTA_k}%yqNk28)L=6(*?&$&tq4>*o5|T9KJTY5 z&}%YmJ9w@yyP10RS|5>f&j{rfaK;)SEo=QzfRJzR3e0rsA>SZh|G&>l{O?s6X~F-U bSZ{KhzOnu4Bha~Z#6;z~=I=#U{|NpsZFCX7 literal 0 HcmV?d00001 diff --git a/networks/CNO_He_burn/CNO_He_burn.py b/networks/CNO_He_burn/CNO_He_burn.py new file mode 100644 index 0000000000..945d1d69d0 --- /dev/null +++ b/networks/CNO_He_burn/CNO_He_burn.py @@ -0,0 +1,123 @@ +# a blend of CNO_extras and subch_simple + +import pynucastro as pyna +from pynucastro.networks import AmrexAstroCxxNetwork + +DO_DERIVED_RATES = False + +def get_library(): + + reaclib_lib = pyna.ReacLibLibrary() + + all_reactants = ["h1", "he4", + "c12", "c13", + "n13", "n14", "n15", + "o14", "o15", "o16", "o17", "o18", + "f17", "f18", "f19", + "ne18", "ne19", "ne20", "ne21", + "na22", "na23", + "mg22", "mg24", + "al27", "si28", "p31", "s32", + "cl35", "ar36", "k39", "ca40", + "sc43", "ti44", "v47", "cr48", + "mn51", "fe52", "co55", "ni56"] + + subch = reaclib_lib.linking_nuclei(all_reactants) + + # in this list, we have the reactants, the actual reactants, + # and modified products that we will use instead + other_rates = [("c12(c12,n)mg23", "mg24"), + ("o16(o16,n)s31", "s32"), + ("o16(c12,n)si27", "si28")] + + for r, mp in other_rates: + _r = reaclib_lib.get_rate_by_name(r) + _r.modify_products(mp) + subch += pyna.Library(rates=[_r]) + + # finally, the aprox nets don't include the reverse rates for + # C12+C12, C12+O16, and O16+O16, so remove those + + for r in subch.get_rates(): + if sorted(r.products) in [[pyna.Nucleus("c12"), pyna.Nucleus("c12")], + [pyna.Nucleus("c12"), pyna.Nucleus("o16")], + [pyna.Nucleus("o16"), pyna.Nucleus("o16")]]: + subch.remove_rate(r) + + # C12+Ne20 and reverse + # (a,g) links between Na23 and Al27 + # (a,g) links between Al27 and P31 + + rates_to_remove = ["p31(p,c12)ne20", + "si28(a,c12)ne20", + "ne20(c12,p)p31", + "ne20(c12,a)si28", + "na23(a,g)al27", + "al27(g,a)na23", + "al27(a,g)p31", + "p31(g,a)al27"] + + for r in rates_to_remove: + print("removing: ", r) + _r = subch.get_rate_by_name(r) + subch.remove_rate(_r) + + if DO_DERIVED_RATES: + rates_to_derive = [] + for r in subch.get_rates(): + if r.reverse: + # this rate was computed using detailed balance, regardless + # of whether Q < 0 or not. We want to remove it and then + # recompute it + rates_to_derive.append(r) + + # now for each of those derived rates, look to see if the pair exists + + for r in rates_to_derive: + fr = subch.get_rate_by_nuclei(r.products, r.reactants) + if fr: + print(f"modifying {r} from {fr}") + subch.remove_rate(r) + d = pyna.DerivedRate(rate=fr, compute_Q=False, use_pf=True) + subch.add_rate(d) + + return subch + +def doit(): + + subch = get_library() + + # these are the rates that we are going to allow to be optionally + # zeroed + r1 = subch.get_rate_by_name("c12(p,g)n13") + r2 = subch.get_rate_by_name("n13(he4,p)o16") + + net = AmrexAstroCxxNetwork(libraries=[subch], symmetric_screening=True, disable_rate_params=[r1, r2]) + net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47", "mn51", "co55"]) + net.remove_nuclei(["cl35", "k39", "sc43", "v47", "mn51", "co55"]) + + # finally, the aprox nets don't include the reverse rates for + # C12+C12, C12+O16, and O16+O16, so remove those + + print(f"number of nuclei: {len(net.unique_nuclei)}") + print(f"number of rates: {len(net.rates)}") + + comp = pyna.Composition(net.get_nuclei()) + comp.set_all(0.1) + comp.set_nuc("he4", 0.95) + comp.normalize() + + rho = 1.e6 + T = 1.e9 + + net.plot(rho, T, comp, outfile="CNO_He_burn.png", + rotated=True, hide_xalpha=True, curved_edges=True, + size=(1500, 450), + node_size=500, node_font_size=11, node_color="#337dff", node_shape="s", + Z_range=(1,29)) + + net.write_network() + + +if __name__ == "__main__": + doit() diff --git a/networks/CNO_He_burn/Make.package b/networks/CNO_He_burn/Make.package new file mode 100644 index 0000000000..39c65eca7b --- /dev/null +++ b/networks/CNO_He_burn/Make.package @@ -0,0 +1,14 @@ +CEXE_headers += network_properties.H + +ifeq ($(USE_REACT),TRUE) + CEXE_sources += actual_network_data.cpp + CEXE_headers += actual_network.H + CEXE_headers += tfactors.H + CEXE_headers += partition_functions.H + CEXE_headers += actual_rhs.H + CEXE_headers += reaclib_rates.H + CEXE_headers += table_rates.H + CEXE_sources += table_rates_data.cpp + USE_SCREENING = TRUE + USE_NEUTRINOS = TRUE +endif diff --git a/networks/CNO_He_burn/_parameters b/networks/CNO_He_burn/_parameters new file mode 100644 index 0000000000..e98e970b5e --- /dev/null +++ b/networks/CNO_He_burn/_parameters @@ -0,0 +1,4 @@ +@namespace: network + +disable_p_C12_to_N13 int 0 +disable_He4_N13_to_p_O16 int 0 diff --git a/networks/CNO_He_burn/actual_network.H b/networks/CNO_He_burn/actual_network.H new file mode 100644 index 0000000000..a4c922e623 --- /dev/null +++ b/networks/CNO_He_burn/actual_network.H @@ -0,0 +1,518 @@ +#ifndef actual_network_H +#define actual_network_H + +#include +#include +#include + +#include +#include + +using namespace amrex; + +void actual_network_init(); + +const std::string network_name = "pynucastro-cxx"; + +namespace network +{ + + template + AMREX_GPU_HOST_DEVICE AMREX_INLINE + constexpr amrex::Real bion () { + using namespace Species; + + static_assert(spec >= 1 && spec <= NumSpec); + + // Set the binding energy of the element + + if constexpr (spec == H1) { + return 0.0_rt; + } + else if constexpr (spec == He4) { + return 28.29566_rt; + } + else if constexpr (spec == C12) { + return 92.16172800000001_rt; + } + else if constexpr (spec == C13) { + return 97.108037_rt; + } + else if constexpr (spec == N13) { + return 94.105219_rt; + } + else if constexpr (spec == N14) { + return 104.65859599999999_rt; + } + else if constexpr (spec == N15) { + return 115.4919_rt; + } + else if constexpr (spec == O14) { + return 98.731892_rt; + } + else if constexpr (spec == O15) { + return 111.95538_rt; + } + else if constexpr (spec == O16) { + return 127.619296_rt; + } + else if constexpr (spec == O17) { + return 131.76237600000002_rt; + } + else if constexpr (spec == O18) { + return 139.807746_rt; + } + else if constexpr (spec == F17) { + return 128.21957600000002_rt; + } + else if constexpr (spec == F18) { + return 137.369484_rt; + } + else if constexpr (spec == F19) { + return 147.801342_rt; + } + else if constexpr (spec == Ne18) { + return 132.142626_rt; + } + else if constexpr (spec == Ne19) { + return 143.779517_rt; + } + else if constexpr (spec == Ne20) { + return 160.6448_rt; + } + else if constexpr (spec == Ne21) { + return 167.405973_rt; + } + else if constexpr (spec == Na22) { + return 174.144674_rt; + } + else if constexpr (spec == Na23) { + return 186.56433900000002_rt; + } + else if constexpr (spec == Mg22) { + return 168.58074200000001_rt; + } + else if constexpr (spec == Mg24) { + return 198.25701600000002_rt; + } + else if constexpr (spec == Al27) { + return 224.951931_rt; + } + else if constexpr (spec == Si28) { + return 236.536832_rt; + } + else if constexpr (spec == P31) { + return 262.91617699999995_rt; + } + else if constexpr (spec == S32) { + return 271.78012800000005_rt; + } + else if constexpr (spec == Ar36) { + return 306.716724_rt; + } + else if constexpr (spec == Ca40) { + return 342.05212000000006_rt; + } + else if constexpr (spec == Ti44) { + return 375.47488000000004_rt; + } + else if constexpr (spec == Cr48) { + return 411.46891200000005_rt; + } + else if constexpr (spec == Fe52) { + return 447.697848_rt; + } + else if constexpr (spec == Ni56) { + return 483.995624_rt; + } + + + // Return zero if we don't recognize the species. + return 0.0_rt; + } + + template + AMREX_GPU_HOST_DEVICE AMREX_INLINE + constexpr amrex::Real mion () { + static_assert(spec >= 1 && spec <= NumSpec); + + constexpr amrex::Real A = NetworkProperties::aion(spec); + constexpr amrex::Real Z = NetworkProperties::zion(spec); + + return (A - Z) * C::Legacy::m_n + Z * (C::Legacy::m_p + C::Legacy::m_e) - bion() * C::Legacy::MeV2gr; + } + + // Legacy (non-templated) interfaces + + AMREX_GPU_HOST_DEVICE AMREX_INLINE + amrex::Real bion (int spec) { + using namespace Species; + + amrex::Real b = 0.0_rt; + + // Set the binding energy of the element + constexpr_for<1, NumSpec+1>([&] (auto n) { + if (n == spec) { + b = bion(); + } + }); + + return b; + } + + AMREX_GPU_HOST_DEVICE AMREX_INLINE + amrex::Real mion (int spec) { + using namespace Species; + + amrex::Real m = 0.0_rt; + + constexpr_for<1, NumSpec+1>([&] (auto n) { + if (n == spec) { + m = mion(); + } + }); + + return m; + } +} + +namespace Rates +{ + + enum NetworkRates + { + k_N13_to_C13_weak_wc12 = 1, + k_O14_to_N14_weak_wc12 = 2, + k_O15_to_N15_weak_wc12 = 3, + k_F17_to_O17_weak_wc12 = 4, + k_F18_to_O18_weak_wc12 = 5, + k_Ne18_to_F18_weak_wc12 = 6, + k_Ne19_to_F19_weak_wc12 = 7, + k_Mg22_to_Na22_weak_wc12 = 8, + k_N13_to_p_C12 = 9, + k_N14_to_p_C13 = 10, + k_O14_to_p_N13 = 11, + k_O15_to_p_N14 = 12, + k_O16_to_p_N15 = 13, + k_O16_to_He4_C12 = 14, + k_F17_to_p_O16 = 15, + k_F18_to_p_O17 = 16, + k_F18_to_He4_N14 = 17, + k_F19_to_p_O18 = 18, + k_F19_to_He4_N15 = 19, + k_Ne18_to_p_F17 = 20, + k_Ne18_to_He4_O14 = 21, + k_Ne19_to_p_F18 = 22, + k_Ne19_to_He4_O15 = 23, + k_Ne20_to_p_F19 = 24, + k_Ne20_to_He4_O16 = 25, + k_Ne21_to_He4_O17 = 26, + k_Na22_to_p_Ne21 = 27, + k_Na22_to_He4_F18 = 28, + k_Na23_to_He4_F19 = 29, + k_Mg22_to_He4_Ne18 = 30, + k_Mg24_to_p_Na23 = 31, + k_Mg24_to_He4_Ne20 = 32, + k_Si28_to_p_Al27 = 33, + k_Si28_to_He4_Mg24 = 34, + k_S32_to_p_P31 = 35, + k_S32_to_He4_Si28 = 36, + k_C12_to_He4_He4_He4 = 37, + k_p_C12_to_N13 = 38, + k_He4_C12_to_O16 = 39, + k_p_C13_to_N14 = 40, + k_p_N13_to_O14 = 41, + k_p_N14_to_O15 = 42, + k_He4_N14_to_F18 = 43, + k_p_N15_to_O16 = 44, + k_He4_N15_to_F19 = 45, + k_He4_O14_to_Ne18 = 46, + k_He4_O15_to_Ne19 = 47, + k_p_O16_to_F17 = 48, + k_He4_O16_to_Ne20 = 49, + k_p_O17_to_F18 = 50, + k_He4_O17_to_Ne21 = 51, + k_p_O18_to_F19 = 52, + k_p_F17_to_Ne18 = 53, + k_p_F18_to_Ne19 = 54, + k_He4_F18_to_Na22 = 55, + k_p_F19_to_Ne20 = 56, + k_He4_F19_to_Na23 = 57, + k_He4_Ne18_to_Mg22 = 58, + k_He4_Ne20_to_Mg24 = 59, + k_p_Ne21_to_Na22 = 60, + k_p_Na23_to_Mg24 = 61, + k_He4_Mg24_to_Si28 = 62, + k_p_Al27_to_Si28 = 63, + k_He4_Si28_to_S32 = 64, + k_p_P31_to_S32 = 65, + k_He4_C12_to_p_N15 = 66, + k_C12_C12_to_p_Na23 = 67, + k_C12_C12_to_He4_Ne20 = 68, + k_He4_N13_to_p_O16 = 69, + k_He4_N14_to_p_O17 = 70, + k_p_N15_to_He4_C12 = 71, + k_He4_N15_to_p_O18 = 72, + k_He4_O14_to_p_F17 = 73, + k_He4_O15_to_p_F18 = 74, + k_p_O16_to_He4_N13 = 75, + k_He4_O16_to_p_F19 = 76, + k_C12_O16_to_p_Al27 = 77, + k_C12_O16_to_He4_Mg24 = 78, + k_O16_O16_to_p_P31 = 79, + k_O16_O16_to_He4_Si28 = 80, + k_p_O17_to_He4_N14 = 81, + k_p_O18_to_He4_N15 = 82, + k_p_F17_to_He4_O14 = 83, + k_He4_F17_to_p_Ne20 = 84, + k_p_F18_to_He4_O15 = 85, + k_He4_F18_to_p_Ne21 = 86, + k_p_F19_to_He4_O16 = 87, + k_He4_Ne19_to_p_Na22 = 88, + k_p_Ne20_to_He4_F17 = 89, + k_He4_Ne20_to_p_Na23 = 90, + k_p_Ne21_to_He4_F18 = 91, + k_p_Na22_to_He4_Ne19 = 92, + k_p_Na23_to_He4_Ne20 = 93, + k_He4_Mg24_to_p_Al27 = 94, + k_p_Al27_to_He4_Mg24 = 95, + k_He4_Si28_to_p_P31 = 96, + k_p_P31_to_He4_Si28 = 97, + k_He4_He4_He4_to_C12 = 98, + k_C12_C12_to_Mg24_modified = 99, + k_O16_O16_to_S32_modified = 100, + k_C12_O16_to_Si28_modified = 101, + k_He4_S32_to_Ar36_removed = 102, + k_He4_S32_to_p_Cl35_removed = 103, + k_p_Cl35_to_Ar36_removed = 104, + k_Ar36_to_He4_S32_removed = 105, + k_Ar36_to_p_Cl35_removed = 106, + k_p_Cl35_to_He4_S32_removed = 107, + k_He4_Ar36_to_Ca40_removed = 108, + k_He4_Ar36_to_p_K39_removed = 109, + k_p_K39_to_Ca40_removed = 110, + k_Ca40_to_He4_Ar36_removed = 111, + k_Ca40_to_p_K39_removed = 112, + k_p_K39_to_He4_Ar36_removed = 113, + k_He4_Ca40_to_Ti44_removed = 114, + k_He4_Ca40_to_p_Sc43_removed = 115, + k_p_Sc43_to_Ti44_removed = 116, + k_Ti44_to_He4_Ca40_removed = 117, + k_Ti44_to_p_Sc43_removed = 118, + k_p_Sc43_to_He4_Ca40_removed = 119, + k_He4_Ti44_to_Cr48_removed = 120, + k_He4_Ti44_to_p_V47_removed = 121, + k_p_V47_to_Cr48_removed = 122, + k_Cr48_to_He4_Ti44_removed = 123, + k_Cr48_to_p_V47_removed = 124, + k_p_V47_to_He4_Ti44_removed = 125, + k_He4_Cr48_to_Fe52_removed = 126, + k_He4_Cr48_to_p_Mn51_removed = 127, + k_p_Mn51_to_Fe52_removed = 128, + k_Fe52_to_He4_Cr48_removed = 129, + k_Fe52_to_p_Mn51_removed = 130, + k_p_Mn51_to_He4_Cr48_removed = 131, + k_He4_Fe52_to_Ni56_removed = 132, + k_He4_Fe52_to_p_Co55_removed = 133, + k_p_Co55_to_Ni56_removed = 134, + k_Ni56_to_He4_Fe52_removed = 135, + k_Ni56_to_p_Co55_removed = 136, + k_p_Co55_to_He4_Fe52_removed = 137, + k_S32_He4_to_Ar36_approx = 138, + k_Ar36_to_S32_He4_approx = 139, + k_Ar36_He4_to_Ca40_approx = 140, + k_Ca40_to_Ar36_He4_approx = 141, + k_Ca40_He4_to_Ti44_approx = 142, + k_Ti44_to_Ca40_He4_approx = 143, + k_Ti44_He4_to_Cr48_approx = 144, + k_Cr48_to_Ti44_He4_approx = 145, + k_Cr48_He4_to_Fe52_approx = 146, + k_Fe52_to_Cr48_He4_approx = 147, + k_Fe52_He4_to_Ni56_approx = 148, + k_Ni56_to_Fe52_He4_approx = 149, + NumRates = k_Ni56_to_Fe52_He4_approx + }; + + // number of reaclib rates + + const int NrateReaclib = 137; + + // number of tabular rates + + const int NrateTabular = 0; + + // rate names -- note: the rates are 1-based, not zero-based, so we pad + // this vector with rate_names[0] = "" so the indices line up with the + // NetworkRates enum + + static const std::vector rate_names = { + "", // 0 + "N13_to_C13_weak_wc12", // 1, + "O14_to_N14_weak_wc12", // 2, + "O15_to_N15_weak_wc12", // 3, + "F17_to_O17_weak_wc12", // 4, + "F18_to_O18_weak_wc12", // 5, + "Ne18_to_F18_weak_wc12", // 6, + "Ne19_to_F19_weak_wc12", // 7, + "Mg22_to_Na22_weak_wc12", // 8, + "N13_to_p_C12", // 9, + "N14_to_p_C13", // 10, + "O14_to_p_N13", // 11, + "O15_to_p_N14", // 12, + "O16_to_p_N15", // 13, + "O16_to_He4_C12", // 14, + "F17_to_p_O16", // 15, + "F18_to_p_O17", // 16, + "F18_to_He4_N14", // 17, + "F19_to_p_O18", // 18, + "F19_to_He4_N15", // 19, + "Ne18_to_p_F17", // 20, + "Ne18_to_He4_O14", // 21, + "Ne19_to_p_F18", // 22, + "Ne19_to_He4_O15", // 23, + "Ne20_to_p_F19", // 24, + "Ne20_to_He4_O16", // 25, + "Ne21_to_He4_O17", // 26, + "Na22_to_p_Ne21", // 27, + "Na22_to_He4_F18", // 28, + "Na23_to_He4_F19", // 29, + "Mg22_to_He4_Ne18", // 30, + "Mg24_to_p_Na23", // 31, + "Mg24_to_He4_Ne20", // 32, + "Si28_to_p_Al27", // 33, + "Si28_to_He4_Mg24", // 34, + "S32_to_p_P31", // 35, + "S32_to_He4_Si28", // 36, + "C12_to_He4_He4_He4", // 37, + "p_C12_to_N13", // 38, + "He4_C12_to_O16", // 39, + "p_C13_to_N14", // 40, + "p_N13_to_O14", // 41, + "p_N14_to_O15", // 42, + "He4_N14_to_F18", // 43, + "p_N15_to_O16", // 44, + "He4_N15_to_F19", // 45, + "He4_O14_to_Ne18", // 46, + "He4_O15_to_Ne19", // 47, + "p_O16_to_F17", // 48, + "He4_O16_to_Ne20", // 49, + "p_O17_to_F18", // 50, + "He4_O17_to_Ne21", // 51, + "p_O18_to_F19", // 52, + "p_F17_to_Ne18", // 53, + "p_F18_to_Ne19", // 54, + "He4_F18_to_Na22", // 55, + "p_F19_to_Ne20", // 56, + "He4_F19_to_Na23", // 57, + "He4_Ne18_to_Mg22", // 58, + "He4_Ne20_to_Mg24", // 59, + "p_Ne21_to_Na22", // 60, + "p_Na23_to_Mg24", // 61, + "He4_Mg24_to_Si28", // 62, + "p_Al27_to_Si28", // 63, + "He4_Si28_to_S32", // 64, + "p_P31_to_S32", // 65, + "He4_C12_to_p_N15", // 66, + "C12_C12_to_p_Na23", // 67, + "C12_C12_to_He4_Ne20", // 68, + "He4_N13_to_p_O16", // 69, + "He4_N14_to_p_O17", // 70, + "p_N15_to_He4_C12", // 71, + "He4_N15_to_p_O18", // 72, + "He4_O14_to_p_F17", // 73, + "He4_O15_to_p_F18", // 74, + "p_O16_to_He4_N13", // 75, + "He4_O16_to_p_F19", // 76, + "C12_O16_to_p_Al27", // 77, + "C12_O16_to_He4_Mg24", // 78, + "O16_O16_to_p_P31", // 79, + "O16_O16_to_He4_Si28", // 80, + "p_O17_to_He4_N14", // 81, + "p_O18_to_He4_N15", // 82, + "p_F17_to_He4_O14", // 83, + "He4_F17_to_p_Ne20", // 84, + "p_F18_to_He4_O15", // 85, + "He4_F18_to_p_Ne21", // 86, + "p_F19_to_He4_O16", // 87, + "He4_Ne19_to_p_Na22", // 88, + "p_Ne20_to_He4_F17", // 89, + "He4_Ne20_to_p_Na23", // 90, + "p_Ne21_to_He4_F18", // 91, + "p_Na22_to_He4_Ne19", // 92, + "p_Na23_to_He4_Ne20", // 93, + "He4_Mg24_to_p_Al27", // 94, + "p_Al27_to_He4_Mg24", // 95, + "He4_Si28_to_p_P31", // 96, + "p_P31_to_He4_Si28", // 97, + "He4_He4_He4_to_C12", // 98, + "C12_C12_to_Mg24_modified", // 99, + "O16_O16_to_S32_modified", // 100, + "C12_O16_to_Si28_modified", // 101, + "He4_S32_to_Ar36_removed", // 102, + "He4_S32_to_p_Cl35_removed", // 103, + "p_Cl35_to_Ar36_removed", // 104, + "Ar36_to_He4_S32_removed", // 105, + "Ar36_to_p_Cl35_removed", // 106, + "p_Cl35_to_He4_S32_removed", // 107, + "He4_Ar36_to_Ca40_removed", // 108, + "He4_Ar36_to_p_K39_removed", // 109, + "p_K39_to_Ca40_removed", // 110, + "Ca40_to_He4_Ar36_removed", // 111, + "Ca40_to_p_K39_removed", // 112, + "p_K39_to_He4_Ar36_removed", // 113, + "He4_Ca40_to_Ti44_removed", // 114, + "He4_Ca40_to_p_Sc43_removed", // 115, + "p_Sc43_to_Ti44_removed", // 116, + "Ti44_to_He4_Ca40_removed", // 117, + "Ti44_to_p_Sc43_removed", // 118, + "p_Sc43_to_He4_Ca40_removed", // 119, + "He4_Ti44_to_Cr48_removed", // 120, + "He4_Ti44_to_p_V47_removed", // 121, + "p_V47_to_Cr48_removed", // 122, + "Cr48_to_He4_Ti44_removed", // 123, + "Cr48_to_p_V47_removed", // 124, + "p_V47_to_He4_Ti44_removed", // 125, + "He4_Cr48_to_Fe52_removed", // 126, + "He4_Cr48_to_p_Mn51_removed", // 127, + "p_Mn51_to_Fe52_removed", // 128, + "Fe52_to_He4_Cr48_removed", // 129, + "Fe52_to_p_Mn51_removed", // 130, + "p_Mn51_to_He4_Cr48_removed", // 131, + "He4_Fe52_to_Ni56_removed", // 132, + "He4_Fe52_to_p_Co55_removed", // 133, + "p_Co55_to_Ni56_removed", // 134, + "Ni56_to_He4_Fe52_removed", // 135, + "Ni56_to_p_Co55_removed", // 136, + "p_Co55_to_He4_Fe52_removed", // 137, + "S32_He4_to_Ar36_approx", // 138, + "Ar36_to_S32_He4_approx", // 139, + "Ar36_He4_to_Ca40_approx", // 140, + "Ca40_to_Ar36_He4_approx", // 141, + "Ca40_He4_to_Ti44_approx", // 142, + "Ti44_to_Ca40_He4_approx", // 143, + "Ti44_He4_to_Cr48_approx", // 144, + "Cr48_to_Ti44_He4_approx", // 145, + "Cr48_He4_to_Fe52_approx", // 146, + "Fe52_to_Cr48_He4_approx", // 147, + "Fe52_He4_to_Ni56_approx", // 148, + "Ni56_to_Fe52_He4_approx" // 149, + }; + +} + +#ifdef NSE_NET +namespace NSE_INDEX +{ + constexpr int H1_index = 0; + constexpr int N_index = -1; + constexpr int He4_index = 1; + + // Each row corresponds to the rate in NetworkRates enum + // First 3 row indices for reactants, followed by 3 product indices + // last index is the corresponding reverse rate index. + + extern AMREX_GPU_MANAGED amrex::Array2D rate_indices; +} +#endif + +#endif diff --git a/networks/CNO_He_burn/actual_network_data.cpp b/networks/CNO_He_burn/actual_network_data.cpp new file mode 100644 index 0000000000..7d0e4cf495 --- /dev/null +++ b/networks/CNO_He_burn/actual_network_data.cpp @@ -0,0 +1,164 @@ +#include + + +#ifdef NSE_NET +namespace NSE_INDEX +{ + AMREX_GPU_MANAGED amrex::Array2D rate_indices { + -1, -1, 4, -1, -1, 3, -1, + -1, -1, 7, -1, -1, 5, -1, + -1, -1, 8, -1, -1, 6, -1, + -1, -1, 12, -1, -1, 10, -1, + -1, -1, 13, -1, -1, 11, -1, + -1, -1, 15, -1, -1, 13, -1, + -1, -1, 16, -1, -1, 14, -1, + -1, -1, 21, -1, -1, 19, -1, + -1, -1, 4, -1, 0, 2, -1, + -1, -1, 5, -1, 0, 3, -1, + -1, -1, 7, -1, 0, 4, -1, + -1, -1, 8, -1, 0, 5, -1, + -1, -1, 9, -1, 0, 6, -1, + -1, -1, 9, -1, 1, 2, -1, + -1, -1, 12, -1, 0, 9, -1, + -1, -1, 13, -1, 0, 10, -1, + -1, -1, 13, -1, 1, 5, -1, + -1, -1, 14, -1, 0, 11, -1, + -1, -1, 14, -1, 1, 6, -1, + -1, -1, 15, -1, 0, 12, -1, + -1, -1, 15, -1, 1, 7, -1, + -1, -1, 16, -1, 0, 13, -1, + -1, -1, 16, -1, 1, 8, -1, + -1, -1, 17, -1, 0, 14, -1, + -1, -1, 17, -1, 1, 9, -1, + -1, -1, 18, -1, 1, 10, -1, + -1, -1, 19, -1, 0, 18, -1, + -1, -1, 19, -1, 1, 13, -1, + -1, -1, 20, -1, 1, 14, -1, + -1, -1, 21, -1, 1, 15, -1, + -1, -1, 22, -1, 0, 20, -1, + -1, -1, 22, -1, 1, 17, -1, + -1, -1, 24, -1, 0, 23, -1, + -1, -1, 24, -1, 1, 22, -1, + -1, -1, 26, -1, 0, 25, -1, + -1, -1, 26, -1, 1, 24, -1, + -1, -1, 2, 1, 1, 1, -1, + -1, 0, 2, -1, -1, 4, 9, + -1, 1, 2, -1, -1, 9, 14, + -1, 0, 3, -1, -1, 5, 10, + -1, 0, 4, -1, -1, 7, 11, + -1, 0, 5, -1, -1, 8, 12, + -1, 1, 5, -1, -1, 13, 17, + -1, 0, 6, -1, -1, 9, 13, + -1, 1, 6, -1, -1, 14, 19, + -1, 1, 7, -1, -1, 15, 21, + -1, 1, 8, -1, -1, 16, 23, + -1, 0, 9, -1, -1, 12, 15, + -1, 1, 9, -1, -1, 17, 25, + -1, 0, 10, -1, -1, 13, 16, + -1, 1, 10, -1, -1, 18, 26, + -1, 0, 11, -1, -1, 14, 18, + -1, 0, 12, -1, -1, 15, 20, + -1, 0, 13, -1, -1, 16, 22, + -1, 1, 13, -1, -1, 19, 28, + -1, 0, 14, -1, -1, 17, 24, + -1, 1, 14, -1, -1, 20, 29, + -1, 1, 15, -1, -1, 21, 30, + -1, 1, 17, -1, -1, 22, 32, + -1, 0, 18, -1, -1, 19, 27, + -1, 0, 20, -1, -1, 22, 31, + -1, 1, 22, -1, -1, 24, 34, + -1, 0, 23, -1, -1, 24, 33, + -1, 1, 24, -1, -1, 26, 36, + -1, 0, 25, -1, -1, 26, 35, + -1, 1, 2, -1, 0, 6, -1, + -1, 2, 2, -1, 0, 20, -1, + -1, 2, 2, -1, 1, 17, -1, + -1, 1, 4, -1, 0, 9, 75, + -1, 1, 5, -1, 0, 10, -1, + -1, 0, 6, -1, 1, 2, 66, + -1, 1, 6, -1, 0, 11, -1, + -1, 1, 7, -1, 0, 12, 83, + -1, 1, 8, -1, 0, 13, -1, + -1, 0, 9, -1, 1, 4, -1, + -1, 1, 9, -1, 0, 14, -1, + -1, 2, 9, -1, 0, 23, -1, + -1, 2, 9, -1, 1, 22, -1, + -1, 9, 9, -1, 0, 25, -1, + -1, 9, 9, -1, 1, 24, -1, + -1, 0, 10, -1, 1, 5, 70, + -1, 0, 11, -1, 1, 6, 72, + -1, 0, 12, -1, 1, 7, -1, + -1, 1, 12, -1, 0, 17, 89, + -1, 0, 13, -1, 1, 8, 74, + -1, 1, 13, -1, 0, 18, 91, + -1, 0, 14, -1, 1, 9, 76, + -1, 1, 16, -1, 0, 19, 92, + -1, 0, 17, -1, 1, 12, -1, + -1, 1, 17, -1, 0, 20, -1, + -1, 0, 18, -1, 1, 13, -1, + -1, 0, 19, -1, 1, 16, -1, + -1, 0, 20, -1, 1, 17, 90, + -1, 1, 22, -1, 0, 23, -1, + -1, 0, 23, -1, 1, 22, 94, + -1, 1, 24, -1, 0, 25, -1, + -1, 0, 25, -1, 1, 24, 96, + 1, 1, 1, -1, -1, 2, 37, + -1, 2, 2, -1, -1, 22, -1, + -1, 9, 9, -1, -1, 26, -1, + -1, 2, 9, -1, -1, 24, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, 1, 26, -1, -1, 27, 139, + -1, -1, 27, -1, 1, 26, -1, + -1, 1, 27, -1, -1, 28, 141, + -1, -1, 28, -1, 1, 27, -1, + -1, 1, 28, -1, -1, 29, 143, + -1, -1, 29, -1, 1, 28, -1, + -1, 1, 29, -1, -1, 30, 145, + -1, -1, 30, -1, 1, 29, -1, + -1, 1, 30, -1, -1, 31, 147, + -1, -1, 31, -1, 1, 30, -1, + -1, 1, 31, -1, -1, 32, 149, + -1, -1, 32, -1, 1, 31, -1 + }; +} +#endif + +void actual_network_init() +{ + +} diff --git a/networks/CNO_He_burn/actual_rhs.H b/networks/CNO_He_burn/actual_rhs.H new file mode 100644 index 0000000000..7985edf788 --- /dev/null +++ b/networks/CNO_He_burn/actual_rhs.H @@ -0,0 +1,2873 @@ +#ifndef actual_rhs_H +#define actual_rhs_H + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace amrex; +using namespace ArrayUtil; + +using namespace Species; +using namespace Rates; + +using namespace rate_tables; + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void ener_gener_rate(T const& dydt, amrex::Real& enuc) +{ + + // Computes the instantaneous energy generation rate (from the nuclei) + + // This is basically e = m c**2 + + enuc = 0.0_rt; + + for (int n = 1; n <= NumSpec; ++n) { + enuc += dydt(n) * network::mion(n); + } + + enuc *= C::Legacy::enuc_conv2; +} + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, T& rate_eval) { + + + // create molar fractions + + amrex::Array1D Y; + for (int n = 1; n <= NumSpec; ++n) { + Y(n) = state.xn[n-1] * aion_inv[n-1]; + } + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + // Calculate Reaclib rates + + using number_t = std::conditional_t; + number_t temp = state.T; + if constexpr (do_T_derivatives) { + // seed the dual number for temperature before calculating anything with it + autodiff::seed(temp); + } + plasma_state_t pstate{}; + fill_plasma_state(pstate, temp, state.rho, Y); + + tf_t tfactors = evaluate_tfactors(state.T); + + fill_reaclib_rates(tfactors, rate_eval); + + if (disable_p_C12_to_N13) { + rate_eval.screened_rates(k_p_C12_to_N13) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13) = 0.0; + } + rate_eval.screened_rates(k_N13_to_p_C12) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12) = 0.0; + } + } + + if (disable_He4_N13_to_p_O16) { + rate_eval.screened_rates(k_He4_N13_to_p_O16) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16) = 0.0; + } + rate_eval.screened_rates(k_p_O16_to_He4_N13) = 0.0; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13) = 0.0; + } + } + + + + // Evaluate screening factors + + amrex::Real ratraw, dratraw_dT; + amrex::Real scor, dscor_dt; + [[maybe_unused]] amrex::Real scor2, dscor2_dt; + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_N13_to_p_C12); + rate_eval.screened_rates(k_N13_to_p_C12) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_N13_to_p_C12); + rate_eval.dscreened_rates_dT(k_N13_to_p_C12) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_C12_to_N13); + rate_eval.screened_rates(k_p_C12_to_N13) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13); + rate_eval.dscreened_rates_dT(k_p_C12_to_N13) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 13.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_N14_to_p_C13); + rate_eval.screened_rates(k_N14_to_p_C13) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_N14_to_p_C13); + rate_eval.dscreened_rates_dT(k_N14_to_p_C13) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_C13_to_N14); + rate_eval.screened_rates(k_p_C13_to_N14) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C13_to_N14); + rate_eval.dscreened_rates_dT(k_p_C13_to_N14) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 13.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_O14_to_p_N13); + rate_eval.screened_rates(k_O14_to_p_N13) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O14_to_p_N13); + rate_eval.dscreened_rates_dT(k_O14_to_p_N13) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_N13_to_O14); + rate_eval.screened_rates(k_p_N13_to_O14) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N13_to_O14); + rate_eval.dscreened_rates_dT(k_p_N13_to_O14) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 14.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_O15_to_p_N14); + rate_eval.screened_rates(k_O15_to_p_N14) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O15_to_p_N14); + rate_eval.dscreened_rates_dT(k_O15_to_p_N14) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_N14_to_O15); + rate_eval.screened_rates(k_p_N14_to_O15) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N14_to_O15); + rate_eval.dscreened_rates_dT(k_p_N14_to_O15) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 7.0_rt, 15.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_O16_to_p_N15); + rate_eval.screened_rates(k_O16_to_p_N15) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_to_p_N15); + rate_eval.dscreened_rates_dT(k_O16_to_p_N15) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_N15_to_O16); + rate_eval.screened_rates(k_p_N15_to_O16) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_O16); + rate_eval.dscreened_rates_dT(k_p_N15_to_O16) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_C12_to_p_N15); + rate_eval.screened_rates(k_He4_C12_to_p_N15) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15); + rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_N15_to_He4_C12); + rate_eval.screened_rates(k_p_N15_to_He4_C12) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12); + rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_O16_to_He4_C12); + rate_eval.screened_rates(k_O16_to_He4_C12) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_to_He4_C12); + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_C12_to_O16); + rate_eval.screened_rates(k_He4_C12_to_O16) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16); + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_F17_to_p_O16); + rate_eval.screened_rates(k_F17_to_p_O16) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_F17_to_p_O16); + rate_eval.dscreened_rates_dT(k_F17_to_p_O16) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_O16_to_F17); + rate_eval.screened_rates(k_p_O16_to_F17) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_F17); + rate_eval.dscreened_rates_dT(k_p_O16_to_F17) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 17.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_F18_to_p_O17); + rate_eval.screened_rates(k_F18_to_p_O17) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_F18_to_p_O17); + rate_eval.dscreened_rates_dT(k_F18_to_p_O17) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_O17_to_F18); + rate_eval.screened_rates(k_p_O17_to_F18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_F18); + rate_eval.dscreened_rates_dT(k_p_O17_to_F18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_N14_to_p_O17); + rate_eval.screened_rates(k_He4_N14_to_p_O17) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17); + rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_O17_to_He4_N14); + rate_eval.screened_rates(k_p_O17_to_He4_N14) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14); + rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_F18_to_He4_N14); + rate_eval.screened_rates(k_F18_to_He4_N14) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_F18_to_He4_N14); + rate_eval.dscreened_rates_dT(k_F18_to_He4_N14) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_N14_to_F18); + rate_eval.screened_rates(k_He4_N14_to_F18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_F18); + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 18.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_F19_to_p_O18); + rate_eval.screened_rates(k_F19_to_p_O18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_F19_to_p_O18); + rate_eval.dscreened_rates_dT(k_F19_to_p_O18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_O18_to_F19); + rate_eval.screened_rates(k_p_O18_to_F19) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_F19); + rate_eval.dscreened_rates_dT(k_p_O18_to_F19) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_N15_to_p_O18); + rate_eval.screened_rates(k_He4_N15_to_p_O18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18); + rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_O18_to_He4_N15); + rate_eval.screened_rates(k_p_O18_to_He4_N15) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15); + rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 15.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_F19_to_He4_N15); + rate_eval.screened_rates(k_F19_to_He4_N15) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_F19_to_He4_N15); + rate_eval.dscreened_rates_dT(k_F19_to_He4_N15) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_N15_to_F19); + rate_eval.screened_rates(k_He4_N15_to_F19) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N15_to_F19); + rate_eval.dscreened_rates_dT(k_He4_N15_to_F19) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 17.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Ne18_to_p_F17); + rate_eval.screened_rates(k_Ne18_to_p_F17) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17); + rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_F17_to_Ne18); + rate_eval.screened_rates(k_p_F17_to_Ne18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18); + rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 14.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Ne18_to_He4_O14); + rate_eval.screened_rates(k_Ne18_to_He4_O14) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14); + rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_O14_to_Ne18); + rate_eval.screened_rates(k_He4_O14_to_Ne18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18); + rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_O14_to_p_F17); + rate_eval.screened_rates(k_He4_O14_to_p_F17) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17); + rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_F17_to_He4_O14); + rate_eval.screened_rates(k_p_F17_to_He4_O14) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14); + rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 18.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Ne19_to_p_F18); + rate_eval.screened_rates(k_Ne19_to_p_F18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18); + rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_F18_to_Ne19); + rate_eval.screened_rates(k_p_F18_to_Ne19) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19); + rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_O15_to_p_F18); + rate_eval.screened_rates(k_He4_O15_to_p_F18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18); + rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_F18_to_He4_O15); + rate_eval.screened_rates(k_p_F18_to_He4_O15) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15); + rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 15.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Ne19_to_He4_O15); + rate_eval.screened_rates(k_Ne19_to_He4_O15) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15); + rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_O15_to_Ne19); + rate_eval.screened_rates(k_He4_O15_to_Ne19) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19); + rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 9.0_rt, 19.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Ne20_to_p_F19); + rate_eval.screened_rates(k_Ne20_to_p_F19) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19); + rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_F19_to_Ne20); + rate_eval.screened_rates(k_p_F19_to_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20); + rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_O16_to_p_F19); + rate_eval.screened_rates(k_He4_O16_to_p_F19) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19); + rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_F19_to_He4_O16); + rate_eval.screened_rates(k_p_F19_to_He4_O16) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16); + rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Ne20_to_He4_O16); + rate_eval.screened_rates(k_Ne20_to_He4_O16) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16); + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20); + rate_eval.screened_rates(k_He4_O16_to_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20); + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 17.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Ne21_to_He4_O17); + rate_eval.screened_rates(k_Ne21_to_He4_O17) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17); + rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_O17_to_Ne21); + rate_eval.screened_rates(k_He4_O17_to_Ne21) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21); + rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 21.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Na22_to_p_Ne21); + rate_eval.screened_rates(k_Na22_to_p_Ne21) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21); + rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Ne21_to_Na22); + rate_eval.screened_rates(k_p_Ne21_to_Na22) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22); + rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 18.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Na22_to_He4_F18); + rate_eval.screened_rates(k_Na22_to_He4_F18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18); + rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_F18_to_Na22); + rate_eval.screened_rates(k_He4_F18_to_Na22) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22); + rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_F18_to_p_Ne21); + rate_eval.screened_rates(k_He4_F18_to_p_Ne21) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21); + rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Ne21_to_He4_F18); + rate_eval.screened_rates(k_p_Ne21_to_He4_F18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18); + rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 19.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Na23_to_He4_F19); + rate_eval.screened_rates(k_Na23_to_He4_F19) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19); + rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_F19_to_Na23); + rate_eval.screened_rates(k_He4_F19_to_Na23) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23); + rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 18.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Mg22_to_He4_Ne18); + rate_eval.screened_rates(k_Mg22_to_He4_Ne18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Mg22_to_He4_Ne18); + rate_eval.dscreened_rates_dT(k_Mg22_to_He4_Ne18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Ne18_to_Mg22); + rate_eval.screened_rates(k_He4_Ne18_to_Mg22) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22); + rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Mg24_to_p_Na23); + rate_eval.screened_rates(k_Mg24_to_p_Na23) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23); + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Na23_to_Mg24); + rate_eval.screened_rates(k_p_Na23_to_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24); + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23); + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20); + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Mg24_to_He4_Ne20); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20); + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24); + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Si28_to_p_Al27); + rate_eval.screened_rates(k_Si28_to_p_Al27) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27); + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Al27_to_Si28); + rate_eval.screened_rates(k_p_Al27_to_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28); + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27); + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24); + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_Si28_to_He4_Mg24); + rate_eval.screened_rates(k_Si28_to_He4_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24); + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28); + rate_eval.screened_rates(k_He4_Mg24_to_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28); + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_S32_to_p_P31); + rate_eval.screened_rates(k_S32_to_p_P31) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_S32_to_p_P31); + rate_eval.dscreened_rates_dT(k_S32_to_p_P31) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_P31_to_S32); + rate_eval.screened_rates(k_p_P31_to_S32) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32); + rate_eval.dscreened_rates_dT(k_p_P31_to_S32) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31); + rate_eval.screened_rates(k_He4_Si28_to_p_P31) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31); + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28); + rate_eval.screened_rates(k_p_P31_to_He4_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28); + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_S32_to_He4_Si28); + rate_eval.screened_rates(k_S32_to_He4_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28); + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32); + rate_eval.screened_rates(k_He4_Si28_to_S32) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32); + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + + { + constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + + + static_assert(scn_fac2.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac2, scor2, dscor2_dt); + + } + + + ratraw = rate_eval.screened_rates(k_C12_to_He4_He4_He4); + rate_eval.screened_rates(k_C12_to_He4_He4_He4) *= scor * scor2; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4); + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + } + + ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12); + rate_eval.screened_rates(k_He4_He4_He4_to_C12) *= scor * scor2; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12); + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); + + + static_assert(scn_fac.z1 == 6.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23); + rate_eval.screened_rates(k_C12_C12_to_p_Na23) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23); + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20); + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16); + rate_eval.screened_rates(k_He4_N13_to_p_O16) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16); + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13); + rate_eval.screened_rates(k_p_O16_to_He4_N13) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13); + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); + + + static_assert(scn_fac.z1 == 6.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27); + rate_eval.screened_rates(k_C12_O16_to_p_Al27) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27); + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24); + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); + + + static_assert(scn_fac.z1 == 8.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31); + rate_eval.screened_rates(k_O16_O16_to_p_P31) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31); + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28); + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 17.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_F17_to_p_Ne20); + rate_eval.screened_rates(k_He4_F17_to_p_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20); + rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Ne20_to_He4_F17); + rate_eval.screened_rates(k_p_Ne20_to_He4_F17) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17); + rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 19.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ne19_to_p_Na22); + rate_eval.screened_rates(k_He4_Ne19_to_p_Na22) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22); + rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Na22_to_He4_Ne19); + rate_eval.screened_rates(k_p_Na22_to_He4_Ne19) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19); + rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Ar36_to_He4_S32_removed); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed); + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed); + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed); + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_K39_to_Ca40_removed); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Ca40_to_p_K39_removed); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed); + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed); + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed); + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed); + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Cr48_to_p_V47_removed); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed); + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed); + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed); + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed); + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed); + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed); + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed); + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed); + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed); + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed); + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed); + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_Co55_to_Ni56_removed); + rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed); + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_Ni56_to_p_Co55_removed); + rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed); + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + // Fill approximate rates + + fill_approx_rates(tfactors, rate_eval); + + // Calculate tabular rates + + [[maybe_unused]] amrex::Real rate, drate_dt, edot_nu, edot_gamma; + + rate_eval.enuc_weak = 0.0_rt; + + +} + +#ifdef NSE_NET +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void get_ydot_weak(const burn_t& state, + amrex::Array1D& ydot_nuc, + amrex::Real& enuc_weak, + [[maybe_unused]] const amrex::Array1D& Y) { + /// + /// Calculate Ydots contribute only from weak reactions. + /// This is used to calculate dyedt and energy generation from + /// weak reactions for self-consistent NSE + /// + + + // initialize ydot_nuc to 0 + + for (int i = 1; i <= neqs; ++i) { + ydot_nuc(i) = 0.0_rt; + } + + rate_t rate_eval; + + [[maybe_unused]] amrex::Real rate, drate_dt, edot_nu, edot_gamma; + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + rate_eval.enuc_weak = 0.0_rt; + + // Calculate tabular rates and get ydot_weak + + + ydot_nuc(H1) = 0.0_rt; + + ydot_nuc(He4) = 0.0_rt; + + ydot_nuc(C12) = 0.0_rt; + + ydot_nuc(C13) = 0.0_rt; + + ydot_nuc(N13) = 0.0_rt; + + ydot_nuc(N14) = 0.0_rt; + + ydot_nuc(N15) = 0.0_rt; + + ydot_nuc(O14) = 0.0_rt; + + ydot_nuc(O15) = 0.0_rt; + + ydot_nuc(O16) = 0.0_rt; + + ydot_nuc(O17) = 0.0_rt; + + ydot_nuc(O18) = 0.0_rt; + + ydot_nuc(F17) = 0.0_rt; + + ydot_nuc(F18) = 0.0_rt; + + ydot_nuc(F19) = 0.0_rt; + + ydot_nuc(Ne18) = 0.0_rt; + + ydot_nuc(Ne19) = 0.0_rt; + + ydot_nuc(Ne20) = 0.0_rt; + + ydot_nuc(Ne21) = 0.0_rt; + + ydot_nuc(Na22) = 0.0_rt; + + ydot_nuc(Na23) = 0.0_rt; + + ydot_nuc(Mg22) = 0.0_rt; + + ydot_nuc(Mg24) = 0.0_rt; + + ydot_nuc(Al27) = 0.0_rt; + + ydot_nuc(Si28) = 0.0_rt; + + ydot_nuc(P31) = 0.0_rt; + + ydot_nuc(S32) = 0.0_rt; + + ydot_nuc(Ar36) = 0.0_rt; + + ydot_nuc(Ca40) = 0.0_rt; + + ydot_nuc(Ti44) = 0.0_rt; + + ydot_nuc(Cr48) = 0.0_rt; + + ydot_nuc(Fe52) = 0.0_rt; + + ydot_nuc(Ni56) = 0.0_rt; + + enuc_weak = rate_eval.enuc_weak; +} +#endif + + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rhs_nuc(const burn_t& state, + amrex::Array1D& ydot_nuc, + const amrex::Array1D& Y, + const amrex::Array1D& screened_rates) { + + using namespace Rates; + + ydot_nuc(H1) = + (-screened_rates(k_p_C12_to_N13)*Y(C12)*Y(H1)*state.rho + screened_rates(k_N13_to_p_C12)*Y(N13)) + + (-screened_rates(k_p_C13_to_N14)*Y(C13)*Y(H1)*state.rho + screened_rates(k_N14_to_p_C13)*Y(N14)) + + (-screened_rates(k_p_N13_to_O14)*Y(N13)*Y(H1)*state.rho + screened_rates(k_O14_to_p_N13)*Y(O14)) + + (-screened_rates(k_p_N14_to_O15)*Y(N14)*Y(H1)*state.rho + screened_rates(k_O15_to_p_N14)*Y(O15)) + + (-screened_rates(k_p_N15_to_O16)*Y(N15)*Y(H1)*state.rho + screened_rates(k_O16_to_p_N15)*Y(O16)) + + (-screened_rates(k_p_O16_to_F17)*Y(O16)*Y(H1)*state.rho + screened_rates(k_F17_to_p_O16)*Y(F17)) + + (-screened_rates(k_p_O17_to_F18)*Y(O17)*Y(H1)*state.rho + screened_rates(k_F18_to_p_O17)*Y(F18)) + + (-screened_rates(k_p_O18_to_F19)*Y(O18)*Y(H1)*state.rho + screened_rates(k_F19_to_p_O18)*Y(F19)) + + (-screened_rates(k_p_F17_to_Ne18)*Y(F17)*Y(H1)*state.rho + screened_rates(k_Ne18_to_p_F17)*Y(Ne18)) + + (-screened_rates(k_p_F18_to_Ne19)*Y(F18)*Y(H1)*state.rho + screened_rates(k_Ne19_to_p_F18)*Y(Ne19)) + + (-screened_rates(k_p_F19_to_Ne20)*Y(F19)*Y(H1)*state.rho + screened_rates(k_Ne20_to_p_F19)*Y(Ne20)) + + (-screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*Y(H1)*state.rho + screened_rates(k_Na22_to_p_Ne21)*Y(Na22)) + + (-screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*Y(H1)*state.rho + screened_rates(k_Mg24_to_p_Na23)*Y(Mg24)) + + (-screened_rates(k_p_Al27_to_Si28)*Y(Al27)*Y(H1)*state.rho + screened_rates(k_Si28_to_p_Al27)*Y(Si28)) + + (-screened_rates(k_p_P31_to_S32)*Y(P31)*Y(H1)*state.rho + screened_rates(k_S32_to_p_P31)*Y(S32)) + + 0.5*screened_rates(k_C12_C12_to_p_Na23)*amrex::Math::powi<2>(Y(C12))*state.rho + + (screened_rates(k_He4_N13_to_p_O16)*Y(He4)*Y(N13)*state.rho + -screened_rates(k_p_O16_to_He4_N13)*Y(O16)*Y(H1)*state.rho) + + (-screened_rates(k_p_N15_to_He4_C12)*Y(N15)*Y(H1)*state.rho + screened_rates(k_He4_C12_to_p_N15)*Y(C12)*Y(He4)*state.rho) + + (screened_rates(k_He4_O14_to_p_F17)*Y(He4)*Y(O14)*state.rho + -screened_rates(k_p_F17_to_He4_O14)*Y(F17)*Y(H1)*state.rho) + + screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*Y(O16)*state.rho + + 0.5*screened_rates(k_O16_O16_to_p_P31)*amrex::Math::powi<2>(Y(O16))*state.rho + + (-screened_rates(k_p_O17_to_He4_N14)*Y(O17)*Y(H1)*state.rho + screened_rates(k_He4_N14_to_p_O17)*Y(He4)*Y(N14)*state.rho) + + (-screened_rates(k_p_O18_to_He4_N15)*Y(O18)*Y(H1)*state.rho + screened_rates(k_He4_N15_to_p_O18)*Y(He4)*Y(N15)*state.rho) + + (screened_rates(k_He4_F17_to_p_Ne20)*Y(F17)*Y(He4)*state.rho + -screened_rates(k_p_Ne20_to_He4_F17)*Y(Ne20)*Y(H1)*state.rho) + + (-screened_rates(k_p_F18_to_He4_O15)*Y(F18)*Y(H1)*state.rho + screened_rates(k_He4_O15_to_p_F18)*Y(He4)*Y(O15)*state.rho) + + (screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*Y(He4)*state.rho + -screened_rates(k_p_Ne21_to_He4_F18)*Y(Ne21)*Y(H1)*state.rho) + + (-screened_rates(k_p_F19_to_He4_O16)*Y(F19)*Y(H1)*state.rho + screened_rates(k_He4_O16_to_p_F19)*Y(He4)*Y(O16)*state.rho) + + (screened_rates(k_He4_Ne19_to_p_Na22)*Y(He4)*Y(Ne19)*state.rho + -screened_rates(k_p_Na22_to_He4_Ne19)*Y(Na22)*Y(H1)*state.rho) + + (-screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*Y(H1)*state.rho + screened_rates(k_He4_Ne20_to_p_Na23)*Y(He4)*Y(Ne20)*state.rho) + + (-screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*Y(H1)*state.rho + screened_rates(k_He4_Mg24_to_p_Al27)*Y(He4)*Y(Mg24)*state.rho) + + (-screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*Y(H1)*state.rho + screened_rates(k_He4_Si28_to_p_P31)*Y(He4)*Y(Si28)*state.rho); + + ydot_nuc(He4) = + (-screened_rates(k_He4_C12_to_O16)*Y(C12)*Y(He4)*state.rho + screened_rates(k_O16_to_He4_C12)*Y(O16)) + + (-screened_rates(k_He4_N14_to_F18)*Y(He4)*Y(N14)*state.rho + screened_rates(k_F18_to_He4_N14)*Y(F18)) + + (-screened_rates(k_He4_N15_to_F19)*Y(He4)*Y(N15)*state.rho + screened_rates(k_F19_to_He4_N15)*Y(F19)) + + (-screened_rates(k_He4_O14_to_Ne18)*Y(He4)*Y(O14)*state.rho + screened_rates(k_Ne18_to_He4_O14)*Y(Ne18)) + + (-screened_rates(k_He4_O15_to_Ne19)*Y(He4)*Y(O15)*state.rho + screened_rates(k_Ne19_to_He4_O15)*Y(Ne19)) + + (-screened_rates(k_He4_O16_to_Ne20)*Y(He4)*Y(O16)*state.rho + screened_rates(k_Ne20_to_He4_O16)*Y(Ne20)) + + (-screened_rates(k_He4_O17_to_Ne21)*Y(He4)*Y(O17)*state.rho + screened_rates(k_Ne21_to_He4_O17)*Y(Ne21)) + + (-screened_rates(k_He4_F18_to_Na22)*Y(F18)*Y(He4)*state.rho + screened_rates(k_Na22_to_He4_F18)*Y(Na22)) + + (-screened_rates(k_He4_F19_to_Na23)*Y(F19)*Y(He4)*state.rho + screened_rates(k_Na23_to_He4_F19)*Y(Na23)) + + (-screened_rates(k_He4_Ne18_to_Mg22)*Y(He4)*Y(Ne18)*state.rho + screened_rates(k_Mg22_to_He4_Ne18)*Y(Mg22)) + + (-screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*Y(Ne20)*state.rho + screened_rates(k_Mg24_to_He4_Ne20)*Y(Mg24)) + + (-screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*Y(Mg24)*state.rho + screened_rates(k_Si28_to_He4_Mg24)*Y(Si28)) + + (-screened_rates(k_He4_Si28_to_S32)*Y(He4)*Y(Si28)*state.rho + screened_rates(k_S32_to_He4_Si28)*Y(S32)) + + 0.5*screened_rates(k_C12_C12_to_He4_Ne20)*amrex::Math::powi<2>(Y(C12))*state.rho + + (-screened_rates(k_He4_N13_to_p_O16)*Y(He4)*Y(N13)*state.rho + screened_rates(k_p_O16_to_He4_N13)*Y(O16)*Y(H1)*state.rho) + + (screened_rates(k_p_N15_to_He4_C12)*Y(N15)*Y(H1)*state.rho + -screened_rates(k_He4_C12_to_p_N15)*Y(C12)*Y(He4)*state.rho) + + (-screened_rates(k_He4_O14_to_p_F17)*Y(He4)*Y(O14)*state.rho + screened_rates(k_p_F17_to_He4_O14)*Y(F17)*Y(H1)*state.rho) + + screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*Y(O16)*state.rho + + 0.5*screened_rates(k_O16_O16_to_He4_Si28)*amrex::Math::powi<2>(Y(O16))*state.rho + + (screened_rates(k_p_O17_to_He4_N14)*Y(O17)*Y(H1)*state.rho + -screened_rates(k_He4_N14_to_p_O17)*Y(He4)*Y(N14)*state.rho) + + (screened_rates(k_p_O18_to_He4_N15)*Y(O18)*Y(H1)*state.rho + -screened_rates(k_He4_N15_to_p_O18)*Y(He4)*Y(N15)*state.rho) + + (-screened_rates(k_He4_F17_to_p_Ne20)*Y(F17)*Y(He4)*state.rho + screened_rates(k_p_Ne20_to_He4_F17)*Y(Ne20)*Y(H1)*state.rho) + + (screened_rates(k_p_F18_to_He4_O15)*Y(F18)*Y(H1)*state.rho + -screened_rates(k_He4_O15_to_p_F18)*Y(He4)*Y(O15)*state.rho) + + (-screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*Y(He4)*state.rho + screened_rates(k_p_Ne21_to_He4_F18)*Y(Ne21)*Y(H1)*state.rho) + + (screened_rates(k_p_F19_to_He4_O16)*Y(F19)*Y(H1)*state.rho + -screened_rates(k_He4_O16_to_p_F19)*Y(He4)*Y(O16)*state.rho) + + (-screened_rates(k_He4_Ne19_to_p_Na22)*Y(He4)*Y(Ne19)*state.rho + screened_rates(k_p_Na22_to_He4_Ne19)*Y(Na22)*Y(H1)*state.rho) + + (screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*Y(H1)*state.rho + -screened_rates(k_He4_Ne20_to_p_Na23)*Y(He4)*Y(Ne20)*state.rho) + + (screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*Y(H1)*state.rho + -screened_rates(k_He4_Mg24_to_p_Al27)*Y(He4)*Y(Mg24)*state.rho) + + (screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*Y(H1)*state.rho + -screened_rates(k_He4_Si28_to_p_P31)*Y(He4)*Y(Si28)*state.rho) + + (-0.5*screened_rates(k_He4_He4_He4_to_C12)*amrex::Math::powi<3>(Y(He4))*amrex::Math::powi<2>(state.rho) + 3.0*screened_rates(k_C12_to_He4_He4_He4)*Y(C12)) + + (-screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*Y(S32)*state.rho + screened_rates(k_Ar36_to_S32_He4_approx)*Y(Ar36)) + + (-screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*Y(He4)*state.rho + screened_rates(k_Ca40_to_Ar36_He4_approx)*Y(Ca40)) + + (-screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*Y(He4)*state.rho + screened_rates(k_Ti44_to_Ca40_He4_approx)*Y(Ti44)) + + (-screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*Y(Ti44)*state.rho + screened_rates(k_Cr48_to_Ti44_He4_approx)*Y(Cr48)) + + (-screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(Cr48)*Y(He4)*state.rho + screened_rates(k_Fe52_to_Cr48_He4_approx)*Y(Fe52)) + + (-screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(Fe52)*Y(He4)*state.rho + screened_rates(k_Ni56_to_Fe52_He4_approx)*Y(Ni56)); + + ydot_nuc(C12) = + (-screened_rates(k_p_C12_to_N13)*Y(C12)*Y(H1)*state.rho + screened_rates(k_N13_to_p_C12)*Y(N13)) + + (-screened_rates(k_He4_C12_to_O16)*Y(C12)*Y(He4)*state.rho + screened_rates(k_O16_to_He4_C12)*Y(O16)) + + -screened_rates(k_C12_C12_to_p_Na23)*amrex::Math::powi<2>(Y(C12))*state.rho + + -screened_rates(k_C12_C12_to_He4_Ne20)*amrex::Math::powi<2>(Y(C12))*state.rho + + (screened_rates(k_p_N15_to_He4_C12)*Y(N15)*Y(H1)*state.rho + -screened_rates(k_He4_C12_to_p_N15)*Y(C12)*Y(He4)*state.rho) + + -screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*Y(O16)*state.rho + + -screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*Y(O16)*state.rho + + (0.16666666666666667*screened_rates(k_He4_He4_He4_to_C12)*amrex::Math::powi<3>(Y(He4))*amrex::Math::powi<2>(state.rho) + -screened_rates(k_C12_to_He4_He4_He4)*Y(C12)) + + -screened_rates(k_C12_C12_to_Mg24_modified)*amrex::Math::powi<2>(Y(C12))*state.rho + + -screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*Y(O16)*state.rho; + + ydot_nuc(C13) = + screened_rates(k_N13_to_C13_weak_wc12)*Y(N13) + + (-screened_rates(k_p_C13_to_N14)*Y(C13)*Y(H1)*state.rho + screened_rates(k_N14_to_p_C13)*Y(N14)); + + ydot_nuc(N13) = + -screened_rates(k_N13_to_C13_weak_wc12)*Y(N13) + + (screened_rates(k_p_C12_to_N13)*Y(C12)*Y(H1)*state.rho + -screened_rates(k_N13_to_p_C12)*Y(N13)) + + (-screened_rates(k_p_N13_to_O14)*Y(N13)*Y(H1)*state.rho + screened_rates(k_O14_to_p_N13)*Y(O14)) + + (-screened_rates(k_He4_N13_to_p_O16)*Y(He4)*Y(N13)*state.rho + screened_rates(k_p_O16_to_He4_N13)*Y(O16)*Y(H1)*state.rho); + + ydot_nuc(N14) = + screened_rates(k_O14_to_N14_weak_wc12)*Y(O14) + + (screened_rates(k_p_C13_to_N14)*Y(C13)*Y(H1)*state.rho + -screened_rates(k_N14_to_p_C13)*Y(N14)) + + (-screened_rates(k_p_N14_to_O15)*Y(N14)*Y(H1)*state.rho + screened_rates(k_O15_to_p_N14)*Y(O15)) + + (-screened_rates(k_He4_N14_to_F18)*Y(He4)*Y(N14)*state.rho + screened_rates(k_F18_to_He4_N14)*Y(F18)) + + (screened_rates(k_p_O17_to_He4_N14)*Y(O17)*Y(H1)*state.rho + -screened_rates(k_He4_N14_to_p_O17)*Y(He4)*Y(N14)*state.rho); + + ydot_nuc(N15) = + screened_rates(k_O15_to_N15_weak_wc12)*Y(O15) + + (-screened_rates(k_p_N15_to_O16)*Y(N15)*Y(H1)*state.rho + screened_rates(k_O16_to_p_N15)*Y(O16)) + + (-screened_rates(k_He4_N15_to_F19)*Y(He4)*Y(N15)*state.rho + screened_rates(k_F19_to_He4_N15)*Y(F19)) + + (-screened_rates(k_p_N15_to_He4_C12)*Y(N15)*Y(H1)*state.rho + screened_rates(k_He4_C12_to_p_N15)*Y(C12)*Y(He4)*state.rho) + + (screened_rates(k_p_O18_to_He4_N15)*Y(O18)*Y(H1)*state.rho + -screened_rates(k_He4_N15_to_p_O18)*Y(He4)*Y(N15)*state.rho); + + ydot_nuc(O14) = + -screened_rates(k_O14_to_N14_weak_wc12)*Y(O14) + + (screened_rates(k_p_N13_to_O14)*Y(N13)*Y(H1)*state.rho + -screened_rates(k_O14_to_p_N13)*Y(O14)) + + (-screened_rates(k_He4_O14_to_Ne18)*Y(He4)*Y(O14)*state.rho + screened_rates(k_Ne18_to_He4_O14)*Y(Ne18)) + + (-screened_rates(k_He4_O14_to_p_F17)*Y(He4)*Y(O14)*state.rho + screened_rates(k_p_F17_to_He4_O14)*Y(F17)*Y(H1)*state.rho); + + ydot_nuc(O15) = + -screened_rates(k_O15_to_N15_weak_wc12)*Y(O15) + + (screened_rates(k_p_N14_to_O15)*Y(N14)*Y(H1)*state.rho + -screened_rates(k_O15_to_p_N14)*Y(O15)) + + (-screened_rates(k_He4_O15_to_Ne19)*Y(He4)*Y(O15)*state.rho + screened_rates(k_Ne19_to_He4_O15)*Y(Ne19)) + + (screened_rates(k_p_F18_to_He4_O15)*Y(F18)*Y(H1)*state.rho + -screened_rates(k_He4_O15_to_p_F18)*Y(He4)*Y(O15)*state.rho); + + ydot_nuc(O16) = + (screened_rates(k_He4_C12_to_O16)*Y(C12)*Y(He4)*state.rho + -screened_rates(k_O16_to_He4_C12)*Y(O16)) + + (screened_rates(k_p_N15_to_O16)*Y(N15)*Y(H1)*state.rho + -screened_rates(k_O16_to_p_N15)*Y(O16)) + + (-screened_rates(k_p_O16_to_F17)*Y(O16)*Y(H1)*state.rho + screened_rates(k_F17_to_p_O16)*Y(F17)) + + (-screened_rates(k_He4_O16_to_Ne20)*Y(He4)*Y(O16)*state.rho + screened_rates(k_Ne20_to_He4_O16)*Y(Ne20)) + + (screened_rates(k_He4_N13_to_p_O16)*Y(He4)*Y(N13)*state.rho + -screened_rates(k_p_O16_to_He4_N13)*Y(O16)*Y(H1)*state.rho) + + -screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*Y(O16)*state.rho + + -screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*Y(O16)*state.rho + + -screened_rates(k_O16_O16_to_p_P31)*amrex::Math::powi<2>(Y(O16))*state.rho + + -screened_rates(k_O16_O16_to_He4_Si28)*amrex::Math::powi<2>(Y(O16))*state.rho + + (screened_rates(k_p_F19_to_He4_O16)*Y(F19)*Y(H1)*state.rho + -screened_rates(k_He4_O16_to_p_F19)*Y(He4)*Y(O16)*state.rho) + + -screened_rates(k_O16_O16_to_S32_modified)*amrex::Math::powi<2>(Y(O16))*state.rho + + -screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*Y(O16)*state.rho; + + ydot_nuc(O17) = + screened_rates(k_F17_to_O17_weak_wc12)*Y(F17) + + (-screened_rates(k_p_O17_to_F18)*Y(O17)*Y(H1)*state.rho + screened_rates(k_F18_to_p_O17)*Y(F18)) + + (-screened_rates(k_He4_O17_to_Ne21)*Y(He4)*Y(O17)*state.rho + screened_rates(k_Ne21_to_He4_O17)*Y(Ne21)) + + (-screened_rates(k_p_O17_to_He4_N14)*Y(O17)*Y(H1)*state.rho + screened_rates(k_He4_N14_to_p_O17)*Y(He4)*Y(N14)*state.rho); + + ydot_nuc(O18) = + screened_rates(k_F18_to_O18_weak_wc12)*Y(F18) + + (-screened_rates(k_p_O18_to_F19)*Y(O18)*Y(H1)*state.rho + screened_rates(k_F19_to_p_O18)*Y(F19)) + + (-screened_rates(k_p_O18_to_He4_N15)*Y(O18)*Y(H1)*state.rho + screened_rates(k_He4_N15_to_p_O18)*Y(He4)*Y(N15)*state.rho); + + ydot_nuc(F17) = + -screened_rates(k_F17_to_O17_weak_wc12)*Y(F17) + + (screened_rates(k_p_O16_to_F17)*Y(O16)*Y(H1)*state.rho + -screened_rates(k_F17_to_p_O16)*Y(F17)) + + (-screened_rates(k_p_F17_to_Ne18)*Y(F17)*Y(H1)*state.rho + screened_rates(k_Ne18_to_p_F17)*Y(Ne18)) + + (screened_rates(k_He4_O14_to_p_F17)*Y(He4)*Y(O14)*state.rho + -screened_rates(k_p_F17_to_He4_O14)*Y(F17)*Y(H1)*state.rho) + + (-screened_rates(k_He4_F17_to_p_Ne20)*Y(F17)*Y(He4)*state.rho + screened_rates(k_p_Ne20_to_He4_F17)*Y(Ne20)*Y(H1)*state.rho); + + ydot_nuc(F18) = + -screened_rates(k_F18_to_O18_weak_wc12)*Y(F18) + + screened_rates(k_Ne18_to_F18_weak_wc12)*Y(Ne18) + + (screened_rates(k_He4_N14_to_F18)*Y(He4)*Y(N14)*state.rho + -screened_rates(k_F18_to_He4_N14)*Y(F18)) + + (screened_rates(k_p_O17_to_F18)*Y(O17)*Y(H1)*state.rho + -screened_rates(k_F18_to_p_O17)*Y(F18)) + + (-screened_rates(k_p_F18_to_Ne19)*Y(F18)*Y(H1)*state.rho + screened_rates(k_Ne19_to_p_F18)*Y(Ne19)) + + (-screened_rates(k_He4_F18_to_Na22)*Y(F18)*Y(He4)*state.rho + screened_rates(k_Na22_to_He4_F18)*Y(Na22)) + + (-screened_rates(k_p_F18_to_He4_O15)*Y(F18)*Y(H1)*state.rho + screened_rates(k_He4_O15_to_p_F18)*Y(He4)*Y(O15)*state.rho) + + (-screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*Y(He4)*state.rho + screened_rates(k_p_Ne21_to_He4_F18)*Y(Ne21)*Y(H1)*state.rho); + + ydot_nuc(F19) = + screened_rates(k_Ne19_to_F19_weak_wc12)*Y(Ne19) + + (screened_rates(k_He4_N15_to_F19)*Y(He4)*Y(N15)*state.rho + -screened_rates(k_F19_to_He4_N15)*Y(F19)) + + (screened_rates(k_p_O18_to_F19)*Y(O18)*Y(H1)*state.rho + -screened_rates(k_F19_to_p_O18)*Y(F19)) + + (-screened_rates(k_p_F19_to_Ne20)*Y(F19)*Y(H1)*state.rho + screened_rates(k_Ne20_to_p_F19)*Y(Ne20)) + + (-screened_rates(k_He4_F19_to_Na23)*Y(F19)*Y(He4)*state.rho + screened_rates(k_Na23_to_He4_F19)*Y(Na23)) + + (-screened_rates(k_p_F19_to_He4_O16)*Y(F19)*Y(H1)*state.rho + screened_rates(k_He4_O16_to_p_F19)*Y(He4)*Y(O16)*state.rho); + + ydot_nuc(Ne18) = + -screened_rates(k_Ne18_to_F18_weak_wc12)*Y(Ne18) + + (screened_rates(k_He4_O14_to_Ne18)*Y(He4)*Y(O14)*state.rho + -screened_rates(k_Ne18_to_He4_O14)*Y(Ne18)) + + (screened_rates(k_p_F17_to_Ne18)*Y(F17)*Y(H1)*state.rho + -screened_rates(k_Ne18_to_p_F17)*Y(Ne18)) + + (-screened_rates(k_He4_Ne18_to_Mg22)*Y(He4)*Y(Ne18)*state.rho + screened_rates(k_Mg22_to_He4_Ne18)*Y(Mg22)); + + ydot_nuc(Ne19) = + -screened_rates(k_Ne19_to_F19_weak_wc12)*Y(Ne19) + + (screened_rates(k_He4_O15_to_Ne19)*Y(He4)*Y(O15)*state.rho + -screened_rates(k_Ne19_to_He4_O15)*Y(Ne19)) + + (screened_rates(k_p_F18_to_Ne19)*Y(F18)*Y(H1)*state.rho + -screened_rates(k_Ne19_to_p_F18)*Y(Ne19)) + + (-screened_rates(k_He4_Ne19_to_p_Na22)*Y(He4)*Y(Ne19)*state.rho + screened_rates(k_p_Na22_to_He4_Ne19)*Y(Na22)*Y(H1)*state.rho); + + ydot_nuc(Ne20) = + (screened_rates(k_He4_O16_to_Ne20)*Y(He4)*Y(O16)*state.rho + -screened_rates(k_Ne20_to_He4_O16)*Y(Ne20)) + + (screened_rates(k_p_F19_to_Ne20)*Y(F19)*Y(H1)*state.rho + -screened_rates(k_Ne20_to_p_F19)*Y(Ne20)) + + (-screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*Y(Ne20)*state.rho + screened_rates(k_Mg24_to_He4_Ne20)*Y(Mg24)) + + 0.5*screened_rates(k_C12_C12_to_He4_Ne20)*amrex::Math::powi<2>(Y(C12))*state.rho + + (screened_rates(k_He4_F17_to_p_Ne20)*Y(F17)*Y(He4)*state.rho + -screened_rates(k_p_Ne20_to_He4_F17)*Y(Ne20)*Y(H1)*state.rho) + + (screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*Y(H1)*state.rho + -screened_rates(k_He4_Ne20_to_p_Na23)*Y(He4)*Y(Ne20)*state.rho); + + ydot_nuc(Ne21) = + (screened_rates(k_He4_O17_to_Ne21)*Y(He4)*Y(O17)*state.rho + -screened_rates(k_Ne21_to_He4_O17)*Y(Ne21)) + + (-screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*Y(H1)*state.rho + screened_rates(k_Na22_to_p_Ne21)*Y(Na22)) + + (screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*Y(He4)*state.rho + -screened_rates(k_p_Ne21_to_He4_F18)*Y(Ne21)*Y(H1)*state.rho); + + ydot_nuc(Na22) = + screened_rates(k_Mg22_to_Na22_weak_wc12)*Y(Mg22) + + (screened_rates(k_He4_F18_to_Na22)*Y(F18)*Y(He4)*state.rho + -screened_rates(k_Na22_to_He4_F18)*Y(Na22)) + + (screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*Y(H1)*state.rho + -screened_rates(k_Na22_to_p_Ne21)*Y(Na22)) + + (screened_rates(k_He4_Ne19_to_p_Na22)*Y(He4)*Y(Ne19)*state.rho + -screened_rates(k_p_Na22_to_He4_Ne19)*Y(Na22)*Y(H1)*state.rho); + + ydot_nuc(Na23) = + (screened_rates(k_He4_F19_to_Na23)*Y(F19)*Y(He4)*state.rho + -screened_rates(k_Na23_to_He4_F19)*Y(Na23)) + + (-screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*Y(H1)*state.rho + screened_rates(k_Mg24_to_p_Na23)*Y(Mg24)) + + 0.5*screened_rates(k_C12_C12_to_p_Na23)*amrex::Math::powi<2>(Y(C12))*state.rho + + (-screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*Y(H1)*state.rho + screened_rates(k_He4_Ne20_to_p_Na23)*Y(He4)*Y(Ne20)*state.rho); + + ydot_nuc(Mg22) = + -screened_rates(k_Mg22_to_Na22_weak_wc12)*Y(Mg22) + + (screened_rates(k_He4_Ne18_to_Mg22)*Y(He4)*Y(Ne18)*state.rho + -screened_rates(k_Mg22_to_He4_Ne18)*Y(Mg22)); + + ydot_nuc(Mg24) = + (screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*Y(Ne20)*state.rho + -screened_rates(k_Mg24_to_He4_Ne20)*Y(Mg24)) + + (screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*Y(H1)*state.rho + -screened_rates(k_Mg24_to_p_Na23)*Y(Mg24)) + + (-screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*Y(Mg24)*state.rho + screened_rates(k_Si28_to_He4_Mg24)*Y(Si28)) + + screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*Y(O16)*state.rho + + (screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*Y(H1)*state.rho + -screened_rates(k_He4_Mg24_to_p_Al27)*Y(He4)*Y(Mg24)*state.rho) + + 0.5*screened_rates(k_C12_C12_to_Mg24_modified)*amrex::Math::powi<2>(Y(C12))*state.rho; + + ydot_nuc(Al27) = + (-screened_rates(k_p_Al27_to_Si28)*Y(Al27)*Y(H1)*state.rho + screened_rates(k_Si28_to_p_Al27)*Y(Si28)) + + screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*Y(O16)*state.rho + + (-screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*Y(H1)*state.rho + screened_rates(k_He4_Mg24_to_p_Al27)*Y(He4)*Y(Mg24)*state.rho); + + ydot_nuc(Si28) = + (screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*Y(Mg24)*state.rho + -screened_rates(k_Si28_to_He4_Mg24)*Y(Si28)) + + (screened_rates(k_p_Al27_to_Si28)*Y(Al27)*Y(H1)*state.rho + -screened_rates(k_Si28_to_p_Al27)*Y(Si28)) + + (-screened_rates(k_He4_Si28_to_S32)*Y(He4)*Y(Si28)*state.rho + screened_rates(k_S32_to_He4_Si28)*Y(S32)) + + 0.5*screened_rates(k_O16_O16_to_He4_Si28)*amrex::Math::powi<2>(Y(O16))*state.rho + + (screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*Y(H1)*state.rho + -screened_rates(k_He4_Si28_to_p_P31)*Y(He4)*Y(Si28)*state.rho) + + screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*Y(O16)*state.rho; + + ydot_nuc(P31) = + (-screened_rates(k_p_P31_to_S32)*Y(P31)*Y(H1)*state.rho + screened_rates(k_S32_to_p_P31)*Y(S32)) + + 0.5*screened_rates(k_O16_O16_to_p_P31)*amrex::Math::powi<2>(Y(O16))*state.rho + + (-screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*Y(H1)*state.rho + screened_rates(k_He4_Si28_to_p_P31)*Y(He4)*Y(Si28)*state.rho); + + ydot_nuc(S32) = + (screened_rates(k_He4_Si28_to_S32)*Y(He4)*Y(Si28)*state.rho + -screened_rates(k_S32_to_He4_Si28)*Y(S32)) + + (screened_rates(k_p_P31_to_S32)*Y(P31)*Y(H1)*state.rho + -screened_rates(k_S32_to_p_P31)*Y(S32)) + + 0.5*screened_rates(k_O16_O16_to_S32_modified)*amrex::Math::powi<2>(Y(O16))*state.rho + + (-screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*Y(S32)*state.rho + screened_rates(k_Ar36_to_S32_He4_approx)*Y(Ar36)); + + ydot_nuc(Ar36) = + (screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*Y(S32)*state.rho + -screened_rates(k_Ar36_to_S32_He4_approx)*Y(Ar36)) + + (-screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*Y(He4)*state.rho + screened_rates(k_Ca40_to_Ar36_He4_approx)*Y(Ca40)); + + ydot_nuc(Ca40) = + (screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*Y(He4)*state.rho + -screened_rates(k_Ca40_to_Ar36_He4_approx)*Y(Ca40)) + + (-screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*Y(He4)*state.rho + screened_rates(k_Ti44_to_Ca40_He4_approx)*Y(Ti44)); + + ydot_nuc(Ti44) = + (screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*Y(He4)*state.rho + -screened_rates(k_Ti44_to_Ca40_He4_approx)*Y(Ti44)) + + (-screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*Y(Ti44)*state.rho + screened_rates(k_Cr48_to_Ti44_He4_approx)*Y(Cr48)); + + ydot_nuc(Cr48) = + (screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*Y(Ti44)*state.rho + -screened_rates(k_Cr48_to_Ti44_He4_approx)*Y(Cr48)) + + (-screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(Cr48)*Y(He4)*state.rho + screened_rates(k_Fe52_to_Cr48_He4_approx)*Y(Fe52)); + + ydot_nuc(Fe52) = + (screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(Cr48)*Y(He4)*state.rho + -screened_rates(k_Fe52_to_Cr48_He4_approx)*Y(Fe52)) + + (-screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(Fe52)*Y(He4)*state.rho + screened_rates(k_Ni56_to_Fe52_He4_approx)*Y(Ni56)); + + ydot_nuc(Ni56) = + (screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(Fe52)*Y(He4)*state.rho + -screened_rates(k_Ni56_to_Fe52_He4_approx)*Y(Ni56)); + +} + + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void actual_rhs (burn_t& state, amrex::Array1D& ydot) +{ + for (int i = 1; i <= neqs; ++i) { + ydot(i) = 0.0_rt; + } + + + // Set molar abundances + amrex::Array1D Y; + for (int i = 1; i <= NumSpec; ++i) { + Y(i) = state.xn[i-1] * aion_inv[i-1]; + } + + // build the rates + + rate_t rate_eval; + + constexpr int do_T_derivatives = 0; + + evaluate_rates(state, rate_eval); + + rhs_nuc(state, ydot, Y, rate_eval.screened_rates); + + // ion binding energy contributions + + amrex::Real enuc; + ener_gener_rate(ydot, enuc); + + // include any weak rate neutrino losses + enuc += rate_eval.enuc_weak; + + // Get the thermal neutrino losses + + amrex::Real sneut, dsneutdt, dsneutdd, dsnuda, dsnudz; + constexpr int do_derivatives{0}; + sneut5(state.T, state.rho, state.abar, state.zbar, sneut, dsneutdt, dsneutdd, dsnuda, dsnudz); + + // Append the energy equation (this is erg/g/s) + + ydot(net_ienuc) = enuc - sneut; + +} + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void jac_nuc(const burn_t& state, + MatrixType& jac, + const amrex::Array1D& Y, + const amrex::Array1D& screened_rates) +{ + + amrex::Real scratch; + + scratch = -screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*state.rho - screened_rates(k_p_Al27_to_Si28)*Y(Al27)*state.rho - screened_rates(k_p_C12_to_N13)*Y(C12)*state.rho - screened_rates(k_p_C13_to_N14)*Y(C13)*state.rho - screened_rates(k_p_F17_to_He4_O14)*Y(F17)*state.rho - screened_rates(k_p_F17_to_Ne18)*Y(F17)*state.rho - screened_rates(k_p_F18_to_He4_O15)*Y(F18)*state.rho - screened_rates(k_p_F18_to_Ne19)*Y(F18)*state.rho - screened_rates(k_p_F19_to_He4_O16)*Y(F19)*state.rho - screened_rates(k_p_F19_to_Ne20)*Y(F19)*state.rho - screened_rates(k_p_N13_to_O14)*Y(N13)*state.rho - screened_rates(k_p_N14_to_O15)*Y(N14)*state.rho - screened_rates(k_p_N15_to_He4_C12)*Y(N15)*state.rho - screened_rates(k_p_N15_to_O16)*Y(N15)*state.rho - screened_rates(k_p_Na22_to_He4_Ne19)*Y(Na22)*state.rho - screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*state.rho - screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*state.rho - screened_rates(k_p_Ne20_to_He4_F17)*Y(Ne20)*state.rho - screened_rates(k_p_Ne21_to_He4_F18)*Y(Ne21)*state.rho - screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*state.rho - screened_rates(k_p_O16_to_F17)*Y(O16)*state.rho - screened_rates(k_p_O16_to_He4_N13)*Y(O16)*state.rho - screened_rates(k_p_O17_to_F18)*Y(O17)*state.rho - screened_rates(k_p_O17_to_He4_N14)*Y(O17)*state.rho - screened_rates(k_p_O18_to_F19)*Y(O18)*state.rho - screened_rates(k_p_O18_to_He4_N15)*Y(O18)*state.rho - screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*state.rho - screened_rates(k_p_P31_to_S32)*Y(P31)*state.rho; + jac.set(H1, H1, scratch); + + scratch = screened_rates(k_He4_C12_to_p_N15)*Y(C12)*state.rho + screened_rates(k_He4_F17_to_p_Ne20)*Y(F17)*state.rho + screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*state.rho + screened_rates(k_He4_Mg24_to_p_Al27)*Y(Mg24)*state.rho + screened_rates(k_He4_N13_to_p_O16)*Y(N13)*state.rho + screened_rates(k_He4_N14_to_p_O17)*Y(N14)*state.rho + screened_rates(k_He4_N15_to_p_O18)*Y(N15)*state.rho + screened_rates(k_He4_Ne19_to_p_Na22)*Y(Ne19)*state.rho + screened_rates(k_He4_Ne20_to_p_Na23)*Y(Ne20)*state.rho + screened_rates(k_He4_O14_to_p_F17)*Y(O14)*state.rho + screened_rates(k_He4_O15_to_p_F18)*Y(O15)*state.rho + screened_rates(k_He4_O16_to_p_F19)*Y(O16)*state.rho + screened_rates(k_He4_Si28_to_p_P31)*Y(Si28)*state.rho; + jac.set(H1, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_p_Na23)*Y(C12)*state.rho + screened_rates(k_C12_O16_to_p_Al27)*Y(O16)*state.rho + screened_rates(k_He4_C12_to_p_N15)*Y(He4)*state.rho - screened_rates(k_p_C12_to_N13)*Y(H1)*state.rho; + jac.set(H1, C12, scratch); + + scratch = -screened_rates(k_p_C13_to_N14)*Y(H1)*state.rho; + jac.set(H1, C13, scratch); + + scratch = screened_rates(k_He4_N13_to_p_O16)*Y(He4)*state.rho + screened_rates(k_N13_to_p_C12) - screened_rates(k_p_N13_to_O14)*Y(H1)*state.rho; + jac.set(H1, N13, scratch); + + scratch = screened_rates(k_He4_N14_to_p_O17)*Y(He4)*state.rho + screened_rates(k_N14_to_p_C13) - screened_rates(k_p_N14_to_O15)*Y(H1)*state.rho; + jac.set(H1, N14, scratch); + + scratch = screened_rates(k_He4_N15_to_p_O18)*Y(He4)*state.rho - screened_rates(k_p_N15_to_He4_C12)*Y(H1)*state.rho - screened_rates(k_p_N15_to_O16)*Y(H1)*state.rho; + jac.set(H1, N15, scratch); + + scratch = screened_rates(k_He4_O14_to_p_F17)*Y(He4)*state.rho + screened_rates(k_O14_to_p_N13); + jac.set(H1, O14, scratch); + + scratch = screened_rates(k_He4_O15_to_p_F18)*Y(He4)*state.rho + screened_rates(k_O15_to_p_N14); + jac.set(H1, O15, scratch); + + scratch = screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*state.rho + screened_rates(k_He4_O16_to_p_F19)*Y(He4)*state.rho + 1.0*screened_rates(k_O16_O16_to_p_P31)*Y(O16)*state.rho + screened_rates(k_O16_to_p_N15) - screened_rates(k_p_O16_to_F17)*Y(H1)*state.rho - screened_rates(k_p_O16_to_He4_N13)*Y(H1)*state.rho; + jac.set(H1, O16, scratch); + + scratch = -screened_rates(k_p_O17_to_F18)*Y(H1)*state.rho - screened_rates(k_p_O17_to_He4_N14)*Y(H1)*state.rho; + jac.set(H1, O17, scratch); + + scratch = -screened_rates(k_p_O18_to_F19)*Y(H1)*state.rho - screened_rates(k_p_O18_to_He4_N15)*Y(H1)*state.rho; + jac.set(H1, O18, scratch); + + scratch = screened_rates(k_F17_to_p_O16) + screened_rates(k_He4_F17_to_p_Ne20)*Y(He4)*state.rho - screened_rates(k_p_F17_to_He4_O14)*Y(H1)*state.rho - screened_rates(k_p_F17_to_Ne18)*Y(H1)*state.rho; + jac.set(H1, F17, scratch); + + scratch = screened_rates(k_F18_to_p_O17) + screened_rates(k_He4_F18_to_p_Ne21)*Y(He4)*state.rho - screened_rates(k_p_F18_to_He4_O15)*Y(H1)*state.rho - screened_rates(k_p_F18_to_Ne19)*Y(H1)*state.rho; + jac.set(H1, F18, scratch); + + scratch = screened_rates(k_F19_to_p_O18) - screened_rates(k_p_F19_to_He4_O16)*Y(H1)*state.rho - screened_rates(k_p_F19_to_Ne20)*Y(H1)*state.rho; + jac.set(H1, F19, scratch); + + scratch = screened_rates(k_Ne18_to_p_F17); + jac.set(H1, Ne18, scratch); + + scratch = screened_rates(k_He4_Ne19_to_p_Na22)*Y(He4)*state.rho + screened_rates(k_Ne19_to_p_F18); + jac.set(H1, Ne19, scratch); + + scratch = screened_rates(k_He4_Ne20_to_p_Na23)*Y(He4)*state.rho + screened_rates(k_Ne20_to_p_F19) - screened_rates(k_p_Ne20_to_He4_F17)*Y(H1)*state.rho; + jac.set(H1, Ne20, scratch); + + scratch = -screened_rates(k_p_Ne21_to_He4_F18)*Y(H1)*state.rho - screened_rates(k_p_Ne21_to_Na22)*Y(H1)*state.rho; + jac.set(H1, Ne21, scratch); + + scratch = screened_rates(k_Na22_to_p_Ne21) - screened_rates(k_p_Na22_to_He4_Ne19)*Y(H1)*state.rho; + jac.set(H1, Na22, scratch); + + scratch = -screened_rates(k_p_Na23_to_He4_Ne20)*Y(H1)*state.rho - screened_rates(k_p_Na23_to_Mg24)*Y(H1)*state.rho; + jac.set(H1, Na23, scratch); + + scratch = screened_rates(k_He4_Mg24_to_p_Al27)*Y(He4)*state.rho + screened_rates(k_Mg24_to_p_Na23); + jac.set(H1, Mg24, scratch); + + scratch = -screened_rates(k_p_Al27_to_He4_Mg24)*Y(H1)*state.rho - screened_rates(k_p_Al27_to_Si28)*Y(H1)*state.rho; + jac.set(H1, Al27, scratch); + + scratch = screened_rates(k_He4_Si28_to_p_P31)*Y(He4)*state.rho + screened_rates(k_Si28_to_p_Al27); + jac.set(H1, Si28, scratch); + + scratch = -screened_rates(k_p_P31_to_He4_Si28)*Y(H1)*state.rho - screened_rates(k_p_P31_to_S32)*Y(H1)*state.rho; + jac.set(H1, P31, scratch); + + scratch = screened_rates(k_S32_to_p_P31); + jac.set(H1, S32, scratch); + + scratch = screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*state.rho + screened_rates(k_p_F17_to_He4_O14)*Y(F17)*state.rho + screened_rates(k_p_F18_to_He4_O15)*Y(F18)*state.rho + screened_rates(k_p_F19_to_He4_O16)*Y(F19)*state.rho + screened_rates(k_p_N15_to_He4_C12)*Y(N15)*state.rho + screened_rates(k_p_Na22_to_He4_Ne19)*Y(Na22)*state.rho + screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*state.rho + screened_rates(k_p_Ne20_to_He4_F17)*Y(Ne20)*state.rho + screened_rates(k_p_Ne21_to_He4_F18)*Y(Ne21)*state.rho + screened_rates(k_p_O16_to_He4_N13)*Y(O16)*state.rho + screened_rates(k_p_O17_to_He4_N14)*Y(O17)*state.rho + screened_rates(k_p_O18_to_He4_N15)*Y(O18)*state.rho + screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*state.rho; + jac.set(He4, H1, scratch); + + scratch = -screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*state.rho - screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*state.rho - screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(Cr48)*state.rho - screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(Fe52)*state.rho - screened_rates(k_He4_C12_to_O16)*Y(C12)*state.rho - screened_rates(k_He4_C12_to_p_N15)*Y(C12)*state.rho - screened_rates(k_He4_F17_to_p_Ne20)*Y(F17)*state.rho - screened_rates(k_He4_F18_to_Na22)*Y(F18)*state.rho - screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*state.rho - screened_rates(k_He4_F19_to_Na23)*Y(F19)*state.rho - 1.5*screened_rates(k_He4_He4_He4_to_C12)*amrex::Math::powi<2>(Y(He4))*amrex::Math::powi<2>(state.rho) - screened_rates(k_He4_Mg24_to_Si28)*Y(Mg24)*state.rho - screened_rates(k_He4_Mg24_to_p_Al27)*Y(Mg24)*state.rho - screened_rates(k_He4_N13_to_p_O16)*Y(N13)*state.rho - screened_rates(k_He4_N14_to_F18)*Y(N14)*state.rho - screened_rates(k_He4_N14_to_p_O17)*Y(N14)*state.rho - screened_rates(k_He4_N15_to_F19)*Y(N15)*state.rho - screened_rates(k_He4_N15_to_p_O18)*Y(N15)*state.rho - screened_rates(k_He4_Ne18_to_Mg22)*Y(Ne18)*state.rho - screened_rates(k_He4_Ne19_to_p_Na22)*Y(Ne19)*state.rho - screened_rates(k_He4_Ne20_to_Mg24)*Y(Ne20)*state.rho - screened_rates(k_He4_Ne20_to_p_Na23)*Y(Ne20)*state.rho - screened_rates(k_He4_O14_to_Ne18)*Y(O14)*state.rho - screened_rates(k_He4_O14_to_p_F17)*Y(O14)*state.rho - screened_rates(k_He4_O15_to_Ne19)*Y(O15)*state.rho - screened_rates(k_He4_O15_to_p_F18)*Y(O15)*state.rho - screened_rates(k_He4_O16_to_Ne20)*Y(O16)*state.rho - screened_rates(k_He4_O16_to_p_F19)*Y(O16)*state.rho - screened_rates(k_He4_O17_to_Ne21)*Y(O17)*state.rho - screened_rates(k_He4_Si28_to_S32)*Y(Si28)*state.rho - screened_rates(k_He4_Si28_to_p_P31)*Y(Si28)*state.rho - screened_rates(k_S32_He4_to_Ar36_approx)*Y(S32)*state.rho - screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(Ti44)*state.rho; + jac.set(He4, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_He4_Ne20)*Y(C12)*state.rho + screened_rates(k_C12_O16_to_He4_Mg24)*Y(O16)*state.rho + 3.0*screened_rates(k_C12_to_He4_He4_He4) - screened_rates(k_He4_C12_to_O16)*Y(He4)*state.rho - screened_rates(k_He4_C12_to_p_N15)*Y(He4)*state.rho; + jac.set(He4, C12, scratch); + + scratch = -screened_rates(k_He4_N13_to_p_O16)*Y(He4)*state.rho; + jac.set(He4, N13, scratch); + + scratch = -screened_rates(k_He4_N14_to_F18)*Y(He4)*state.rho - screened_rates(k_He4_N14_to_p_O17)*Y(He4)*state.rho; + jac.set(He4, N14, scratch); + + scratch = -screened_rates(k_He4_N15_to_F19)*Y(He4)*state.rho - screened_rates(k_He4_N15_to_p_O18)*Y(He4)*state.rho + screened_rates(k_p_N15_to_He4_C12)*Y(H1)*state.rho; + jac.set(He4, N15, scratch); + + scratch = -screened_rates(k_He4_O14_to_Ne18)*Y(He4)*state.rho - screened_rates(k_He4_O14_to_p_F17)*Y(He4)*state.rho; + jac.set(He4, O14, scratch); + + scratch = -screened_rates(k_He4_O15_to_Ne19)*Y(He4)*state.rho - screened_rates(k_He4_O15_to_p_F18)*Y(He4)*state.rho; + jac.set(He4, O15, scratch); + + scratch = screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*state.rho - screened_rates(k_He4_O16_to_Ne20)*Y(He4)*state.rho - screened_rates(k_He4_O16_to_p_F19)*Y(He4)*state.rho + 1.0*screened_rates(k_O16_O16_to_He4_Si28)*Y(O16)*state.rho + screened_rates(k_O16_to_He4_C12) + screened_rates(k_p_O16_to_He4_N13)*Y(H1)*state.rho; + jac.set(He4, O16, scratch); + + scratch = -screened_rates(k_He4_O17_to_Ne21)*Y(He4)*state.rho + screened_rates(k_p_O17_to_He4_N14)*Y(H1)*state.rho; + jac.set(He4, O17, scratch); + + scratch = screened_rates(k_p_O18_to_He4_N15)*Y(H1)*state.rho; + jac.set(He4, O18, scratch); + + scratch = -screened_rates(k_He4_F17_to_p_Ne20)*Y(He4)*state.rho + screened_rates(k_p_F17_to_He4_O14)*Y(H1)*state.rho; + jac.set(He4, F17, scratch); + + scratch = screened_rates(k_F18_to_He4_N14) - screened_rates(k_He4_F18_to_Na22)*Y(He4)*state.rho - screened_rates(k_He4_F18_to_p_Ne21)*Y(He4)*state.rho + screened_rates(k_p_F18_to_He4_O15)*Y(H1)*state.rho; + jac.set(He4, F18, scratch); + + scratch = screened_rates(k_F19_to_He4_N15) - screened_rates(k_He4_F19_to_Na23)*Y(He4)*state.rho + screened_rates(k_p_F19_to_He4_O16)*Y(H1)*state.rho; + jac.set(He4, F19, scratch); + + scratch = -screened_rates(k_He4_Ne18_to_Mg22)*Y(He4)*state.rho + screened_rates(k_Ne18_to_He4_O14); + jac.set(He4, Ne18, scratch); + + scratch = -screened_rates(k_He4_Ne19_to_p_Na22)*Y(He4)*state.rho + screened_rates(k_Ne19_to_He4_O15); + jac.set(He4, Ne19, scratch); + + scratch = -screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*state.rho - screened_rates(k_He4_Ne20_to_p_Na23)*Y(He4)*state.rho + screened_rates(k_Ne20_to_He4_O16) + screened_rates(k_p_Ne20_to_He4_F17)*Y(H1)*state.rho; + jac.set(He4, Ne20, scratch); + + scratch = screened_rates(k_Ne21_to_He4_O17) + screened_rates(k_p_Ne21_to_He4_F18)*Y(H1)*state.rho; + jac.set(He4, Ne21, scratch); + + scratch = screened_rates(k_Na22_to_He4_F18) + screened_rates(k_p_Na22_to_He4_Ne19)*Y(H1)*state.rho; + jac.set(He4, Na22, scratch); + + scratch = screened_rates(k_Na23_to_He4_F19) + screened_rates(k_p_Na23_to_He4_Ne20)*Y(H1)*state.rho; + jac.set(He4, Na23, scratch); + + scratch = screened_rates(k_Mg22_to_He4_Ne18); + jac.set(He4, Mg22, scratch); + + scratch = -screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*state.rho - screened_rates(k_He4_Mg24_to_p_Al27)*Y(He4)*state.rho + screened_rates(k_Mg24_to_He4_Ne20); + jac.set(He4, Mg24, scratch); + + scratch = screened_rates(k_p_Al27_to_He4_Mg24)*Y(H1)*state.rho; + jac.set(He4, Al27, scratch); + + scratch = -screened_rates(k_He4_Si28_to_S32)*Y(He4)*state.rho - screened_rates(k_He4_Si28_to_p_P31)*Y(He4)*state.rho + screened_rates(k_Si28_to_He4_Mg24); + jac.set(He4, Si28, scratch); + + scratch = screened_rates(k_p_P31_to_He4_Si28)*Y(H1)*state.rho; + jac.set(He4, P31, scratch); + + scratch = -screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*state.rho + screened_rates(k_S32_to_He4_Si28); + jac.set(He4, S32, scratch); + + scratch = -screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(He4)*state.rho + screened_rates(k_Ar36_to_S32_He4_approx); + jac.set(He4, Ar36, scratch); + + scratch = -screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(He4)*state.rho + screened_rates(k_Ca40_to_Ar36_He4_approx); + jac.set(He4, Ca40, scratch); + + scratch = -screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*state.rho + screened_rates(k_Ti44_to_Ca40_He4_approx); + jac.set(He4, Ti44, scratch); + + scratch = -screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(He4)*state.rho + screened_rates(k_Cr48_to_Ti44_He4_approx); + jac.set(He4, Cr48, scratch); + + scratch = -screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(He4)*state.rho + screened_rates(k_Fe52_to_Cr48_He4_approx); + jac.set(He4, Fe52, scratch); + + scratch = screened_rates(k_Ni56_to_Fe52_He4_approx); + jac.set(He4, Ni56, scratch); + + scratch = -screened_rates(k_p_C12_to_N13)*Y(C12)*state.rho + screened_rates(k_p_N15_to_He4_C12)*Y(N15)*state.rho; + jac.set(C12, H1, scratch); + + scratch = -screened_rates(k_He4_C12_to_O16)*Y(C12)*state.rho - screened_rates(k_He4_C12_to_p_N15)*Y(C12)*state.rho + 0.5*screened_rates(k_He4_He4_He4_to_C12)*amrex::Math::powi<2>(Y(He4))*amrex::Math::powi<2>(state.rho); + jac.set(C12, He4, scratch); + + scratch = -2.0*screened_rates(k_C12_C12_to_He4_Ne20)*Y(C12)*state.rho - 2.0*screened_rates(k_C12_C12_to_Mg24_modified)*Y(C12)*state.rho - 2.0*screened_rates(k_C12_C12_to_p_Na23)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_He4_Mg24)*Y(O16)*state.rho - screened_rates(k_C12_O16_to_Si28_modified)*Y(O16)*state.rho - screened_rates(k_C12_O16_to_p_Al27)*Y(O16)*state.rho - screened_rates(k_C12_to_He4_He4_He4) - screened_rates(k_He4_C12_to_O16)*Y(He4)*state.rho - screened_rates(k_He4_C12_to_p_N15)*Y(He4)*state.rho - screened_rates(k_p_C12_to_N13)*Y(H1)*state.rho; + jac.set(C12, C12, scratch); + + scratch = screened_rates(k_N13_to_p_C12); + jac.set(C12, N13, scratch); + + scratch = screened_rates(k_p_N15_to_He4_C12)*Y(H1)*state.rho; + jac.set(C12, N15, scratch); + + scratch = -screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*state.rho + screened_rates(k_O16_to_He4_C12); + jac.set(C12, O16, scratch); + + scratch = -screened_rates(k_p_C13_to_N14)*Y(C13)*state.rho; + jac.set(C13, H1, scratch); + + scratch = -screened_rates(k_p_C13_to_N14)*Y(H1)*state.rho; + jac.set(C13, C13, scratch); + + scratch = screened_rates(k_N13_to_C13_weak_wc12); + jac.set(C13, N13, scratch); + + scratch = screened_rates(k_N14_to_p_C13); + jac.set(C13, N14, scratch); + + scratch = screened_rates(k_p_C12_to_N13)*Y(C12)*state.rho - screened_rates(k_p_N13_to_O14)*Y(N13)*state.rho + screened_rates(k_p_O16_to_He4_N13)*Y(O16)*state.rho; + jac.set(N13, H1, scratch); + + scratch = -screened_rates(k_He4_N13_to_p_O16)*Y(N13)*state.rho; + jac.set(N13, He4, scratch); + + scratch = screened_rates(k_p_C12_to_N13)*Y(H1)*state.rho; + jac.set(N13, C12, scratch); + + scratch = -screened_rates(k_He4_N13_to_p_O16)*Y(He4)*state.rho - screened_rates(k_N13_to_C13_weak_wc12) - screened_rates(k_N13_to_p_C12) - screened_rates(k_p_N13_to_O14)*Y(H1)*state.rho; + jac.set(N13, N13, scratch); + + scratch = screened_rates(k_O14_to_p_N13); + jac.set(N13, O14, scratch); + + scratch = screened_rates(k_p_O16_to_He4_N13)*Y(H1)*state.rho; + jac.set(N13, O16, scratch); + + scratch = screened_rates(k_p_C13_to_N14)*Y(C13)*state.rho - screened_rates(k_p_N14_to_O15)*Y(N14)*state.rho + screened_rates(k_p_O17_to_He4_N14)*Y(O17)*state.rho; + jac.set(N14, H1, scratch); + + scratch = -screened_rates(k_He4_N14_to_F18)*Y(N14)*state.rho - screened_rates(k_He4_N14_to_p_O17)*Y(N14)*state.rho; + jac.set(N14, He4, scratch); + + scratch = screened_rates(k_p_C13_to_N14)*Y(H1)*state.rho; + jac.set(N14, C13, scratch); + + scratch = -screened_rates(k_He4_N14_to_F18)*Y(He4)*state.rho - screened_rates(k_He4_N14_to_p_O17)*Y(He4)*state.rho - screened_rates(k_N14_to_p_C13) - screened_rates(k_p_N14_to_O15)*Y(H1)*state.rho; + jac.set(N14, N14, scratch); + + scratch = screened_rates(k_O14_to_N14_weak_wc12); + jac.set(N14, O14, scratch); + + scratch = screened_rates(k_O15_to_p_N14); + jac.set(N14, O15, scratch); + + scratch = screened_rates(k_p_O17_to_He4_N14)*Y(H1)*state.rho; + jac.set(N14, O17, scratch); + + scratch = screened_rates(k_F18_to_He4_N14); + jac.set(N14, F18, scratch); + + scratch = -screened_rates(k_p_N15_to_He4_C12)*Y(N15)*state.rho - screened_rates(k_p_N15_to_O16)*Y(N15)*state.rho + screened_rates(k_p_O18_to_He4_N15)*Y(O18)*state.rho; + jac.set(N15, H1, scratch); + + scratch = screened_rates(k_He4_C12_to_p_N15)*Y(C12)*state.rho - screened_rates(k_He4_N15_to_F19)*Y(N15)*state.rho - screened_rates(k_He4_N15_to_p_O18)*Y(N15)*state.rho; + jac.set(N15, He4, scratch); + + scratch = screened_rates(k_He4_C12_to_p_N15)*Y(He4)*state.rho; + jac.set(N15, C12, scratch); + + scratch = -screened_rates(k_He4_N15_to_F19)*Y(He4)*state.rho - screened_rates(k_He4_N15_to_p_O18)*Y(He4)*state.rho - screened_rates(k_p_N15_to_He4_C12)*Y(H1)*state.rho - screened_rates(k_p_N15_to_O16)*Y(H1)*state.rho; + jac.set(N15, N15, scratch); + + scratch = screened_rates(k_O15_to_N15_weak_wc12); + jac.set(N15, O15, scratch); + + scratch = screened_rates(k_O16_to_p_N15); + jac.set(N15, O16, scratch); + + scratch = screened_rates(k_p_O18_to_He4_N15)*Y(H1)*state.rho; + jac.set(N15, O18, scratch); + + scratch = screened_rates(k_F19_to_He4_N15); + jac.set(N15, F19, scratch); + + scratch = screened_rates(k_p_F17_to_He4_O14)*Y(F17)*state.rho + screened_rates(k_p_N13_to_O14)*Y(N13)*state.rho; + jac.set(O14, H1, scratch); + + scratch = -screened_rates(k_He4_O14_to_Ne18)*Y(O14)*state.rho - screened_rates(k_He4_O14_to_p_F17)*Y(O14)*state.rho; + jac.set(O14, He4, scratch); + + scratch = screened_rates(k_p_N13_to_O14)*Y(H1)*state.rho; + jac.set(O14, N13, scratch); + + scratch = -screened_rates(k_He4_O14_to_Ne18)*Y(He4)*state.rho - screened_rates(k_He4_O14_to_p_F17)*Y(He4)*state.rho - screened_rates(k_O14_to_N14_weak_wc12) - screened_rates(k_O14_to_p_N13); + jac.set(O14, O14, scratch); + + scratch = screened_rates(k_p_F17_to_He4_O14)*Y(H1)*state.rho; + jac.set(O14, F17, scratch); + + scratch = screened_rates(k_Ne18_to_He4_O14); + jac.set(O14, Ne18, scratch); + + scratch = screened_rates(k_p_F18_to_He4_O15)*Y(F18)*state.rho + screened_rates(k_p_N14_to_O15)*Y(N14)*state.rho; + jac.set(O15, H1, scratch); + + scratch = -screened_rates(k_He4_O15_to_Ne19)*Y(O15)*state.rho - screened_rates(k_He4_O15_to_p_F18)*Y(O15)*state.rho; + jac.set(O15, He4, scratch); + + scratch = screened_rates(k_p_N14_to_O15)*Y(H1)*state.rho; + jac.set(O15, N14, scratch); + + scratch = -screened_rates(k_He4_O15_to_Ne19)*Y(He4)*state.rho - screened_rates(k_He4_O15_to_p_F18)*Y(He4)*state.rho - screened_rates(k_O15_to_N15_weak_wc12) - screened_rates(k_O15_to_p_N14); + jac.set(O15, O15, scratch); + + scratch = screened_rates(k_p_F18_to_He4_O15)*Y(H1)*state.rho; + jac.set(O15, F18, scratch); + + scratch = screened_rates(k_Ne19_to_He4_O15); + jac.set(O15, Ne19, scratch); + + scratch = screened_rates(k_p_F19_to_He4_O16)*Y(F19)*state.rho + screened_rates(k_p_N15_to_O16)*Y(N15)*state.rho - screened_rates(k_p_O16_to_F17)*Y(O16)*state.rho - screened_rates(k_p_O16_to_He4_N13)*Y(O16)*state.rho; + jac.set(O16, H1, scratch); + + scratch = screened_rates(k_He4_C12_to_O16)*Y(C12)*state.rho + screened_rates(k_He4_N13_to_p_O16)*Y(N13)*state.rho - screened_rates(k_He4_O16_to_Ne20)*Y(O16)*state.rho - screened_rates(k_He4_O16_to_p_F19)*Y(O16)*state.rho; + jac.set(O16, He4, scratch); + + scratch = -screened_rates(k_C12_O16_to_He4_Mg24)*Y(O16)*state.rho - screened_rates(k_C12_O16_to_Si28_modified)*Y(O16)*state.rho - screened_rates(k_C12_O16_to_p_Al27)*Y(O16)*state.rho + screened_rates(k_He4_C12_to_O16)*Y(He4)*state.rho; + jac.set(O16, C12, scratch); + + scratch = screened_rates(k_He4_N13_to_p_O16)*Y(He4)*state.rho; + jac.set(O16, N13, scratch); + + scratch = screened_rates(k_p_N15_to_O16)*Y(H1)*state.rho; + jac.set(O16, N15, scratch); + + scratch = -screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*state.rho - screened_rates(k_He4_O16_to_Ne20)*Y(He4)*state.rho - screened_rates(k_He4_O16_to_p_F19)*Y(He4)*state.rho - 2.0*screened_rates(k_O16_O16_to_He4_Si28)*Y(O16)*state.rho - 2.0*screened_rates(k_O16_O16_to_S32_modified)*Y(O16)*state.rho - 2.0*screened_rates(k_O16_O16_to_p_P31)*Y(O16)*state.rho - screened_rates(k_O16_to_He4_C12) - screened_rates(k_O16_to_p_N15) - screened_rates(k_p_O16_to_F17)*Y(H1)*state.rho - screened_rates(k_p_O16_to_He4_N13)*Y(H1)*state.rho; + jac.set(O16, O16, scratch); + + scratch = screened_rates(k_F17_to_p_O16); + jac.set(O16, F17, scratch); + + scratch = screened_rates(k_p_F19_to_He4_O16)*Y(H1)*state.rho; + jac.set(O16, F19, scratch); + + scratch = screened_rates(k_Ne20_to_He4_O16); + jac.set(O16, Ne20, scratch); + + scratch = -screened_rates(k_p_O17_to_F18)*Y(O17)*state.rho - screened_rates(k_p_O17_to_He4_N14)*Y(O17)*state.rho; + jac.set(O17, H1, scratch); + + scratch = screened_rates(k_He4_N14_to_p_O17)*Y(N14)*state.rho - screened_rates(k_He4_O17_to_Ne21)*Y(O17)*state.rho; + jac.set(O17, He4, scratch); + + scratch = screened_rates(k_He4_N14_to_p_O17)*Y(He4)*state.rho; + jac.set(O17, N14, scratch); + + scratch = -screened_rates(k_He4_O17_to_Ne21)*Y(He4)*state.rho - screened_rates(k_p_O17_to_F18)*Y(H1)*state.rho - screened_rates(k_p_O17_to_He4_N14)*Y(H1)*state.rho; + jac.set(O17, O17, scratch); + + scratch = screened_rates(k_F17_to_O17_weak_wc12); + jac.set(O17, F17, scratch); + + scratch = screened_rates(k_F18_to_p_O17); + jac.set(O17, F18, scratch); + + scratch = screened_rates(k_Ne21_to_He4_O17); + jac.set(O17, Ne21, scratch); + + scratch = -screened_rates(k_p_O18_to_F19)*Y(O18)*state.rho - screened_rates(k_p_O18_to_He4_N15)*Y(O18)*state.rho; + jac.set(O18, H1, scratch); + + scratch = screened_rates(k_He4_N15_to_p_O18)*Y(N15)*state.rho; + jac.set(O18, He4, scratch); + + scratch = screened_rates(k_He4_N15_to_p_O18)*Y(He4)*state.rho; + jac.set(O18, N15, scratch); + + scratch = -screened_rates(k_p_O18_to_F19)*Y(H1)*state.rho - screened_rates(k_p_O18_to_He4_N15)*Y(H1)*state.rho; + jac.set(O18, O18, scratch); + + scratch = screened_rates(k_F18_to_O18_weak_wc12); + jac.set(O18, F18, scratch); + + scratch = screened_rates(k_F19_to_p_O18); + jac.set(O18, F19, scratch); + + scratch = -screened_rates(k_p_F17_to_He4_O14)*Y(F17)*state.rho - screened_rates(k_p_F17_to_Ne18)*Y(F17)*state.rho + screened_rates(k_p_Ne20_to_He4_F17)*Y(Ne20)*state.rho + screened_rates(k_p_O16_to_F17)*Y(O16)*state.rho; + jac.set(F17, H1, scratch); + + scratch = -screened_rates(k_He4_F17_to_p_Ne20)*Y(F17)*state.rho + screened_rates(k_He4_O14_to_p_F17)*Y(O14)*state.rho; + jac.set(F17, He4, scratch); + + scratch = screened_rates(k_He4_O14_to_p_F17)*Y(He4)*state.rho; + jac.set(F17, O14, scratch); + + scratch = screened_rates(k_p_O16_to_F17)*Y(H1)*state.rho; + jac.set(F17, O16, scratch); + + scratch = -screened_rates(k_F17_to_O17_weak_wc12) - screened_rates(k_F17_to_p_O16) - screened_rates(k_He4_F17_to_p_Ne20)*Y(He4)*state.rho - screened_rates(k_p_F17_to_He4_O14)*Y(H1)*state.rho - screened_rates(k_p_F17_to_Ne18)*Y(H1)*state.rho; + jac.set(F17, F17, scratch); + + scratch = screened_rates(k_Ne18_to_p_F17); + jac.set(F17, Ne18, scratch); + + scratch = screened_rates(k_p_Ne20_to_He4_F17)*Y(H1)*state.rho; + jac.set(F17, Ne20, scratch); + + scratch = -screened_rates(k_p_F18_to_He4_O15)*Y(F18)*state.rho - screened_rates(k_p_F18_to_Ne19)*Y(F18)*state.rho + screened_rates(k_p_Ne21_to_He4_F18)*Y(Ne21)*state.rho + screened_rates(k_p_O17_to_F18)*Y(O17)*state.rho; + jac.set(F18, H1, scratch); + + scratch = -screened_rates(k_He4_F18_to_Na22)*Y(F18)*state.rho - screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*state.rho + screened_rates(k_He4_N14_to_F18)*Y(N14)*state.rho + screened_rates(k_He4_O15_to_p_F18)*Y(O15)*state.rho; + jac.set(F18, He4, scratch); + + scratch = screened_rates(k_He4_N14_to_F18)*Y(He4)*state.rho; + jac.set(F18, N14, scratch); + + scratch = screened_rates(k_He4_O15_to_p_F18)*Y(He4)*state.rho; + jac.set(F18, O15, scratch); + + scratch = screened_rates(k_p_O17_to_F18)*Y(H1)*state.rho; + jac.set(F18, O17, scratch); + + scratch = -screened_rates(k_F18_to_He4_N14) - screened_rates(k_F18_to_O18_weak_wc12) - screened_rates(k_F18_to_p_O17) - screened_rates(k_He4_F18_to_Na22)*Y(He4)*state.rho - screened_rates(k_He4_F18_to_p_Ne21)*Y(He4)*state.rho - screened_rates(k_p_F18_to_He4_O15)*Y(H1)*state.rho - screened_rates(k_p_F18_to_Ne19)*Y(H1)*state.rho; + jac.set(F18, F18, scratch); + + scratch = screened_rates(k_Ne18_to_F18_weak_wc12); + jac.set(F18, Ne18, scratch); + + scratch = screened_rates(k_Ne19_to_p_F18); + jac.set(F18, Ne19, scratch); + + scratch = screened_rates(k_p_Ne21_to_He4_F18)*Y(H1)*state.rho; + jac.set(F18, Ne21, scratch); + + scratch = screened_rates(k_Na22_to_He4_F18); + jac.set(F18, Na22, scratch); + + scratch = -screened_rates(k_p_F19_to_He4_O16)*Y(F19)*state.rho - screened_rates(k_p_F19_to_Ne20)*Y(F19)*state.rho + screened_rates(k_p_O18_to_F19)*Y(O18)*state.rho; + jac.set(F19, H1, scratch); + + scratch = -screened_rates(k_He4_F19_to_Na23)*Y(F19)*state.rho + screened_rates(k_He4_N15_to_F19)*Y(N15)*state.rho + screened_rates(k_He4_O16_to_p_F19)*Y(O16)*state.rho; + jac.set(F19, He4, scratch); + + scratch = screened_rates(k_He4_N15_to_F19)*Y(He4)*state.rho; + jac.set(F19, N15, scratch); + + scratch = screened_rates(k_He4_O16_to_p_F19)*Y(He4)*state.rho; + jac.set(F19, O16, scratch); + + scratch = screened_rates(k_p_O18_to_F19)*Y(H1)*state.rho; + jac.set(F19, O18, scratch); + + scratch = -screened_rates(k_F19_to_He4_N15) - screened_rates(k_F19_to_p_O18) - screened_rates(k_He4_F19_to_Na23)*Y(He4)*state.rho - screened_rates(k_p_F19_to_He4_O16)*Y(H1)*state.rho - screened_rates(k_p_F19_to_Ne20)*Y(H1)*state.rho; + jac.set(F19, F19, scratch); + + scratch = screened_rates(k_Ne19_to_F19_weak_wc12); + jac.set(F19, Ne19, scratch); + + scratch = screened_rates(k_Ne20_to_p_F19); + jac.set(F19, Ne20, scratch); + + scratch = screened_rates(k_Na23_to_He4_F19); + jac.set(F19, Na23, scratch); + + scratch = screened_rates(k_p_F17_to_Ne18)*Y(F17)*state.rho; + jac.set(Ne18, H1, scratch); + + scratch = -screened_rates(k_He4_Ne18_to_Mg22)*Y(Ne18)*state.rho + screened_rates(k_He4_O14_to_Ne18)*Y(O14)*state.rho; + jac.set(Ne18, He4, scratch); + + scratch = screened_rates(k_He4_O14_to_Ne18)*Y(He4)*state.rho; + jac.set(Ne18, O14, scratch); + + scratch = screened_rates(k_p_F17_to_Ne18)*Y(H1)*state.rho; + jac.set(Ne18, F17, scratch); + + scratch = -screened_rates(k_He4_Ne18_to_Mg22)*Y(He4)*state.rho - screened_rates(k_Ne18_to_F18_weak_wc12) - screened_rates(k_Ne18_to_He4_O14) - screened_rates(k_Ne18_to_p_F17); + jac.set(Ne18, Ne18, scratch); + + scratch = screened_rates(k_Mg22_to_He4_Ne18); + jac.set(Ne18, Mg22, scratch); + + scratch = screened_rates(k_p_F18_to_Ne19)*Y(F18)*state.rho + screened_rates(k_p_Na22_to_He4_Ne19)*Y(Na22)*state.rho; + jac.set(Ne19, H1, scratch); + + scratch = -screened_rates(k_He4_Ne19_to_p_Na22)*Y(Ne19)*state.rho + screened_rates(k_He4_O15_to_Ne19)*Y(O15)*state.rho; + jac.set(Ne19, He4, scratch); + + scratch = screened_rates(k_He4_O15_to_Ne19)*Y(He4)*state.rho; + jac.set(Ne19, O15, scratch); + + scratch = screened_rates(k_p_F18_to_Ne19)*Y(H1)*state.rho; + jac.set(Ne19, F18, scratch); + + scratch = -screened_rates(k_He4_Ne19_to_p_Na22)*Y(He4)*state.rho - screened_rates(k_Ne19_to_F19_weak_wc12) - screened_rates(k_Ne19_to_He4_O15) - screened_rates(k_Ne19_to_p_F18); + jac.set(Ne19, Ne19, scratch); + + scratch = screened_rates(k_p_Na22_to_He4_Ne19)*Y(H1)*state.rho; + jac.set(Ne19, Na22, scratch); + + scratch = screened_rates(k_p_F19_to_Ne20)*Y(F19)*state.rho + screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*state.rho - screened_rates(k_p_Ne20_to_He4_F17)*Y(Ne20)*state.rho; + jac.set(Ne20, H1, scratch); + + scratch = screened_rates(k_He4_F17_to_p_Ne20)*Y(F17)*state.rho - screened_rates(k_He4_Ne20_to_Mg24)*Y(Ne20)*state.rho - screened_rates(k_He4_Ne20_to_p_Na23)*Y(Ne20)*state.rho + screened_rates(k_He4_O16_to_Ne20)*Y(O16)*state.rho; + jac.set(Ne20, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_He4_Ne20)*Y(C12)*state.rho; + jac.set(Ne20, C12, scratch); + + scratch = screened_rates(k_He4_O16_to_Ne20)*Y(He4)*state.rho; + jac.set(Ne20, O16, scratch); + + scratch = screened_rates(k_He4_F17_to_p_Ne20)*Y(He4)*state.rho; + jac.set(Ne20, F17, scratch); + + scratch = screened_rates(k_p_F19_to_Ne20)*Y(H1)*state.rho; + jac.set(Ne20, F19, scratch); + + scratch = -screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*state.rho - screened_rates(k_He4_Ne20_to_p_Na23)*Y(He4)*state.rho - screened_rates(k_Ne20_to_He4_O16) - screened_rates(k_Ne20_to_p_F19) - screened_rates(k_p_Ne20_to_He4_F17)*Y(H1)*state.rho; + jac.set(Ne20, Ne20, scratch); + + scratch = screened_rates(k_p_Na23_to_He4_Ne20)*Y(H1)*state.rho; + jac.set(Ne20, Na23, scratch); + + scratch = screened_rates(k_Mg24_to_He4_Ne20); + jac.set(Ne20, Mg24, scratch); + + scratch = -screened_rates(k_p_Ne21_to_He4_F18)*Y(Ne21)*state.rho - screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*state.rho; + jac.set(Ne21, H1, scratch); + + scratch = screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*state.rho + screened_rates(k_He4_O17_to_Ne21)*Y(O17)*state.rho; + jac.set(Ne21, He4, scratch); + + scratch = screened_rates(k_He4_O17_to_Ne21)*Y(He4)*state.rho; + jac.set(Ne21, O17, scratch); + + scratch = screened_rates(k_He4_F18_to_p_Ne21)*Y(He4)*state.rho; + jac.set(Ne21, F18, scratch); + + scratch = -screened_rates(k_Ne21_to_He4_O17) - screened_rates(k_p_Ne21_to_He4_F18)*Y(H1)*state.rho - screened_rates(k_p_Ne21_to_Na22)*Y(H1)*state.rho; + jac.set(Ne21, Ne21, scratch); + + scratch = screened_rates(k_Na22_to_p_Ne21); + jac.set(Ne21, Na22, scratch); + + scratch = -screened_rates(k_p_Na22_to_He4_Ne19)*Y(Na22)*state.rho + screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*state.rho; + jac.set(Na22, H1, scratch); + + scratch = screened_rates(k_He4_F18_to_Na22)*Y(F18)*state.rho + screened_rates(k_He4_Ne19_to_p_Na22)*Y(Ne19)*state.rho; + jac.set(Na22, He4, scratch); + + scratch = screened_rates(k_He4_F18_to_Na22)*Y(He4)*state.rho; + jac.set(Na22, F18, scratch); + + scratch = screened_rates(k_He4_Ne19_to_p_Na22)*Y(He4)*state.rho; + jac.set(Na22, Ne19, scratch); + + scratch = screened_rates(k_p_Ne21_to_Na22)*Y(H1)*state.rho; + jac.set(Na22, Ne21, scratch); + + scratch = -screened_rates(k_Na22_to_He4_F18) - screened_rates(k_Na22_to_p_Ne21) - screened_rates(k_p_Na22_to_He4_Ne19)*Y(H1)*state.rho; + jac.set(Na22, Na22, scratch); + + scratch = screened_rates(k_Mg22_to_Na22_weak_wc12); + jac.set(Na22, Mg22, scratch); + + scratch = -screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*state.rho - screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*state.rho; + jac.set(Na23, H1, scratch); + + scratch = screened_rates(k_He4_F19_to_Na23)*Y(F19)*state.rho + screened_rates(k_He4_Ne20_to_p_Na23)*Y(Ne20)*state.rho; + jac.set(Na23, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_p_Na23)*Y(C12)*state.rho; + jac.set(Na23, C12, scratch); + + scratch = screened_rates(k_He4_F19_to_Na23)*Y(He4)*state.rho; + jac.set(Na23, F19, scratch); + + scratch = screened_rates(k_He4_Ne20_to_p_Na23)*Y(He4)*state.rho; + jac.set(Na23, Ne20, scratch); + + scratch = -screened_rates(k_Na23_to_He4_F19) - screened_rates(k_p_Na23_to_He4_Ne20)*Y(H1)*state.rho - screened_rates(k_p_Na23_to_Mg24)*Y(H1)*state.rho; + jac.set(Na23, Na23, scratch); + + scratch = screened_rates(k_Mg24_to_p_Na23); + jac.set(Na23, Mg24, scratch); + + scratch = screened_rates(k_He4_Ne18_to_Mg22)*Y(Ne18)*state.rho; + jac.set(Mg22, He4, scratch); + + scratch = screened_rates(k_He4_Ne18_to_Mg22)*Y(He4)*state.rho; + jac.set(Mg22, Ne18, scratch); + + scratch = -screened_rates(k_Mg22_to_He4_Ne18) - screened_rates(k_Mg22_to_Na22_weak_wc12); + jac.set(Mg22, Mg22, scratch); + + scratch = screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*state.rho + screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*state.rho; + jac.set(Mg24, H1, scratch); + + scratch = -screened_rates(k_He4_Mg24_to_Si28)*Y(Mg24)*state.rho - screened_rates(k_He4_Mg24_to_p_Al27)*Y(Mg24)*state.rho + screened_rates(k_He4_Ne20_to_Mg24)*Y(Ne20)*state.rho; + jac.set(Mg24, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_Mg24_modified)*Y(C12)*state.rho + screened_rates(k_C12_O16_to_He4_Mg24)*Y(O16)*state.rho; + jac.set(Mg24, C12, scratch); + + scratch = screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*state.rho; + jac.set(Mg24, O16, scratch); + + scratch = screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*state.rho; + jac.set(Mg24, Ne20, scratch); + + scratch = screened_rates(k_p_Na23_to_Mg24)*Y(H1)*state.rho; + jac.set(Mg24, Na23, scratch); + + scratch = -screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*state.rho - screened_rates(k_He4_Mg24_to_p_Al27)*Y(He4)*state.rho - screened_rates(k_Mg24_to_He4_Ne20) - screened_rates(k_Mg24_to_p_Na23); + jac.set(Mg24, Mg24, scratch); + + scratch = screened_rates(k_p_Al27_to_He4_Mg24)*Y(H1)*state.rho; + jac.set(Mg24, Al27, scratch); + + scratch = screened_rates(k_Si28_to_He4_Mg24); + jac.set(Mg24, Si28, scratch); + + scratch = -screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*state.rho - screened_rates(k_p_Al27_to_Si28)*Y(Al27)*state.rho; + jac.set(Al27, H1, scratch); + + scratch = screened_rates(k_He4_Mg24_to_p_Al27)*Y(Mg24)*state.rho; + jac.set(Al27, He4, scratch); + + scratch = screened_rates(k_C12_O16_to_p_Al27)*Y(O16)*state.rho; + jac.set(Al27, C12, scratch); + + scratch = screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*state.rho; + jac.set(Al27, O16, scratch); + + scratch = screened_rates(k_He4_Mg24_to_p_Al27)*Y(He4)*state.rho; + jac.set(Al27, Mg24, scratch); + + scratch = -screened_rates(k_p_Al27_to_He4_Mg24)*Y(H1)*state.rho - screened_rates(k_p_Al27_to_Si28)*Y(H1)*state.rho; + jac.set(Al27, Al27, scratch); + + scratch = screened_rates(k_Si28_to_p_Al27); + jac.set(Al27, Si28, scratch); + + scratch = screened_rates(k_p_Al27_to_Si28)*Y(Al27)*state.rho + screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*state.rho; + jac.set(Si28, H1, scratch); + + scratch = screened_rates(k_He4_Mg24_to_Si28)*Y(Mg24)*state.rho - screened_rates(k_He4_Si28_to_S32)*Y(Si28)*state.rho - screened_rates(k_He4_Si28_to_p_P31)*Y(Si28)*state.rho; + jac.set(Si28, He4, scratch); + + scratch = screened_rates(k_C12_O16_to_Si28_modified)*Y(O16)*state.rho; + jac.set(Si28, C12, scratch); + + scratch = screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*state.rho + 1.0*screened_rates(k_O16_O16_to_He4_Si28)*Y(O16)*state.rho; + jac.set(Si28, O16, scratch); + + scratch = screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*state.rho; + jac.set(Si28, Mg24, scratch); + + scratch = screened_rates(k_p_Al27_to_Si28)*Y(H1)*state.rho; + jac.set(Si28, Al27, scratch); + + scratch = -screened_rates(k_He4_Si28_to_S32)*Y(He4)*state.rho - screened_rates(k_He4_Si28_to_p_P31)*Y(He4)*state.rho - screened_rates(k_Si28_to_He4_Mg24) - screened_rates(k_Si28_to_p_Al27); + jac.set(Si28, Si28, scratch); + + scratch = screened_rates(k_p_P31_to_He4_Si28)*Y(H1)*state.rho; + jac.set(Si28, P31, scratch); + + scratch = screened_rates(k_S32_to_He4_Si28); + jac.set(Si28, S32, scratch); + + scratch = -screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*state.rho - screened_rates(k_p_P31_to_S32)*Y(P31)*state.rho; + jac.set(P31, H1, scratch); + + scratch = screened_rates(k_He4_Si28_to_p_P31)*Y(Si28)*state.rho; + jac.set(P31, He4, scratch); + + scratch = 1.0*screened_rates(k_O16_O16_to_p_P31)*Y(O16)*state.rho; + jac.set(P31, O16, scratch); + + scratch = screened_rates(k_He4_Si28_to_p_P31)*Y(He4)*state.rho; + jac.set(P31, Si28, scratch); + + scratch = -screened_rates(k_p_P31_to_He4_Si28)*Y(H1)*state.rho - screened_rates(k_p_P31_to_S32)*Y(H1)*state.rho; + jac.set(P31, P31, scratch); + + scratch = screened_rates(k_S32_to_p_P31); + jac.set(P31, S32, scratch); + + scratch = screened_rates(k_p_P31_to_S32)*Y(P31)*state.rho; + jac.set(S32, H1, scratch); + + scratch = screened_rates(k_He4_Si28_to_S32)*Y(Si28)*state.rho - screened_rates(k_S32_He4_to_Ar36_approx)*Y(S32)*state.rho; + jac.set(S32, He4, scratch); + + scratch = 1.0*screened_rates(k_O16_O16_to_S32_modified)*Y(O16)*state.rho; + jac.set(S32, O16, scratch); + + scratch = screened_rates(k_He4_Si28_to_S32)*Y(He4)*state.rho; + jac.set(S32, Si28, scratch); + + scratch = screened_rates(k_p_P31_to_S32)*Y(H1)*state.rho; + jac.set(S32, P31, scratch); + + scratch = -screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*state.rho - screened_rates(k_S32_to_He4_Si28) - screened_rates(k_S32_to_p_P31); + jac.set(S32, S32, scratch); + + scratch = screened_rates(k_Ar36_to_S32_He4_approx); + jac.set(S32, Ar36, scratch); + + scratch = -screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*state.rho + screened_rates(k_S32_He4_to_Ar36_approx)*Y(S32)*state.rho; + jac.set(Ar36, He4, scratch); + + scratch = screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*state.rho; + jac.set(Ar36, S32, scratch); + + scratch = -screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(He4)*state.rho - screened_rates(k_Ar36_to_S32_He4_approx); + jac.set(Ar36, Ar36, scratch); + + scratch = screened_rates(k_Ca40_to_Ar36_He4_approx); + jac.set(Ar36, Ca40, scratch); + + scratch = screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*state.rho - screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*state.rho; + jac.set(Ca40, He4, scratch); + + scratch = screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(He4)*state.rho; + jac.set(Ca40, Ar36, scratch); + + scratch = -screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(He4)*state.rho - screened_rates(k_Ca40_to_Ar36_He4_approx); + jac.set(Ca40, Ca40, scratch); + + scratch = screened_rates(k_Ti44_to_Ca40_He4_approx); + jac.set(Ca40, Ti44, scratch); + + scratch = screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*state.rho - screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(Ti44)*state.rho; + jac.set(Ti44, He4, scratch); + + scratch = screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(He4)*state.rho; + jac.set(Ti44, Ca40, scratch); + + scratch = -screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*state.rho - screened_rates(k_Ti44_to_Ca40_He4_approx); + jac.set(Ti44, Ti44, scratch); + + scratch = screened_rates(k_Cr48_to_Ti44_He4_approx); + jac.set(Ti44, Cr48, scratch); + + scratch = -screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(Cr48)*state.rho + screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(Ti44)*state.rho; + jac.set(Cr48, He4, scratch); + + scratch = screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*state.rho; + jac.set(Cr48, Ti44, scratch); + + scratch = -screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(He4)*state.rho - screened_rates(k_Cr48_to_Ti44_He4_approx); + jac.set(Cr48, Cr48, scratch); + + scratch = screened_rates(k_Fe52_to_Cr48_He4_approx); + jac.set(Cr48, Fe52, scratch); + + scratch = screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(Cr48)*state.rho - screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(Fe52)*state.rho; + jac.set(Fe52, He4, scratch); + + scratch = screened_rates(k_Cr48_He4_to_Fe52_approx)*Y(He4)*state.rho; + jac.set(Fe52, Cr48, scratch); + + scratch = -screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(He4)*state.rho - screened_rates(k_Fe52_to_Cr48_He4_approx); + jac.set(Fe52, Fe52, scratch); + + scratch = screened_rates(k_Ni56_to_Fe52_He4_approx); + jac.set(Fe52, Ni56, scratch); + + scratch = screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(Fe52)*state.rho; + jac.set(Ni56, He4, scratch); + + scratch = screened_rates(k_Fe52_He4_to_Ni56_approx)*Y(He4)*state.rho; + jac.set(Ni56, Fe52, scratch); + + scratch = -screened_rates(k_Ni56_to_Fe52_He4_approx); + jac.set(Ni56, Ni56, scratch); + + +} + + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void actual_jac(const burn_t& state, MatrixType& jac) +{ + + // Set molar abundances + amrex::Array1D Y; + for (int i = 1; i <= NumSpec; ++i) { + Y(i) = state.xn[i-1] * aion_inv[i-1]; + } + + + jac.zero(); + + rate_derivs_t rate_eval; + + constexpr int do_T_derivatives = 1; + + evaluate_rates(state, rate_eval); + + // Species Jacobian elements with respect to other species + + jac_nuc(state, jac, Y, rate_eval.screened_rates); + + // Energy generation rate Jacobian elements with respect to species + + for (int j = 1; j <= NumSpec; ++j) { + auto jac_slice_2 = [&](int i) -> amrex::Real { return jac.get(i, j); }; + ener_gener_rate(jac_slice_2, jac(net_ienuc,j)); + } + + // Account for the thermal neutrino losses + + amrex::Real sneut, dsneutdt, dsneutdd, dsnuda, dsnudz; + constexpr int do_derivatives{1}; + sneut5(state.T, state.rho, state.abar, state.zbar, sneut, dsneutdt, dsneutdd, dsnuda, dsnudz); + + for (int j = 1; j <= NumSpec; ++j) { + amrex::Real b1 = (-state.abar * state.abar * dsnuda + (zion[j-1] - state.zbar) * state.abar * dsnudz); + jac.add(net_ienuc, j, -b1); + } + + + // Evaluate the Jacobian elements with respect to energy by + // calling the RHS using d(rate) / dT and then transform them + // to our energy integration variable. + + amrex::Array1D yderivs; + + rhs_nuc(state, yderivs, Y, rate_eval.dscreened_rates_dT); + + for (int k = 1; k <= NumSpec; k++) { + jac.set(k, net_ienuc, temperature_to_energy_jacobian(state, yderivs(k))); + } + + + // finally, d(de/dt)/de + + amrex::Real jac_e_T; + ener_gener_rate(yderivs, jac_e_T); + jac_e_T -= dsneutdt; + jac.set(net_ienuc, net_ienuc, temperature_to_energy_jacobian(state, jac_e_T)); + +} + + +AMREX_INLINE +void actual_rhs_init () { + + init_tabular(); + +} + + +#endif diff --git a/networks/CNO_He_burn/inputs.burn_cell.VODE b/networks/CNO_He_burn/inputs.burn_cell.VODE new file mode 100644 index 0000000000..6615a6c258 --- /dev/null +++ b/networks/CNO_He_burn/inputs.burn_cell.VODE @@ -0,0 +1,59 @@ +unit_test.run_prefix = "react_pynucastro_" + +unit_test.small_temp = 1e5 +unit_test.small_dens = 1e5 + +integrator.burner_verbose = 0 + +# Set which jacobian to use +# 1 = analytic jacobian +# 2 = numerical jacobian +integrator.jacobian = 1 + +integrator.renormalize_abundances = 0 + +integrator.rtol_spec = 1.0e-6 +integrator.rtol_enuc = 1.0e-6 +integrator.atol_spec = 1.0e-6 +integrator.atol_enuc = 1.0e-6 + + +unit_test.tmax = 1.0 +unit_test.nsteps = 1000 + +unit_test.density = 1.0e7 +unit_test.temperature = 1.0e8 + +unit_test.X1 = 1.0 +unit_test.X2 = 0.0 +unit_test.X3 = 0.0 +unit_test.X4 = 0.0 +unit_test.X5 = 0.0 +unit_test.X6 = 0.0 +unit_test.X7 = 0.0 +unit_test.X8 = 0.0 +unit_test.X9 = 0.0 +unit_test.X10 = 0.0 +unit_test.X11 = 0.0 +unit_test.X12 = 0.0 +unit_test.X13 = 0.0 +unit_test.X14 = 0.0 +unit_test.X15 = 0.0 +unit_test.X16 = 0.0 +unit_test.X17 = 0.0 +unit_test.X18 = 0.0 +unit_test.X19 = 0.0 +unit_test.X20 = 0.0 +unit_test.X21 = 0.0 +unit_test.X22 = 0.0 +unit_test.X23 = 0.0 +unit_test.X24 = 0.0 +unit_test.X25 = 0.0 +unit_test.X26 = 0.0 +unit_test.X27 = 0.0 +unit_test.X28 = 0.0 +unit_test.X29 = 0.0 +unit_test.X30 = 0.0 +unit_test.X31 = 0.0 +unit_test.X32 = 0.0 +unit_test.X33 = 0.0 diff --git a/networks/CNO_He_burn/partition_functions.H b/networks/CNO_He_burn/partition_functions.H new file mode 100644 index 0000000000..38f06a550b --- /dev/null +++ b/networks/CNO_He_burn/partition_functions.H @@ -0,0 +1,192 @@ +#ifndef PARTITION_FUNCTIONS_H +#define PARTITION_FUNCTIONS_H + +#include +#include + +#include +#include +#include + +using namespace amrex; +using namespace Species; + +namespace part_fun { + + + + // interpolation routine + + template + AMREX_GPU_HOST_DEVICE AMREX_INLINE + void interpolate_pf(const amrex::Real t9, const amrex::Real (&temp_array)[npts], const amrex::Real (&pf_array)[npts], + amrex::Real& pf, amrex::Real& dpf_dT) { + + if (t9 >= temp_array[0] && t9 < temp_array[npts-1]) { + + // find the largest temperature element <= t9 using a binary search + + int left = 0; + int right = npts; + + while (left < right) { + int mid = (left + right) / 2; + if (temp_array[mid] > t9) { + right = mid; + } else { + left = mid + 1; + } + } + + const int idx = right - 1; + + // now we have temp_array[idx] <= t9 < temp_array[idx+1] + + // construct the slope -- this is (log10(pf_{i+1}) - log10(pf_i)) / (T_{i+1} - T_i) + + amrex::Real slope = (pf_array[idx+1] - pf_array[idx]) / (temp_array[idx+1] - temp_array[idx]); + + // find the PF + + amrex::Real log10_pf = pf_array[idx] + slope * (t9 - temp_array[idx]); + pf = std::pow(10.0_rt, log10_pf); + + // find the derivative (with respect to T, not T9) + + amrex::Real dpf_dT9 = pf * M_LN10 * slope; + dpf_dT = dpf_dT9 / 1.e9_rt; + + } else { + + // T < the smallest T or >= the largest T in the partition function table + pf = 1.0; + dpf_dT = 0.0; + + } + + } + + struct pf_cache_t { + // Store the coefficient and derivative adjacent in memory, as they're + // always accessed at the same time. + // The entries will be default-initialized to zero, which is fine since + // log10(x) is never zero. + amrex::Array2D data{}; + }; + +} + +// main interface + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void get_partition_function(const int inuc, [[maybe_unused]] const tf_t& tfactors, + amrex::Real& pf, amrex::Real& dpf_dT) { + + // inuc is the 1-based index for the species + + switch (inuc) { + + + default: + + pf = 1.0_rt; + dpf_dT = 0.0_rt; + + } + +} + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void get_partition_function_cached(const int inuc, const tf_t& tfactors, + part_fun::pf_cache_t& pf_cache, + amrex::Real& pf, amrex::Real& dpf_dT) { + if (pf_cache.data(inuc, 1) != 0.0_rt) { + // present in cache + amrex::ignore_unused(tfactors); + pf = pf_cache.data(inuc, 1); + dpf_dT = pf_cache.data(inuc, 2); + } else { + get_partition_function(inuc, tfactors, pf, dpf_dT); + pf_cache.data(inuc, 1) = pf; + pf_cache.data(inuc, 2) = dpf_dT; + } +} + +// spins + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +constexpr amrex::Real get_spin_state(const int inuc) { + + amrex::Real spin = -1.0; + + switch (inuc) { // NOLINT(bugprone-switch-missing-default-case) + + case He4: + case C12: + case O14: + case O16: + case O18: + case Ne18: + case Ne20: + case Mg22: + case Mg24: + case Si28: + case S32: + case Ar36: + case Ca40: + case Ti44: + case Cr48: + case Fe52: + case Ni56: + spin = 1; + break; + + case H1: + case C13: + case N13: + case N15: + case O15: + case F19: + case Ne19: + case P31: + spin = 2; + break; + + case N14: + case F18: + spin = 3; + break; + + case Ne21: + case Na23: + case Cl35: + case K39: + case V47: + spin = 4; + break; + + case O17: + case F17: + case Al27: + case Mn51: + spin = 6; + break; + + case Na22: + spin = 7; + break; + + case Sc43: + case Co55: + spin = 8; + break; + + + } + + return spin; + +} + + +#endif diff --git a/networks/CNO_He_burn/pynucastro.net b/networks/CNO_He_burn/pynucastro.net new file mode 100644 index 0000000000..fe105064bd --- /dev/null +++ b/networks/CNO_He_burn/pynucastro.net @@ -0,0 +1,39 @@ +hydrogen-1 H1 1.0 1.0 +helium-4 He4 4.0 2.0 +carbon-12 C12 12.0 6.0 +carbon-13 C13 13.0 6.0 +nitrogen-13 N13 13.0 7.0 +nitrogen-14 N14 14.0 7.0 +nitrogen-15 N15 15.0 7.0 +oxygen-14 O14 14.0 8.0 +oxygen-15 O15 15.0 8.0 +oxygen-16 O16 16.0 8.0 +oxygen-17 O17 17.0 8.0 +oxygen-18 O18 18.0 8.0 +fluorine-17 F17 17.0 9.0 +fluorine-18 F18 18.0 9.0 +fluorine-19 F19 19.0 9.0 +neon-18 Ne18 18.0 10.0 +neon-19 Ne19 19.0 10.0 +neon-20 Ne20 20.0 10.0 +neon-21 Ne21 21.0 10.0 +sodium-22 Na22 22.0 11.0 +sodium-23 Na23 23.0 11.0 +magnesium-22 Mg22 22.0 12.0 +magnesium-24 Mg24 24.0 12.0 +aluminum-27 Al27 27.0 13.0 +silicon-28 Si28 28.0 14.0 +phosphorus-31 P31 31.0 15.0 +sulfur-32 S32 32.0 16.0 +argon-36 Ar36 36.0 18.0 +calcium-40 Ca40 40.0 20.0 +titanium-44 Ti44 44.0 22.0 +chromium-48 Cr48 48.0 24.0 +iron-52 Fe52 52.0 26.0 +nickel-56 Ni56 56.0 28.0 +__extra_chlorine-35 Cl35 35.0 17.0 +__extra_potassium-39 K39 39.0 19.0 +__extra_scandium-43 Sc43 43.0 21.0 +__extra_vanadium-47 V47 47.0 23.0 +__extra_manganese-51 Mn51 51.0 25.0 +__extra_cobalt-55 Co55 55.0 27.0 diff --git a/networks/CNO_He_burn/reaclib_rates.H b/networks/CNO_He_burn/reaclib_rates.H new file mode 100644 index 0000000000..f4078948a9 --- /dev/null +++ b/networks/CNO_He_burn/reaclib_rates.H @@ -0,0 +1,8426 @@ +#ifndef REACLIB_RATES_H +#define REACLIB_RATES_H + +#include +#include + +#include +#include +#include + +using namespace Rates; +using namespace Species; + +struct rate_t { + amrex::Array1D screened_rates; + amrex::Real enuc_weak; +}; + +struct rate_derivs_t { + amrex::Array1D screened_rates; + amrex::Array1D dscreened_rates_dT; + amrex::Real enuc_weak; +}; + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_N13_to_C13_weak_wc12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N13 --> C13 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wc12w + ln_set_rate = -6.7601; + amrex::ignore_unused(tfactors); + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O14_to_N14_weak_wc12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O14 --> N14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wc12w + ln_set_rate = -4.62354; + amrex::ignore_unused(tfactors); + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O15_to_N15_weak_wc12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O15 --> N15 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wc12w + ln_set_rate = -5.17053; + amrex::ignore_unused(tfactors); + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_F17_to_O17_weak_wc12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F17 --> O17 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wc12w + ln_set_rate = -4.53318; + amrex::ignore_unused(tfactors); + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_F18_to_O18_weak_wc12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 --> O18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wc12w + ln_set_rate = -9.15982; + amrex::ignore_unused(tfactors); + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne18_to_F18_weak_wc12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne18 --> F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wc12w + ln_set_rate = -0.879336; + amrex::ignore_unused(tfactors); + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne19_to_F19_weak_wc12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne19 --> F19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wc12w + ln_set_rate = -3.21142; + amrex::ignore_unused(tfactors); + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Mg22_to_Na22_weak_wc12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mg22 --> Na22 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wc12w + ln_set_rate = -1.72235; + amrex::ignore_unused(tfactors); + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_N13_to_p_C12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N13 --> p + C12 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ls09r + ln_set_rate = 40.4354 + -26.326 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + + 0.148883 * tfactors.T9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 26.326 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + + 0.148883; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // ls09n + ln_set_rate = 40.0408 + -22.5475 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.5475 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_N14_to_p_C13(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N14 --> p + C13 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacrr + ln_set_rate = 37.1528 + -93.4071 * tfactors.T9i + -0.196703 * tfactors.T913 + + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 93.4071 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = 38.3716 + -101.18 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 101.18 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrn + ln_set_rate = 41.7046 + -87.6256 * tfactors.T9i + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 87.6256 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O14_to_p_N13(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O14 --> p + N13 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // lg06r + ln_set_rate = 35.2849 + -59.8313 * tfactors.T9i + 1.57122 * tfactors.T913i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 59.8313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lg06n + ln_set_rate = 42.4234 + -53.7053 * tfactors.T9i + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 53.7053 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O15_to_p_N14(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O15 --> p + N14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // im05r + ln_set_rate = 30.7435 + -89.5667 * tfactors.T9i + + 1.5682 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 89.5667 * tfactors.T9i * tfactors.T9i + + 1.5682 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // im05r + ln_set_rate = 31.6622 + -87.6737 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 87.6737 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // im05n + ln_set_rate = 44.1246 + -84.6757 * tfactors.T9i + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 1.83333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 84.6757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 1.83333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // im05n + ln_set_rate = 41.0177 + -84.6757 * tfactors.T9i + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 84.6757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_to_p_N15(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 --> p + N15 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // li10r + ln_set_rate = 38.8465 + -150.962 * tfactors.T9i + + 0.0459037 * tfactors.T9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 150.962 * tfactors.T9i * tfactors.T9i + + 0.0459037; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // li10r + ln_set_rate = 30.8927 + -143.656 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 143.656 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // li10n + ln_set_rate = 44.3197 + -140.732 * tfactors.T9i + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 140.732 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_to_He4_C12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 --> He4 + C12 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nac2 + ln_set_rate = 279.295 + -84.9515 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 84.9515 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nac2 + ln_set_rate = 94.3131 + -84.503 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 84.503 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_F17_to_p_O16(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F17 --> p + O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ia08n + ln_set_rate = 40.9135 + -6.96583 * tfactors.T9i + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.96583 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_F18_to_p_O17(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 --> p + O17 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 33.7037 + -71.2889 * tfactors.T9i + 2.31435 * tfactors.T913 + + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 71.2889 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 11.2362 + -65.8069 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 65.8069 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 40.2061 + -65.0606 * tfactors.T9i + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 65.0606 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_F18_to_He4_N14(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 --> He4 + N14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 46.249 + -51.2292 * tfactors.T9i + -36.2504 * tfactors.T913i + + -5.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 51.2292 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + + (5.0/3.0) * -5.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 38.6146 + -62.1948 * tfactors.T9i + -5.6227 * tfactors.T913i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 62.1948 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 24.9119 + -56.3896 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 56.3896 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_F19_to_p_O18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F19 --> p + O18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 42.8485 + -92.7757 * tfactors.T9i + -16.7246 * tfactors.T913i + + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 92.7757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.7246 * tfactors.T943i + + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 30.2003 + -99.501 * tfactors.T9i + 3.99059 * tfactors.T913 + + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 99.501 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 28.008 + -94.4325 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 94.4325 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -12.0764 + -93.0204 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 93.0204 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_F19_to_He4_N15(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F19 --> He4 + N15 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 15.3186 + -50.7554 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 50.7554 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 50.1291 + -46.5774 * tfactors.T9i + -36.2324 * tfactors.T913i + + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 46.5774 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2324 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -4.06142 + -50.7773 * tfactors.T9i + 35.4292 * tfactors.T913 + + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 50.7773 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 28.2717 + -53.5621 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 53.5621 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne18_to_p_F17(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne18 --> p + F17 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cb09 + ln_set_rate = 52.9895 + -50.492 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -5.86014 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 50.492 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -5.86014 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // cb09 + ln_set_rate = 17.5646 + -45.5647 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -0.63376 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 45.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -0.63376 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne18_to_He4_O14(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne18 --> He4 + O14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wh87r + ln_set_rate = 20.0156 + -71.5044 * tfactors.T9i + + 6.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 71.5044 * tfactors.T9i * tfactors.T9i + + 6.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // wh87r + ln_set_rate = 28.2415 + -81.9554 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 81.9554 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // wh87r + ln_set_rate = 22.5609 + -71.0754 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 71.0754 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // wh87n + ln_set_rate = 51.158 + -59.3454 * tfactors.T9i + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 59.3454 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne19_to_p_F18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne19 --> p + F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -5.41887 + -74.7977 * tfactors.T9i + 22.4903 * tfactors.T913 + + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 74.7977 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 81.4385 + -74.3988 * tfactors.T9i + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 74.3988 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 18.1729 + -77.2902 * tfactors.T9i + 13.1683 * tfactors.T913 + + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 77.2902 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne19_to_He4_O15(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne19 --> He4 + O15 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // dc11n + ln_set_rate = 51.0289 + -40.9534 * tfactors.T9i + -39.578 * tfactors.T913i + + -3.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 40.9534 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.578 * tfactors.T943i + + (5.0/3.0) * -3.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // dc11r + ln_set_rate = -7.51212 + -45.1578 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 45.1578 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // dc11r + ln_set_rate = 24.6922 + -46.8378 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 46.8378 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne20_to_p_F19(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne20 --> p + F19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacrr + ln_set_rate = 18.691 + -156.781 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 156.781 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = 36.7036 + -150.75 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 150.75 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrn + ln_set_rate = 42.6027 + -149.037 * tfactors.T9i + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 149.037 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne20_to_He4_O16(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne20 --> He4 + O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // co10r + ln_set_rate = 34.2658 + -67.6518 * tfactors.T9i + -3.65925 * tfactors.T913 + + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 67.6518 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // co10r + ln_set_rate = 28.6431 + -65.246 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 65.246 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // co10n + ln_set_rate = 48.6604 + -54.8875 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 54.8875 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne21_to_He4_O17(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne21 --> He4 + O17 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // be13r + ln_set_rate = 27.3205 + -91.2722 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 6.25778 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 91.2722 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 6.25778 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // be13r + ln_set_rate = 0.0906657 + -90.782 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 83.7218 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 90.782 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 83.7218 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // be13r + ln_set_rate = -91.954 + -98.9487 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -41.2753 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 98.9487 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -41.2753 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Na22_to_p_Ne21(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Na22 --> p + Ne21 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -16.4098 + -82.4235 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 82.4235 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 24.8334 + -79.6093 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 79.6093 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -24.579 + -78.4059 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 78.4059 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 42.146 + -78.2097 * tfactors.T9i + -19.2096 * tfactors.T913i + + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 78.2097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Na22_to_He4_F18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Na22 --> He4 + F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 59.3224 + -100.236 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 39.3396 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 100.236 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 39.3396 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Na23_to_He4_F19(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Na23 --> He4 + F19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 76.8979 + -123.578 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 55.9823 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 123.578 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 55.9823 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Mg22_to_He4_Ne18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mg22 --> He4 + Ne18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 57.6776 + -94.4496 * tfactors.T9i + -46.4859 * tfactors.T913i + 0.956741 * tfactors.T913 + + -0.914402 * tfactors.T9 + 0.0722478 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 94.4496 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.4859 * tfactors.T943i + (1.0/3.0) * 0.956741 * tfactors.T923i + + -0.914402 + (5.0/3.0) * 0.0722478 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Mg24_to_p_Na23(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mg24 --> p + Na23 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 34.0876 + -138.968 * tfactors.T9i + -0.360588 * tfactors.T913 + + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 138.968 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 20.0024 + -137.3 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 137.3 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 43.9357 + -135.688 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 135.688 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Mg24_to_He4_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mg24 --> He4 + Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 49.3244 + -108.114 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 108.114 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 16.0203 + -120.895 * tfactors.T9i + 16.9229 * tfactors.T913 + + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 120.895 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 26.8017 + -117.334 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 117.334 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -13.8869 + -110.62 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 110.62 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Si28_to_p_Al27(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Si28 --> p + Al27 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 11.7765 + -136.349 * tfactors.T9i + 23.8634 * tfactors.T913 + + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 136.349 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 46.5494 + -134.445 * tfactors.T9i + -23.2205 * tfactors.T913i + + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 134.445 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 111.466 + -134.832 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 134.832 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Si28_to_He4_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Si28 --> He4 + Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // st08r + ln_set_rate = 32.9006 + -131.488 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 131.488 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // st08r + ln_set_rate = -25.6886 + -128.693 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 128.693 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_S32_to_p_P31(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // S32 --> p + P31 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 25.1729 + -106.637 * tfactors.T9i + 8.09341 * tfactors.T913 + + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 106.637 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 21.6829 + -105.119 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 105.119 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 43.6109 + -102.86 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 102.86 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_S32_to_He4_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // S32 --> He4 + Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 72.813 + -80.626 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 80.626 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_to_He4_He4_He4(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 --> He4 + He4 + He4 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // fy05n + ln_set_rate = 45.7734 + -84.4227 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 84.4227 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // fy05r + ln_set_rate = 22.394 + -88.5493 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 88.5493 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // fy05r + ln_set_rate = 34.9561 + -85.4472 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.83333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 85.4472 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.83333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_C12_to_N13(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + p --> N13 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ls09n + ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // ls09r + ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + + 0.148883 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_C12_to_O16(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + He4 --> O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nac2 + ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nac2 + ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_C13_to_N14(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C13 + p --> N14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacrr + ln_set_rate = 15.1825 + -13.5543 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 13.5543 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrn + ln_set_rate = 18.5155 + -13.72 * tfactors.T913i + -0.450018 * tfactors.T913 + + 3.70823 * tfactors.T9 + -1.70545 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -13.72 * tfactors.T943i + (1.0/3.0) * -0.450018 * tfactors.T923i + + 3.70823 + (5.0/3.0) * -1.70545 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = 13.9637 + -5.78147 * tfactors.T9i + -0.196703 * tfactors.T913 + + 0.142126 * tfactors.T9 + -0.0238912 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.78147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.196703 * tfactors.T923i + + 0.142126 + (5.0/3.0) * -0.0238912 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_N13_to_O14(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N13 + p --> O14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // lg06r + ln_set_rate = 10.9971 + -6.12602 * tfactors.T9i + 1.57122 * tfactors.T913i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.12602 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 1.57122 * tfactors.T943i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lg06n + ln_set_rate = 18.1356 + -15.1676 * tfactors.T913i + 0.0955166 * tfactors.T913 + + 3.0659 * tfactors.T9 + -0.507339 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -15.1676 * tfactors.T943i + (1.0/3.0) * 0.0955166 * tfactors.T923i + + 3.0659 + (5.0/3.0) * -0.507339 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_N14_to_O15(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N14 + p --> O15 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // im05n + ln_set_rate = 17.01 + -15.193 * tfactors.T913i + -0.161954 * tfactors.T913 + + -7.52123 * tfactors.T9 + -0.987565 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -0.161954 * tfactors.T923i + + -7.52123 + (5.0/3.0) * -0.987565 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // im05r + ln_set_rate = 6.73578 + -4.891 * tfactors.T9i + + 0.0682 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.891 * tfactors.T9i * tfactors.T9i + + 0.0682 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // im05r + ln_set_rate = 7.65444 + -2.998 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.998 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // im05n + ln_set_rate = 20.1169 + -15.193 * tfactors.T913i + -4.63975 * tfactors.T913 + + 9.73458 * tfactors.T9 + -9.55051 * tfactors.T953 + 0.333333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -15.193 * tfactors.T943i + (1.0/3.0) * -4.63975 * tfactors.T923i + + 9.73458 + (5.0/3.0) * -9.55051 * tfactors.T923 + 0.333333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_N14_to_F18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N14 + He4 --> F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_N15_to_O16(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N15 + p --> O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // li10n + ln_set_rate = 20.0176 + -15.24 * tfactors.T913i + 0.334926 * tfactors.T913 + + 4.59088 * tfactors.T9 + -4.78468 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -15.24 * tfactors.T943i + (1.0/3.0) * 0.334926 * tfactors.T923i + + 4.59088 + (5.0/3.0) * -4.78468 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // li10r + ln_set_rate = 14.5444 + -10.2295 * tfactors.T9i + + 0.0459037 * tfactors.T9 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 10.2295 * tfactors.T9i * tfactors.T9i + + 0.0459037 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // li10r + ln_set_rate = 6.59056 + -2.92315 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.92315 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_N15_to_F19(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N15 + He4 --> F19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -9.41892 + -4.17795 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.17795 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 25.3916 + -36.2324 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -36.2324 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -28.7989 + -4.19986 * tfactors.T9i + 35.4292 * tfactors.T913 + + -5.5767 * tfactors.T9 + 0.441293 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.19986 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 35.4292 * tfactors.T923i + + -5.5767 + (5.0/3.0) * 0.441293 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 3.5342 + -6.98462 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.98462 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_O14_to_Ne18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O14 + He4 --> Ne18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // wh87r + ln_set_rate = -4.69948 + -12.159 * tfactors.T9i + + 5.0 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.159 * tfactors.T9i * tfactors.T9i + + 5.0 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // wh87r + ln_set_rate = 3.52636 + -22.61 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.61 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // wh87r + ln_set_rate = -2.15417 + -11.73 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 11.73 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // wh87n + ln_set_rate = 26.4429 + -39.38 * tfactors.T913i + -0.0772187 * tfactors.T913 + + -0.635361 * tfactors.T9 + 0.106236 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -39.38 * tfactors.T943i + (1.0/3.0) * -0.0772187 * tfactors.T923i + + -0.635361 + (5.0/3.0) * 0.106236 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_O15_to_Ne19(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O15 + He4 --> Ne19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // dc11r + ln_set_rate = -32.2496 + -4.20439 * tfactors.T9i + -3.24609 * tfactors.T913i + 44.4647 * tfactors.T913 + + -9.79962 * tfactors.T9 + 0.841782 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.20439 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -3.24609 * tfactors.T943i + (1.0/3.0) * 44.4647 * tfactors.T923i + + -9.79962 + (5.0/3.0) * 0.841782 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // dc11r + ln_set_rate = -0.0452465 + -5.88439 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.88439 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // dc11n + ln_set_rate = 26.2914 + -39.578 * tfactors.T913i + + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -39.578 * tfactors.T943i + + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_O16_to_F17(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + p --> F17 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ia08n + ln_set_rate = 19.0904 + -16.696 * tfactors.T913i + -1.16252 * tfactors.T913 + + 0.267703 * tfactors.T9 + -0.0338411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -16.696 * tfactors.T943i + (1.0/3.0) * -1.16252 * tfactors.T923i + + 0.267703 + (5.0/3.0) * -0.0338411 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_O16_to_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + He4 --> Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // co10r + ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // co10r + ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // co10n + ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_O17_to_F18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O17 + p --> F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 15.8929 + -16.4035 * tfactors.T913i + 4.31885 * tfactors.T913 + + -0.709921 * tfactors.T9 + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -16.4035 * tfactors.T943i + (1.0/3.0) * 4.31885 * tfactors.T923i + + -0.709921 + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 9.39048 + -6.22828 * tfactors.T9i + 2.31435 * tfactors.T913 + + -0.302835 * tfactors.T9 + 0.020133 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.22828 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 2.31435 * tfactors.T923i + + -0.302835 + (5.0/3.0) * 0.020133 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -13.077 + -0.746296 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.746296 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_O17_to_Ne21(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O17 + He4 --> Ne21 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // be13r + ln_set_rate = -25.0898 + -5.50926 * tfactors.T9i + 123.363 * tfactors.T913i + -87.4351 * tfactors.T913 + + -3.40974e-06 * tfactors.T9 + -57.0469 * tfactors.T953 + 82.2218 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.50926 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 123.363 * tfactors.T943i + (1.0/3.0) * -87.4351 * tfactors.T923i + + -3.40974e-06 + (5.0/3.0) * -57.0469 * tfactors.T923 + 82.2218 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // be13r + ln_set_rate = -117.134 + -13.6759 * tfactors.T9i + 3.31162e-08 * tfactors.T913i + 130.258 * tfactors.T913 + + -7.92551e-05 * tfactors.T9 + -4.13772 * tfactors.T953 + -42.7753 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 13.6759 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 3.31162e-08 * tfactors.T943i + (1.0/3.0) * 130.258 * tfactors.T923i + + -7.92551e-05 + (5.0/3.0) * -4.13772 * tfactors.T923 + -42.7753 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // be13r + ln_set_rate = 2.14 + -5.99952 * tfactors.T9i + 2.87641 * tfactors.T913i + -3.54489 * tfactors.T913 + + -2.11222e-08 * tfactors.T9 + -3.90649e-09 * tfactors.T953 + 4.75778 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.99952 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 2.87641 * tfactors.T943i + (1.0/3.0) * -3.54489 * tfactors.T923i + + -2.11222e-08 + (5.0/3.0) * -3.90649e-09 * tfactors.T923 + 4.75778 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_O18_to_F19(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O18 + p --> F19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -35.0079 + -0.244743 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.244743 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 19.917 + -16.7246 * tfactors.T913i + + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -16.7246 * tfactors.T943i + + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 7.26876 + -6.7253 * tfactors.T9i + 3.99059 * tfactors.T913 + + -0.593127 * tfactors.T9 + 0.0877534 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.7253 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 3.99059 * tfactors.T923i + + -0.593127 + (5.0/3.0) * 0.0877534 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 5.07648 + -1.65681 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.65681 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_F17_to_Ne18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F17 + p --> Ne18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cb09 + ln_set_rate = -7.84708 + -0.0323504 * tfactors.T9i + -14.2191 * tfactors.T913i + 34.0647 * tfactors.T913 + + -16.5698 * tfactors.T9 + 2.48116 * tfactors.T953 + -2.13376 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0323504 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -14.2191 * tfactors.T943i + (1.0/3.0) * 34.0647 * tfactors.T923i + + -16.5698 + (5.0/3.0) * 2.48116 * tfactors.T923 + -2.13376 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // cb09 + ln_set_rate = 27.5778 + -4.95969 * tfactors.T9i + -21.3249 * tfactors.T913i + -0.230774 * tfactors.T913 + + 0.917931 * tfactors.T9 + -0.0440377 * tfactors.T953 + -7.36014 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.95969 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.3249 * tfactors.T943i + (1.0/3.0) * -0.230774 * tfactors.T923i + + 0.917931 + (5.0/3.0) * -0.0440377 * tfactors.T923 + -7.36014 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_F18_to_Ne19(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 + p --> Ne19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 57.4084 + -21.4023 * tfactors.T913i + -93.766 * tfactors.T913 + + 179.258 * tfactors.T9 + -202.561 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -93.766 * tfactors.T923i + + 179.258 + (5.0/3.0) * -202.561 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -5.85727 + -2.89147 * tfactors.T9i + 13.1683 * tfactors.T913 + + -1.92023 * tfactors.T9 + 0.16901 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.89147 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.1683 * tfactors.T923i + + -1.92023 + (5.0/3.0) * 0.16901 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -29.449 + -0.39895 * tfactors.T9i + 22.4903 * tfactors.T913 + + 0.307872 * tfactors.T9 + -0.296226 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.39895 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.4903 * tfactors.T923i + + 0.307872 + (5.0/3.0) * -0.296226 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_F18_to_Na22(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 + He4 --> Na22 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 35.3786 + -1.82957 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 37.8396 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.82957 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 37.8396 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_F19_to_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F19 + p --> Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacrr + ln_set_rate = -5.63093 + -7.74414 * tfactors.T9i + 31.6442 * tfactors.T913i + -58.6563 * tfactors.T913 + + 67.7365 * tfactors.T9 + -22.9721 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 7.74414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 31.6442 * tfactors.T943i + (1.0/3.0) * -58.6563 * tfactors.T923i + + 67.7365 + (5.0/3.0) * -22.9721 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = 12.3816 + -1.71383 * tfactors.T9i + -11.3832 * tfactors.T913i + 5.47872 * tfactors.T913 + + -1.07203 * tfactors.T9 + 0.11196 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.71383 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -11.3832 * tfactors.T943i + (1.0/3.0) * 5.47872 * tfactors.T923i + + -1.07203 + (5.0/3.0) * 0.11196 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrn + ln_set_rate = 18.2807 + -18.116 * tfactors.T913i + -1.4622 * tfactors.T913 + + 6.95113 * tfactors.T9 + -2.90366 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + (1.0/3.0) * -1.4622 * tfactors.T923i + + 6.95113 + (5.0/3.0) * -2.90366 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_F19_to_Na23(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F19 + He4 --> Na23 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 52.7856 + -2.11408 * tfactors.T9i + 39.7219 * tfactors.T913i + -100.401 * tfactors.T913 + + 3.15808 * tfactors.T9 + -0.0629822 * tfactors.T953 + 54.4823 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.11408 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 39.7219 * tfactors.T943i + (1.0/3.0) * -100.401 * tfactors.T923i + + 3.15808 + (5.0/3.0) * -0.0629822 * tfactors.T923 + 54.4823 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ne18_to_Mg22(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne18 + He4 --> Mg22 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 32.8865 + -46.4859 * tfactors.T913i + 0.956741 * tfactors.T913 + + -0.914402 * tfactors.T9 + 0.0722478 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -46.4859 * tfactors.T943i + (1.0/3.0) * 0.956741 * tfactors.T923i + + -0.914402 + (5.0/3.0) * 0.0722478 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ne20_to_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne20 + He4 --> Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Ne21_to_Na22(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne21 + p --> Na22 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -47.6554 + -0.19618 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.19618 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 19.0696 + -19.2096 * tfactors.T913i + + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -19.2096 * tfactors.T943i + + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -39.4862 + -4.21385 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.21385 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 1.75704 + -1.39957 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.39957 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Na23_to_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Na23 + p --> Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Mg24_to_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mg24 + He4 --> Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // st08r + ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // st08r + ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Al27_to_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Al27 + p --> Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Si28_to_S32(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Si28 + He4 --> S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_P31_to_S32(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // P31 + p --> S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_C12_to_p_N15(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + He4 --> p + N15 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacrn + ln_set_rate = 27.118 + -57.6279 * tfactors.T9i + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 57.6279 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = -6.93365 + -58.7917 * tfactors.T9i + 22.7105 * tfactors.T913 + + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 58.7917 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = 20.5388 + -65.034 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 65.034 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = -5.2319 + -59.6491 * tfactors.T9i + 30.8497 * tfactors.T913 + + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 59.6491 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_C12_to_p_Na23(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + C12 --> p + Na23 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_C12_to_He4_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + C12 --> He4 + Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_N13_to_p_O16(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N13 + He4 --> p + O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88n + ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_N14_to_p_O17(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N14 + He4 --> p + O17 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -7.60954 + -14.5839 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 14.5839 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 19.1771 + -13.8305 * tfactors.T9i + -16.9078 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 13.8305 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.9078 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 9.77209 + -18.7891 * tfactors.T9i + 5.10182 * tfactors.T913 + + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 18.7891 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 5.13169 + -15.9452 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 15.9452 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_N15_to_He4_C12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N15 + p --> He4 + C12 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacrn + ln_set_rate = 27.4764 + -15.253 * tfactors.T913i + 1.59318 * tfactors.T913 + + 2.4479 * tfactors.T9 + -2.19708 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -15.253 * tfactors.T943i + (1.0/3.0) * 1.59318 * tfactors.T923i + + 2.4479 + (5.0/3.0) * -2.19708 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = -6.57522 + -1.1638 * tfactors.T9i + 22.7105 * tfactors.T913 + + -2.90707 * tfactors.T9 + 0.205754 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.1638 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 22.7105 * tfactors.T923i + + -2.90707 + (5.0/3.0) * 0.205754 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = 20.8972 + -7.406 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 7.406 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = -4.87347 + -2.02117 * tfactors.T9i + 30.8497 * tfactors.T913 + + -8.50433 * tfactors.T9 + -1.54426 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.02117 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 30.8497 * tfactors.T923i + + -8.50433 + (5.0/3.0) * -1.54426 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_N15_to_p_O18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N15 + He4 --> p + O18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -29.7104 + -46.4444 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 46.4444 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 25.1611 + -46.1986 * tfactors.T9i + -16.6979 * tfactors.T913i + + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 46.1986 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -16.6979 * tfactors.T943i + + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 7.13756 + -51.5219 * tfactors.T9i + 11.6568 * tfactors.T913 + + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 51.5219 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 8.46654 + -47.8616 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 47.8616 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_O14_to_p_F17(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O14 + He4 --> p + F17 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // Ha96n + ln_set_rate = 40.8358 + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = 16.3087 + -22.51 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.51 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = 11.1184 + -13.6 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 13.6 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = -106.091 + -0.453036 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.453036 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = 12.1289 + -12.0223 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.0223 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = 18.6518 + -26.0 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 26.0 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_O15_to_p_F18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O15 + He4 --> p + F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 1.04969 + -36.4627 * tfactors.T9i + 13.3223 * tfactors.T913 + + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 36.4627 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -32.4461 + -33.8223 * tfactors.T9i + 61.738 * tfactors.T913 + + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 33.8223 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 61.2985 + -33.4459 * tfactors.T9i + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 33.4459 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_O16_to_He4_N13(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + p --> He4 + N13 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88n + ln_set_rate = 42.2324 + -60.5523 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 60.5523 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_O16_to_p_F19(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + He4 --> p + F19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacr + ln_set_rate = -53.1397 + -94.2866 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 94.2866 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacr + ln_set_rate = 25.8562 + -94.1589 * tfactors.T9i + -18.116 * tfactors.T913i + + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 94.1589 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -18.116 * tfactors.T943i + + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = 13.9232 + -97.4449 * tfactors.T9i + + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 97.4449 * tfactors.T9i * tfactors.T9i + + -0.21103 + 2.87702 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacr + ln_set_rate = 14.7601 + -97.9108 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 97.9108 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacr + ln_set_rate = 7.80363 + -96.6272 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 96.6272 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_O16_to_p_Al27(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + C12 --> p + Al27 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_O16_to_He4_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + C12 --> He4 + Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_O16_to_p_P31(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + O16 --> p + P31 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_O16_to_He4_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + O16 --> He4 + Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_O17_to_He4_N14(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O17 + p --> He4 + N14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 5.5336 + -2.11477 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.11477 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -7.20763 + -0.753395 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.753395 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 19.579 + -16.9078 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -16.9078 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 10.174 + -4.95865 * tfactors.T9i + 5.10182 * tfactors.T913 + + 0.379373 * tfactors.T9 + -0.0672515 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.95865 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.10182 * tfactors.T923i + + 0.379373 + (5.0/3.0) * -0.0672515 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_O18_to_He4_N15(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O18 + p --> He4 + N15 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 10.2725 + -1.663 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.663 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -27.9044 + -0.245884 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.245884 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 26.9671 + -16.6979 * tfactors.T913i + + -3.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -16.6979 * tfactors.T943i + + (5.0/3.0) * -3.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 8.94352 + -5.32335 * tfactors.T9i + 11.6568 * tfactors.T913 + + -2.16303 * tfactors.T9 + 0.209965 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.32335 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.6568 * tfactors.T923i + + -2.16303 + (5.0/3.0) * 0.209965 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_F17_to_He4_O14(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F17 + p --> He4 + O14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // Ha96r + ln_set_rate = 15.612 + -36.3426 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 36.3426 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = 10.4217 + -27.4326 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 27.4326 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = -106.788 + -14.2856 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 14.2856 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = 11.4322 + -25.8549 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 25.8549 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96r + ln_set_rate = 17.9551 + -39.8326 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 39.8326 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // Ha96n + ln_set_rate = 40.1391 + -13.8326 * tfactors.T9i + -39.388 * tfactors.T913i + -17.4673 * tfactors.T913 + + 35.3029 * tfactors.T9 + -24.8162 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 13.8326 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.388 * tfactors.T943i + (1.0/3.0) * -17.4673 * tfactors.T923i + + 35.3029 + (5.0/3.0) * -24.8162 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_F17_to_p_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F17 + He4 --> p + Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacr + ln_set_rate = 38.6287 + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_F18_to_He4_O15(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 + p --> He4 + O15 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 62.0058 + -21.4023 * tfactors.T913i + -80.8891 * tfactors.T913 + + 134.6 * tfactors.T9 + -126.504 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -21.4023 * tfactors.T943i + (1.0/3.0) * -80.8891 * tfactors.T923i + + 134.6 + (5.0/3.0) * -126.504 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 1.75704 + -3.01675 * tfactors.T9i + 13.3223 * tfactors.T913 + + -1.36696 * tfactors.T9 + 0.0757363 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.01675 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 13.3223 * tfactors.T923i + + -1.36696 + (5.0/3.0) * 0.0757363 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -31.7388 + -0.376432 * tfactors.T9i + 61.738 * tfactors.T913 + + -108.29 * tfactors.T9 + -34.2365 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.376432 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 61.738 * tfactors.T923i + + -108.29 + (5.0/3.0) * -34.2365 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_F18_to_p_Ne21(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 + He4 --> p + Ne21 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 49.7863 + -1.84559 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.84559 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_F19_to_He4_O16(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F19 + p --> He4 + O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacr + ln_set_rate = 8.239 + -2.46828 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.46828 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacr + ln_set_rate = -52.7043 + -0.12765 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.12765 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacr + ln_set_rate = 26.2916 + -18.116 * tfactors.T913i + + 1.86674 * tfactors.T9 + -7.5666 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -18.116 * tfactors.T943i + + 1.86674 + (5.0/3.0) * -7.5666 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacrr + ln_set_rate = 14.3586 + -3.286 * tfactors.T9i + + -0.21103 * tfactors.T9 + 2.87702 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.286 * tfactors.T9i * tfactors.T9i + + -0.21103 + 2.87702 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nacr + ln_set_rate = 15.1955 + -3.75185 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.75185 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ne19_to_p_Na22(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne19 + He4 --> p + Na22 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 43.1874 + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Ne20_to_He4_F17(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne20 + p --> He4 + F17 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nacr + ln_set_rate = 41.563 + -47.9266 * tfactors.T9i + -43.18 * tfactors.T913i + 4.46827 * tfactors.T913 + + -1.63915 * tfactors.T9 + 0.123483 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 47.9266 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -43.18 * tfactors.T943i + (1.0/3.0) * 4.46827 * tfactors.T923i + + -1.63915 + (5.0/3.0) * 0.123483 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ne20_to_p_Na23(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne20 + He4 --> p + Na23 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 0.227472 + -29.4348 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 29.4348 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 19.1852 + -27.5738 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 27.5738 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -6.37772 + -29.8896 * tfactors.T9i + 19.7297 * tfactors.T913 + + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 29.8896 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Ne21_to_He4_F18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne21 + p --> He4 + F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 50.6536 + -22.049 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.049 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Na22_to_He4_Ne19(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Na22 + p --> He4 + Ne19 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 43.101 + -24.0192 * tfactors.T9i + -46.6346 * tfactors.T913i + 0.866532 * tfactors.T913 + + -0.893541 * tfactors.T9 + 0.0747971 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 24.0192 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.6346 * tfactors.T943i + (1.0/3.0) * 0.866532 * tfactors.T923i + + -0.893541 + (5.0/3.0) * 0.0747971 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Na23_to_He4_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Na23 + p --> He4 + Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Mg24_to_p_Al27(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mg24 + He4 --> p + Al27 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 30.0397 + -18.5791 * tfactors.T9i + -26.4162 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 18.5791 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -26.2862 + -19.5422 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 19.5422 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -6.44575 + -22.8216 * tfactors.T9i + 18.0416 * tfactors.T913 + + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.8216 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Al27_to_He4_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Al27 + p --> He4 + Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Si28_to_p_P31(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Si28 + He4 --> p + P31 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -11.4335 + -25.6606 * tfactors.T9i + 21.521 * tfactors.T913 + + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 25.6606 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 60.3424 + -22.2348 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.2348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -13.4595 + -24.112 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 24.112 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_P31_to_He4_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // P31 + p --> He4 + Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_He4_He4_to_C12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // He4 + He4 + He4 --> C12 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // fy05r + ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // fy05r + ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // fy05n + ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + C12 --> Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + O16 --> S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + C12 --> Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // S32 + He4 --> Ar36 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_S32_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // S32 + He4 --> p + Cl35 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 2.42563 + -27.6662 * tfactors.T9i + 5.33756 * tfactors.T913 + + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 27.6662 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -0.877602 + -25.5914 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 25.5914 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -57.395 + -22.1894 * tfactors.T9i + 25.5338 * tfactors.T913 + + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.1894 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 32.2544 + -21.6564 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 21.6564 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cl35 + p --> Ar36 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ar36_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ar36 --> He4 + S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 73.8164 + -77.0627 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 77.0627 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ar36_to_p_Cl35_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ar36 --> p + Cl35 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 60.7366 + -98.7191 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 98.7191 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 17.2028 + -102.37 * tfactors.T9i + 18.0179 * tfactors.T913 + + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 102.37 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 16.0169 + -100.729 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 100.729 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -17.4751 + -99.2838 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 99.2838 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cl35 + p --> He4 + S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ar36 + He4 --> Ca40 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ar36_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ar36 + He4 --> p + K39 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 20.6367 + -14.9533 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 14.9533 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // K39 + p --> Ca40 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // lo18r + ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + + 1136.19 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + + 1136.19 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lo18r + ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + + 564.926 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + + 564.926 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lo18r + ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ca40_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ca40 --> He4 + Ar36 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 77.2826 + -81.6916 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 81.6916 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ca40_to_p_K39_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ca40 --> p + K39 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // lo18r + ln_set_rate = 613.153 + -109.213 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + + 566.426 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 109.213 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + + 566.426 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lo18r + ln_set_rate = 127.306 + -98.3134 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 98.3134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lo18r + ln_set_rate = 2786.44 + -101.871 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + + 1137.69 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 101.871 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + + 1137.69 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // K39 + p --> He4 + Ar36 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ca40 + He4 --> Ti44 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // chw0 + ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ca40_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ca40 + He4 --> p + Sc43 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 35.6575 + -40.8757 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 40.8757 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Sc43 + p --> Ti44 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ti44_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ti44 --> He4 + Ca40 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // chw0 + ln_set_rate = 78.6991 + -59.4974 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 59.4974 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ti44_to_p_Sc43_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ti44 --> p + Sc43 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 62.5939 + -100.373 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 100.373 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Sc43 + p --> He4 + Ca40 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ti44 + He4 --> Cr48 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ti44 + He4 --> p + V47 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // chw0r + ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // V47 + p --> Cr48 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nfisn + ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Cr48_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cr48 --> He4 + Ti44 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 89.7573 + -89.3041 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 89.3041 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Cr48_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cr48 --> p + V47 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nfisn + ln_set_rate = 65.6231 + -94.5854 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 94.5854 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 67.7403 + -100.13 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 100.13 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 536.523 + -99.3659 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 99.3659 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 48.892 + -93.8243 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.92325 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 93.8243 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.92325 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_V47_to_He4_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // V47 + p --> He4 + Ti44 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // chw0r + ln_set_rate = -76.6143 + -6.02945 * tfactors.T9i + 70.2835 * tfactors.T913 + + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.02945 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Cr48_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cr48 + He4 --> Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Cr48_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cr48 + He4 --> p + Mn51 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Mn51_to_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mn51 + p --> Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe52_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe52 --> He4 + Cr48 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 90.1474 + -92.109 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 92.109 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe52_to_p_Mn51_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe52 --> p + Mn51 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 61.728 + -85.6325 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 85.6325 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Mn51_to_He4_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mn51 + p --> He4 + Cr48 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 58.7312 + -6.47654 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.47654 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Fe52_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe52 + He4 --> Ni56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Fe52_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe52 + He4 --> p + Co55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Co55_to_Ni56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co55 + p --> Ni56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni56_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ni56 --> He4 + Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 91.6226 + -92.801 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 92.801 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni56_to_p_Co55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ni56 --> p + Co55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 63.1318 + -83.1473 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 83.1473 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Co55_to_He4_Fe52_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co55 + p --> He4 + Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 61.4434 + -9.65363 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 9.65363 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_S32_He4_to_Ar36_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ar36_to_S32_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Ar36_to_He4_S32_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ar36_He4_to_Ca40_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_K39_to_Ca40_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ca40_to_Ar36_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Ca40_to_p_K39_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_K39_to_Ca40_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ca40_He4_to_Ti44_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ti44_to_Ca40_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ti44_He4_to_Cr48_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Cr48_to_Ti44_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Cr48_to_p_V47_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Cr48_He4_to_Fe52_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe52_to_Cr48_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe52_He4_to_Ni56_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Co55_to_Ni56_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni56_to_Fe52_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Ni56_to_p_Co55_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Co55_to_Ni56_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void +fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) +{ + + amrex::Real rate; + amrex::Real drate_dT; + + rate_N13_to_C13_weak_wc12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_C13_weak_wc12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_C13_weak_wc12) = drate_dT; + + } + rate_O14_to_N14_weak_wc12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_N14_weak_wc12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_N14_weak_wc12) = drate_dT; + + } + rate_O15_to_N15_weak_wc12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_N15_weak_wc12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_N15_weak_wc12) = drate_dT; + + } + rate_F17_to_O17_weak_wc12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_F17_to_O17_weak_wc12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_O17_weak_wc12) = drate_dT; + + } + rate_F18_to_O18_weak_wc12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_F18_to_O18_weak_wc12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_O18_weak_wc12) = drate_dT; + + } + rate_Ne18_to_F18_weak_wc12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne18_to_F18_weak_wc12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_F18_weak_wc12) = drate_dT; + + } + rate_Ne19_to_F19_weak_wc12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne19_to_F19_weak_wc12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_F19_weak_wc12) = drate_dT; + + } + rate_Mg22_to_Na22_weak_wc12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Mg22_to_Na22_weak_wc12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg22_to_Na22_weak_wc12) = drate_dT; + + } + rate_N13_to_p_C12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_N13_to_p_C12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12) = drate_dT; + + } + rate_N14_to_p_C13(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_N14_to_p_C13) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N14_to_p_C13) = drate_dT; + + } + rate_O14_to_p_N13(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O14_to_p_N13) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O14_to_p_N13) = drate_dT; + + } + rate_O15_to_p_N14(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O15_to_p_N14) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O15_to_p_N14) = drate_dT; + + } + rate_O16_to_p_N15(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O16_to_p_N15) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_p_N15) = drate_dT; + + } + rate_O16_to_He4_C12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O16_to_He4_C12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12) = drate_dT; + + } + rate_F17_to_p_O16(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_F17_to_p_O16) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F17_to_p_O16) = drate_dT; + + } + rate_F18_to_p_O17(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_F18_to_p_O17) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_p_O17) = drate_dT; + + } + rate_F18_to_He4_N14(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_F18_to_He4_N14) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_He4_N14) = drate_dT; + + } + rate_F19_to_p_O18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_F19_to_p_O18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_p_O18) = drate_dT; + + } + rate_F19_to_He4_N15(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_F19_to_He4_N15) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F19_to_He4_N15) = drate_dT; + + } + rate_Ne18_to_p_F17(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne18_to_p_F17) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_p_F17) = drate_dT; + + } + rate_Ne18_to_He4_O14(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne18_to_He4_O14) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne18_to_He4_O14) = drate_dT; + + } + rate_Ne19_to_p_F18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne19_to_p_F18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_p_F18) = drate_dT; + + } + rate_Ne19_to_He4_O15(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne19_to_He4_O15) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne19_to_He4_O15) = drate_dT; + + } + rate_Ne20_to_p_F19(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne20_to_p_F19) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_p_F19) = drate_dT; + + } + rate_Ne20_to_He4_O16(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne20_to_He4_O16) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16) = drate_dT; + + } + rate_Ne21_to_He4_O17(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ne21_to_He4_O17) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne21_to_He4_O17) = drate_dT; + + } + rate_Na22_to_p_Ne21(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Na22_to_p_Ne21) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21) = drate_dT; + + } + rate_Na22_to_He4_F18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Na22_to_He4_F18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18) = drate_dT; + + } + rate_Na23_to_He4_F19(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Na23_to_He4_F19) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na23_to_He4_F19) = drate_dT; + + } + rate_Mg22_to_He4_Ne18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Mg22_to_He4_Ne18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg22_to_He4_Ne18) = drate_dT; + + } + rate_Mg24_to_p_Na23(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Mg24_to_p_Na23) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23) = drate_dT; + + } + rate_Mg24_to_He4_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20) = drate_dT; + + } + rate_Si28_to_p_Al27(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Si28_to_p_Al27) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27) = drate_dT; + + } + rate_Si28_to_He4_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Si28_to_He4_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24) = drate_dT; + + } + rate_S32_to_p_P31(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_S32_to_p_P31) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31) = drate_dT; + + } + rate_S32_to_He4_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_S32_to_He4_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28) = drate_dT; + + } + rate_C12_to_He4_He4_He4(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_to_He4_He4_He4) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4) = drate_dT; + + } + rate_p_C12_to_N13(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13) = drate_dT; + + } + rate_He4_C12_to_O16(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16) = drate_dT; + + } + rate_p_C13_to_N14(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_C13_to_N14) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C13_to_N14) = drate_dT; + + } + rate_p_N13_to_O14(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_N13_to_O14) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N13_to_O14) = drate_dT; + + } + rate_p_N14_to_O15(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_N14_to_O15) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N14_to_O15) = drate_dT; + + } + rate_He4_N14_to_F18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18) = drate_dT; + + } + rate_p_N15_to_O16(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_O16) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_O16) = drate_dT; + + } + rate_He4_N15_to_F19(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_F19) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_F19) = drate_dT; + + } + rate_He4_O14_to_Ne18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_Ne18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_Ne18) = drate_dT; + + } + rate_He4_O15_to_Ne19(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_Ne19) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_Ne19) = drate_dT; + + } + rate_p_O16_to_F17(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_F17) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_F17) = drate_dT; + + } + rate_He4_O16_to_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20) = drate_dT; + + } + rate_p_O17_to_F18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_F18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_F18) = drate_dT; + + } + rate_He4_O17_to_Ne21(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_O17_to_Ne21) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O17_to_Ne21) = drate_dT; + + } + rate_p_O18_to_F19(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_F19) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_F19) = drate_dT; + + } + rate_p_F17_to_Ne18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_F17_to_Ne18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_Ne18) = drate_dT; + + } + rate_p_F18_to_Ne19(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_Ne19) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_Ne19) = drate_dT; + + } + rate_He4_F18_to_Na22(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_Na22) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22) = drate_dT; + + } + rate_p_F19_to_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_Ne20) = drate_dT; + + } + rate_He4_F19_to_Na23(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_F19_to_Na23) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F19_to_Na23) = drate_dT; + + } + rate_He4_Ne18_to_Mg22(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne18_to_Mg22) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne18_to_Mg22) = drate_dT; + + } + rate_He4_Ne20_to_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24) = drate_dT; + + } + rate_p_Ne21_to_Na22(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne21_to_Na22) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22) = drate_dT; + + } + rate_p_Na23_to_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24) = drate_dT; + + } + rate_He4_Mg24_to_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28) = drate_dT; + + } + rate_p_Al27_to_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28) = drate_dT; + + } + rate_He4_Si28_to_S32(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32) = drate_dT; + + } + rate_p_P31_to_S32(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32) = drate_dT; + + } + rate_He4_C12_to_p_N15(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_p_N15) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_p_N15) = drate_dT; + + } + rate_C12_C12_to_p_Na23(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23) = drate_dT; + + } + rate_C12_C12_to_He4_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20) = drate_dT; + + } + rate_He4_N13_to_p_O16(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16) = drate_dT; + + } + rate_He4_N14_to_p_O17(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_p_O17) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_p_O17) = drate_dT; + + } + rate_p_N15_to_He4_C12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_N15_to_He4_C12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_N15_to_He4_C12) = drate_dT; + + } + rate_He4_N15_to_p_O18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_N15_to_p_O18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N15_to_p_O18) = drate_dT; + + } + rate_He4_O14_to_p_F17(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_O14_to_p_F17) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O14_to_p_F17) = drate_dT; + + } + rate_He4_O15_to_p_F18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_O15_to_p_F18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O15_to_p_F18) = drate_dT; + + } + rate_p_O16_to_He4_N13(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_O16_to_He4_N13) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13) = drate_dT; + + } + rate_He4_O16_to_p_F19(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_p_F19) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_p_F19) = drate_dT; + + } + rate_C12_O16_to_p_Al27(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27) = drate_dT; + + } + rate_C12_O16_to_He4_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24) = drate_dT; + + } + rate_O16_O16_to_p_P31(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31) = drate_dT; + + } + rate_O16_O16_to_He4_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28) = drate_dT; + + } + rate_p_O17_to_He4_N14(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_O17_to_He4_N14) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O17_to_He4_N14) = drate_dT; + + } + rate_p_O18_to_He4_N15(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_O18_to_He4_N15) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O18_to_He4_N15) = drate_dT; + + } + rate_p_F17_to_He4_O14(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_F17_to_He4_O14) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F17_to_He4_O14) = drate_dT; + + } + rate_He4_F17_to_p_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_F17_to_p_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F17_to_p_Ne20) = drate_dT; + + } + rate_p_F18_to_He4_O15(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_F18_to_He4_O15) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F18_to_He4_O15) = drate_dT; + + } + rate_He4_F18_to_p_Ne21(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_p_Ne21) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21) = drate_dT; + + } + rate_p_F19_to_He4_O16(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_F19_to_He4_O16) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_F19_to_He4_O16) = drate_dT; + + } + rate_He4_Ne19_to_p_Na22(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne19_to_p_Na22) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne19_to_p_Na22) = drate_dT; + + } + rate_p_Ne20_to_He4_F17(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne20_to_He4_F17) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne20_to_He4_F17) = drate_dT; + + } + rate_He4_Ne20_to_p_Na23(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23) = drate_dT; + + } + rate_p_Ne21_to_He4_F18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne21_to_He4_F18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18) = drate_dT; + + } + rate_p_Na22_to_He4_Ne19(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Na22_to_He4_Ne19) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na22_to_He4_Ne19) = drate_dT; + + } + rate_p_Na23_to_He4_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20) = drate_dT; + + } + rate_He4_Mg24_to_p_Al27(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27) = drate_dT; + + } + rate_p_Al27_to_He4_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24) = drate_dT; + + } + rate_He4_Si28_to_p_P31(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_p_P31) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31) = drate_dT; + + } + rate_p_P31_to_He4_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28) = drate_dT; + + } + rate_He4_He4_He4_to_C12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12) = drate_dT; + + } + rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + + } + rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + + } + rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + + } + rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + + } + rate_He4_S32_to_p_Cl35_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_removed) = drate_dT; + + } + rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + + } + rate_Ar36_to_He4_S32_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ar36_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_removed) = drate_dT; + + } + rate_Ar36_to_p_Cl35_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_removed) = drate_dT; + + } + rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + + } + rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + + } + rate_He4_Ar36_to_p_K39_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_removed) = drate_dT; + + } + rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + + } + rate_Ca40_to_He4_Ar36_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_removed) = drate_dT; + + } + rate_Ca40_to_p_K39_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ca40_to_p_K39_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_removed) = drate_dT; + + } + rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + + } + rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + + } + rate_He4_Ca40_to_p_Sc43_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_removed) = drate_dT; + + } + rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + + } + rate_Ti44_to_He4_Ca40_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_removed) = drate_dT; + + } + rate_Ti44_to_p_Sc43_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_removed) = drate_dT; + + } + rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + + } + rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + + } + rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + + } + rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + + } + rate_Cr48_to_He4_Ti44_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_removed) = drate_dT; + + } + rate_Cr48_to_p_V47_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Cr48_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_removed) = drate_dT; + + } + rate_p_V47_to_He4_Ti44_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_removed) = drate_dT; + + } + rate_He4_Cr48_to_Fe52_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52_removed) = drate_dT; + + } + rate_He4_Cr48_to_p_Mn51_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_Mn51_removed) = drate_dT; + + } + rate_p_Mn51_to_Fe52_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_Fe52_removed) = drate_dT; + + } + rate_Fe52_to_He4_Cr48_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_removed) = drate_dT; + + } + rate_Fe52_to_p_Mn51_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Fe52_to_p_Mn51_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_Mn51_removed) = drate_dT; + + } + rate_p_Mn51_to_He4_Cr48_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Mn51_to_He4_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Mn51_to_He4_Cr48_removed) = drate_dT; + + } + rate_He4_Fe52_to_Ni56_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56_removed) = drate_dT; + + } + rate_He4_Fe52_to_p_Co55_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_Co55_removed) = drate_dT; + + } + rate_p_Co55_to_Ni56_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_Ni56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_Ni56_removed) = drate_dT; + + } + rate_Ni56_to_He4_Fe52_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_removed) = drate_dT; + + } + rate_Ni56_to_p_Co55_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_Ni56_to_p_Co55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_Co55_removed) = drate_dT; + + } + rate_p_Co55_to_He4_Fe52_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Co55_to_He4_Fe52_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Co55_to_He4_Fe52_removed) = drate_dT; + + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void +fill_approx_rates([[maybe_unused]] const tf_t& tfactors, [[maybe_unused]] T& rate_eval) +{ + + [[maybe_unused]] amrex::Real rate{}; + [[maybe_unused]] amrex::Real drate_dT{}; + + rate_S32_He4_to_Ar36_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; + + } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; + + } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; + + } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; + + } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; + + } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; + + } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; + + } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; + + } + rate_Cr48_He4_to_Fe52_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Cr48_He4_to_Fe52_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_He4_to_Fe52_approx) = drate_dT; + + } + rate_Fe52_to_Cr48_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Fe52_to_Cr48_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_Cr48_He4_approx) = drate_dT; + + } + rate_Fe52_He4_to_Ni56_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Fe52_He4_to_Ni56_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_He4_to_Ni56_approx) = drate_dT; + + } + rate_Ni56_to_Fe52_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ni56_to_Fe52_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_Fe52_He4_approx) = drate_dT; + + } + +} + +#endif diff --git a/networks/CNO_He_burn/table_rates.H b/networks/CNO_He_burn/table_rates.H new file mode 100644 index 0000000000..a2c5b79b54 --- /dev/null +++ b/networks/CNO_He_burn/table_rates.H @@ -0,0 +1,399 @@ +#ifndef TABLE_RATES_H +#define TABLE_RATES_H + +#include +#include +#include +#include + +#include + +using namespace amrex; + +void init_tabular(); + +// Table is expected to be in terms of dens*ye and temp (logarithmic, cgs units) +// Table energy units are expected in terms of ergs + +// all tables are expected to have columns: +// Log(rhoY) Log(T) mu dQ Vs Log(e-cap-rate) Log(nu-energy-loss) Log(gamma-energy) +// Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) +// + +const int num_tables = 0; + +enum TableVars +{ + jtab_mu = 1, + jtab_dq = 2, + jtab_vs = 3, + jtab_rate = 4, + jtab_nuloss = 5, + jtab_gamma = 6, + num_vars = jtab_gamma +}; + + +struct table_t +{ + int ntemp; + int nrhoy; + int nvars; + int nheader; +}; + +// we add a 7th index, k_index_dlogr_dlogt used for computing the derivative +// of Log(rate) with respect of Log(temperature) by using the table +// values. It isn't an index into the table but into the 'entries' +// array. Is important to mention that although we compute dlogr/dlogT is +// the computed quantity in 'entries', we pursue ultimately +// dr/dt as the final desired quantity to be computed for this index. + +const int k_index_dlogr_dlogt = 7; +const int add_vars = 1; // 1 Additional Var in entries + + +namespace rate_tables +{ +} + +template +void init_tab_info(const table_t& tf, const std::string& file, R& log_rhoy_table, T& log_temp_table, D& data) +{ + // This function initializes the selected tabular-rate tables. From the tables we are interested + // on the rate, neutrino-energy-loss and the gamma-energy entries. + + std::ifstream table; + table.open(file); + + if (!table.is_open()) { + // the table was not present or we could not open it; abort + amrex::Error("table could not be opened"); + } + + std::string line; + + // read and skip over the header + + for (int i = 0; i < tf.nheader; ++i) { + std::getline(table, line); + } + + // now the data -- there are 2 extra columns, for log_temp and log_rhoy + + for (int j = 1; j <= tf.nrhoy; ++j) { + for (int i = 1; i <= tf.ntemp; ++i) { + std::getline(table, line); + if (line.empty()) { + amrex::Error("Error reading table data"); + } + + std::istringstream sdata(line); + + sdata >> log_rhoy_table(j) >> log_temp_table(i); + + for (int n = 1; n <= tf.nvars; ++n) { + sdata >> data(i, j, n); + } + } + } + table.close(); +} + + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +int vector_index_lu(const int vlen, const V& vector, const amrex::Real fvar) +{ + + // Returns the greatest index of vector for which vector(index) < fvar. + // Return 1 if fvar < vector(1) + // Return size(vector)-1 if fvar > vector(size(vector)) + // The interval [index, index+1] brackets fvar for fvar within the range of vector. + + int index; + + if (fvar < vector(1)) { + index = 1; + } else if (fvar > vector(vlen)) { + index = vlen - 1; + } else { + int nup = vlen; + int ndn = 1; + for (int i = 1; i <= vlen; ++i) { + int j = ndn + (nup - ndn)/2; + if (fvar < vector(j)) { + nup = j; + } else { + ndn = j; + } + if ((nup - ndn) == 1) { + break; + } + } + index = ndn; + } + return index; +} + + +AMREX_INLINE AMREX_GPU_HOST_DEVICE +amrex::Real +evaluate_linear_1d(const amrex::Real fhi, const amrex::Real flo, const amrex::Real xhi, const amrex::Real xlo, const amrex::Real x) +{ + // This function is a 1-D linear interpolator, that keeps x constant to xlo or xhi, based + // on the side, if x is outside [xlo, xhi] respectively. + + amrex::Real xx = Clamp(x, xlo, xhi); + amrex::Real f = flo + (fhi - flo) * (xx - xlo) / (xhi - xlo); + + return f; +} + +AMREX_INLINE AMREX_GPU_HOST_DEVICE +amrex::Real +evaluate_linear_2d(const amrex::Real fip1jp1, const amrex::Real fip1j, const amrex::Real fijp1, const amrex::Real fij, + const amrex::Real xhi, const amrex::Real xlo, const amrex::Real yhi, const amrex::Real ylo, + const amrex::Real x, const amrex::Real y) +{ + // This is the 2-D linear interpolator, as an extension of evaluate_linear_1d. + + amrex::Real f; + amrex::Real dx = xhi - xlo; + amrex::Real dy = yhi - ylo; + + amrex::Real E = fij; + amrex::Real C = (fijp1 - fij) / dy; + amrex::Real B = (fip1j - fij) / dx; + amrex::Real A = (fip1jp1 - B * dx - C * dy - E) / (dx * dy); + + amrex::Real xx = Clamp(x, xlo, xhi); + amrex::Real yy = Clamp(y, ylo, yhi); + + f = A * (xx - xlo) * (yy - ylo) + + B * (xx - xlo) + + C * (yy - ylo) + + E; + + return f; +} + + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +amrex::Real +evaluate_vars(const table_t& table_meta, const R& log_rhoy_table, const T& log_temp_table, const D& data, + const amrex::Real log_rhoy, const amrex::Real log_temp, const int component) +{ + // This function evaluates the 2-D interpolator, for several pairs of rho_ye and temperature. + + int jtemp_lo = vector_index_lu(table_meta.ntemp, log_temp_table, log_temp); + int jtemp_hi = jtemp_lo + 1; + + int irhoy_lo = vector_index_lu(table_meta.nrhoy, log_rhoy_table, log_rhoy); + int irhoy_hi = irhoy_lo + 1; + + amrex::Real rhoy_lo = log_rhoy_table(irhoy_lo); + amrex::Real rhoy_hi = log_rhoy_table(irhoy_hi); + + amrex::Real t_lo = log_temp_table(jtemp_lo); + amrex::Real t_hi = log_temp_table(jtemp_hi); + + amrex::Real fij = data(jtemp_lo, irhoy_lo, component); + amrex::Real fip1j = data(jtemp_lo, irhoy_hi, component); + amrex::Real fijp1 = data(jtemp_hi, irhoy_lo, component); + amrex::Real fip1jp1 = data(jtemp_hi, irhoy_hi, component); + + amrex::Real r = evaluate_linear_2d(fip1jp1, fip1j, fijp1, fij, + rhoy_hi, rhoy_lo, t_hi, t_lo, log_rhoy, log_temp); + + return r; +} + + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +amrex::Real +evaluate_dr_dtemp(const table_t& table_meta, const R& log_rhoy_table, const T& log_temp_table, const D& data, + const amrex::Real log_rhoy, const amrex::Real log_temp) +{ + // The main objective of this function is compute dlogr_dlogt. + + int irhoy_lo = vector_index_lu(table_meta.nrhoy, log_rhoy_table, log_rhoy); + int irhoy_hi = irhoy_lo + 1; + + int jtemp_lo = vector_index_lu(table_meta.ntemp, log_temp_table, log_temp); + int jtemp_hi = jtemp_lo + 1; + + amrex::Real dlogr_dlogt; + + //Now we compute the forward finite difference on the boundary + + if ((jtemp_lo - 1 < 1) || (jtemp_hi + 1 > table_meta.ntemp)) { + + // In this case we are in the boundaries of the table. + // At the boundary, we compute the forward-j finite difference + // to compute dlogr_dlogt_i and dlogr_dlogt_ip1, using the + // following stencil: + // + // + // fijp1-----------fip1jp1 + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // fij-------------fip1j + // + // with the following result: + // + // dlogr_dlogt_i --------dlogr_dlogt_ip1 + // + // Finally, we perform a 1d-linear interpolation between dlogr_dlogt_ip1 + // and dlogr_dlogt_i to compute dlogr_dlogt + + amrex::Real log_rhoy_lo = log_rhoy_table(irhoy_lo); + amrex::Real log_rhoy_hi = log_rhoy_table(irhoy_hi); + + amrex::Real log_temp_lo = log_temp_table(jtemp_lo); + amrex::Real log_temp_hi = log_temp_table(jtemp_hi); + + amrex::Real fij = data(jtemp_lo, irhoy_lo, jtab_rate); + amrex::Real fip1j = data(jtemp_lo, irhoy_hi, jtab_rate); + amrex::Real fijp1 = data(jtemp_hi, irhoy_lo, jtab_rate); + amrex::Real fip1jp1 = data(jtemp_hi, irhoy_hi, jtab_rate); + + amrex::Real dlogr_dlogt_i = (fijp1 - fij) / (log_temp_hi - log_temp_lo); + amrex::Real dlogr_dlogt_ip1 = (fip1jp1 - fip1j) / (log_temp_hi - log_temp_lo); + + if ((log_temp < log_temp_lo) || (log_temp > log_temp_hi)) { + dlogr_dlogt = 0.0_rt; + } else { + dlogr_dlogt = evaluate_linear_1d(dlogr_dlogt_ip1, dlogr_dlogt_i, log_rhoy_hi, log_rhoy_lo, log_rhoy); + } + + } else { + + // In this case, we use a bigger stencil to reconstruct the + // temperature derivatives in the j and j+1 temperature positions, + // using the cetral-j finite differences: + // + // fijp2 ------------fip1jp2 + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // fijp1------------fip1jp1 + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // fij------------- fip1j + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // fijm1------------fip1jm1 + // + // with the following result: + // + // + // dr_dt_ijp1 --------dr_dt_ip1jp1 + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // dr_dt_ij-----------dr_dt_ip1j + // + // Finally, we perform a 2d-linear interpolation to + // compute dlogr_dlogt. + + amrex::Real log_temp_jm1 = log_temp_table(jtemp_lo-1); + amrex::Real log_temp_j = log_temp_table(jtemp_lo); + amrex::Real log_temp_jp1 = log_temp_table(jtemp_hi); + amrex::Real log_temp_jp2 = log_temp_table(jtemp_hi+1); + + amrex::Real log_rhoy_lo = log_rhoy_table(irhoy_lo); + amrex::Real log_rhoy_hi = log_rhoy_table(irhoy_hi); + + amrex::Real fijm1 = data(jtemp_lo-1, irhoy_lo, jtab_rate); + amrex::Real fij = data(jtemp_lo, irhoy_lo, jtab_rate); + amrex::Real fijp1 = data(jtemp_hi, irhoy_lo, jtab_rate); + amrex::Real fijp2 = data(jtemp_hi+1, irhoy_lo, jtab_rate); + + amrex::Real fip1jm1 = data(jtemp_lo-1, irhoy_hi, jtab_rate); + amrex::Real fip1j = data(jtemp_lo, irhoy_hi, jtab_rate); + amrex::Real fip1jp1 = data(jtemp_hi, irhoy_hi, jtab_rate); + amrex::Real fip1jp2 = data(jtemp_hi+1, irhoy_hi, jtab_rate); + + amrex::Real dlogr_dlogt_ij = (fijp1 - fijm1)/(log_temp_jp1 - log_temp_jm1); + amrex::Real dlogr_dlogt_ijp1 = (fijp2 - fij)/(log_temp_jp2 - log_temp_j); + amrex::Real dlogr_dlogt_ip1j = (fip1jp1 - fip1jm1)/(log_temp_jp1 - log_temp_jm1); + amrex::Real dlogr_dlogt_ip1jp1 = (fip1jp2 - fip1j)/(log_temp_jp2 - log_temp_j); + + dlogr_dlogt = evaluate_linear_2d(dlogr_dlogt_ip1jp1, dlogr_dlogt_ip1j, dlogr_dlogt_ijp1, dlogr_dlogt_ij, + log_rhoy_hi, log_rhoy_lo, log_temp_jp1, log_temp_j, + log_rhoy, log_temp); + + } + return dlogr_dlogt; +} + + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +void +get_entries(const table_t& table_meta, const R& log_rhoy_table, const T& log_temp_table, const D& data, + const amrex::Real log_rhoy, const amrex::Real log_temp, amrex::Array1D& entries) +{ + for (int ivar = 1; ivar <= num_vars; ivar++) { + entries(ivar) = evaluate_vars(table_meta, log_rhoy_table, log_temp_table, data, + log_rhoy, log_temp, ivar); + } + + entries(k_index_dlogr_dlogt) = evaluate_dr_dtemp(table_meta, log_rhoy_table, log_temp_table, data, + log_rhoy, log_temp); +} + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +void +tabular_evaluate(const table_t& table_meta, + const R& log_rhoy_table, const T& log_temp_table, const D& data, + const amrex::Real rhoy, const amrex::Real temp, + amrex::Real& rate, amrex::Real& drate_dt, amrex::Real& edot_nu, amrex::Real& edot_gamma) +{ + amrex::Array1D entries; + + // Get the table entries at this rhoy, temp + + amrex::Real log_rhoy = std::log10(rhoy); + amrex::Real log_temp = std::log10(temp); + + get_entries(table_meta, log_rhoy_table, log_temp_table, data, + log_rhoy, log_temp, entries); + + // Fill outputs: rate, d(rate)/d(temperature), and + // (negative) neutrino loss contribution to energy generation + + rate = std::pow(10.0_rt, entries(jtab_rate)); + drate_dt = rate * entries(k_index_dlogr_dlogt) / temp; + edot_nu = -std::pow(10.0_rt, entries(jtab_nuloss)); + edot_gamma = std::pow(10.0_rt, entries(jtab_gamma)); +} + +#endif diff --git a/networks/CNO_He_burn/table_rates_data.cpp b/networks/CNO_He_burn/table_rates_data.cpp new file mode 100644 index 0000000000..63b38aff19 --- /dev/null +++ b/networks/CNO_He_burn/table_rates_data.cpp @@ -0,0 +1,23 @@ +#include +#include +#include +#include + +using namespace amrex; + +namespace rate_tables +{ + + +} + + +void init_tabular() +{ + + amrex::Print() << "reading in network electron-capture / beta-decay tables..." << std::endl; + + using namespace rate_tables; + + +} diff --git a/networks/CNO_He_burn/tfactors.H b/networks/CNO_He_burn/tfactors.H new file mode 100644 index 0000000000..3ec02d562f --- /dev/null +++ b/networks/CNO_He_burn/tfactors.H @@ -0,0 +1,34 @@ +#ifndef TFACTORS_H +#define TFACTORS_H + +struct tf_t { + amrex::Real T9; + amrex::Real T9i; + amrex::Real T943i; + amrex::Real T923i; + amrex::Real T913i; + amrex::Real T913; + amrex::Real T923; + amrex::Real T953; + amrex::Real lnT9; +}; + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +tf_t evaluate_tfactors(const amrex::Real T) +{ + + tf_t tf; + tf.T9 = T / 1.e9_rt; + tf.T9i = 1.0_rt / tf.T9; + tf.T913 = std::cbrt(tf.T9); + tf.T913i = 1.0_rt / tf.T913; + tf.T923i = tf.T913i * tf.T913i; + tf.T943i = tf.T9i * tf.T913i; + tf.T923 = tf.T913 * tf.T913; + tf.T953 = tf.T9 * tf.T923; + tf.lnT9 = std::log(tf.T9); + + return tf; +} + +#endif From 4c8331dfa46c3a973352353e2d7fe7edf3b3e7a4 Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Sun, 21 Jul 2024 16:59:58 -0400 Subject: [PATCH 3/5] fix compilation of nse_table_cell (#1620) we need SDC now --- unit_test/nse_table_cell/GNUmakefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/unit_test/nse_table_cell/GNUmakefile b/unit_test/nse_table_cell/GNUmakefile index 1b443926cb..e25e3df662 100644 --- a/unit_test/nse_table_cell/GNUmakefile +++ b/unit_test/nse_table_cell/GNUmakefile @@ -10,6 +10,8 @@ COMP = gnu USE_MPI = FALSE USE_OMP = FALSE +USE_SIMPLIFIED_SDC = TRUE + USE_REACT = TRUE EBASE = main From 495d3f5cce97b777b3c0d9dc3c4a31a084e7bf01 Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Thu, 25 Jul 2024 11:19:18 -0400 Subject: [PATCH 4/5] add jac_cell unit test (#1618) this simply displays the analytic and numerical Jacobian elements for comparison --- .github/workflows/jac_cell.yml | 45 ++++ sphinx_docs/source/unit_tests.rst | 7 + unit_test/jac_cell/GNUmakefile | 39 ++++ unit_test/jac_cell/Make.package | 2 + unit_test/jac_cell/README.md | 5 + unit_test/jac_cell/_parameters | 21 ++ .../ci-benchmarks/jac_cell_aprox13.out | 214 ++++++++++++++++++ unit_test/jac_cell/inputs_aprox13 | 38 ++++ unit_test/jac_cell/jac_cell.H | 79 +++++++ unit_test/jac_cell/main.cpp | 28 +++ 10 files changed, 478 insertions(+) create mode 100644 .github/workflows/jac_cell.yml create mode 100644 unit_test/jac_cell/GNUmakefile create mode 100644 unit_test/jac_cell/Make.package create mode 100644 unit_test/jac_cell/README.md create mode 100644 unit_test/jac_cell/_parameters create mode 100644 unit_test/jac_cell/ci-benchmarks/jac_cell_aprox13.out create mode 100644 unit_test/jac_cell/inputs_aprox13 create mode 100644 unit_test/jac_cell/jac_cell.H create mode 100644 unit_test/jac_cell/main.cpp diff --git a/.github/workflows/jac_cell.yml b/.github/workflows/jac_cell.yml new file mode 100644 index 0000000000..91a05a46cd --- /dev/null +++ b/.github/workflows/jac_cell.yml @@ -0,0 +1,45 @@ +name: jac_cell + +on: [pull_request] +jobs: + nse_table: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Get AMReX + run: | + mkdir external + cd external + git clone https://github.com/AMReX-Codes/amrex.git + cd amrex + git checkout development + echo 'AMREX_HOME=$(GITHUB_WORKSPACE)/external/amrex' >> $GITHUB_ENV + echo $AMREX_HOME + if [[ -n "${AMREX_HOME}" ]]; then exit 1; fi + cd ../.. + + - name: Install dependencies + run: | + sudo apt-get update -y -qq + sudo apt-get -qq -y install curl cmake jq clang g++>=9.3.0 + + - name: Compile jac_cell + run: | + cd unit_test/jac_cell + make -j 4 + + - name: Run jac_cell + run: | + cd unit_test/jac_cell + ./main3d.gnu.ex inputs_aprox13 > test.out + + - name: Compare to stored output + run: | + cd unit_test/jac_cell + diff -I "^Initializing AMReX" -I "^AMReX" test.out ci-benchmarks/jac_cell_aprox13.out + + + diff --git a/sphinx_docs/source/unit_tests.rst b/sphinx_docs/source/unit_tests.rst index d9ba9c5d1e..a95a18de72 100644 --- a/sphinx_docs/source/unit_tests.rst +++ b/sphinx_docs/source/unit_tests.rst @@ -131,6 +131,13 @@ One-zone tests given a $\rho$, $T$, and $X_k$, call the equation of state and print out the thermodynamic information. +* ``jac_cell`` : + + for a single thermodynamic state, compute the analytic Jacobian + (using the functions provided by the network) and a numerical + finite-difference approximation to the Jacobian and output them, + element-by-element, to the display. + * ``nse_table_cell`` : given a $\rho$, $T$, and $Y_e$, evaluate the NSE state via table interpolation diff --git a/unit_test/jac_cell/GNUmakefile b/unit_test/jac_cell/GNUmakefile new file mode 100644 index 0000000000..8372650ebb --- /dev/null +++ b/unit_test/jac_cell/GNUmakefile @@ -0,0 +1,39 @@ +PRECISION = DOUBLE +PROFILE = FALSE + +DEBUG = FALSE + +DIM = 3 + +COMP = gnu + +USE_MPI = FALSE +USE_OMP = FALSE + +USE_REACT = TRUE + +EBASE = main + +BL_NO_FORT = TRUE + +# define the location of the Microphysics top directory +MICROPHYSICS_HOME := ../.. + +# This sets the EOS directory +EOS_DIR := helmholtz + +# This sets the network directory +NETWORK_DIR := aprox13 + +CONDUCTIVITY_DIR := stellar + +INTEGRATOR_DIR = VODE + +EXTERN_SEARCH += . .. + +Bpack := ./Make.package +Blocs := . + +include $(MICROPHYSICS_HOME)/unit_test/Make.unit_test + + diff --git a/unit_test/jac_cell/Make.package b/unit_test/jac_cell/Make.package new file mode 100644 index 0000000000..daf293f4db --- /dev/null +++ b/unit_test/jac_cell/Make.package @@ -0,0 +1,2 @@ +CEXE_sources += main.cpp +CEXE_headers += jac_cell.H diff --git a/unit_test/jac_cell/README.md b/unit_test/jac_cell/README.md new file mode 100644 index 0000000000..0d972f1f25 --- /dev/null +++ b/unit_test/jac_cell/README.md @@ -0,0 +1,5 @@ +# jac_cell + +For a single thermodynamic condition, evaluate the Jacobian using both +the analytic version from the network and the finite-difference +numerical approximation. diff --git a/unit_test/jac_cell/_parameters b/unit_test/jac_cell/_parameters new file mode 100644 index 0000000000..9047a84f8e --- /dev/null +++ b/unit_test/jac_cell/_parameters @@ -0,0 +1,21 @@ +@namespace: unit_test + +run_prefix string "" + +small_temp real 1.e5 +small_dens real 1.e5 + +# the final time to integrate to +tmax real 1.e-2 + +# first output time -- we will output in nsteps logarithmically spaced steps between [tfirst, tmax] +tfirst real 0.0 + +# number of steps (logarithmically spaced) +nsteps int 100 + +density real 1.e7 + +temperature real 3.e9 + +skip_initial_normalization bool 0 diff --git a/unit_test/jac_cell/ci-benchmarks/jac_cell_aprox13.out b/unit_test/jac_cell/ci-benchmarks/jac_cell_aprox13.out new file mode 100644 index 0000000000..b85220eaee --- /dev/null +++ b/unit_test/jac_cell/ci-benchmarks/jac_cell_aprox13.out @@ -0,0 +1,214 @@ +Initializing AMReX (24.07-16-gdcb9cc0383dc)... +AMReX (24.07-16-gdcb9cc0383dc) initialized +starting the single zone burn... +J( 1, 1) = -22.83252156 -22.76871089 +J( 1, 2) = -7074.184809 -7070.885902 +J( 1, 3) = -146332.0024 -146331.961 +J( 1, 4) = -2840218.246 -2840216.758 +J( 1, 5) = -1480087.416 -1480081.685 +J( 1, 6) = -150293.5967 -150288.8284 +J( 1, 7) = -155563.9558 -155558.7711 +J( 1, 8) = -90256.26203 -90254.79555 +J( 1, 9) = -4338.739586 -4338.971348 +J( 1, 10) = -1367.526773 -1364.641738 +J( 1, 11) = -754.4182788 -751.4739669 +J( 1, 12) = -164.8910475 -163.1314012 +J( 1, 13) = 0.177283612 8.045249939e-06 +J( 1, 14) = 2.036804679e-18 2.036804635e-18 + +J( 2, 1) = 22.83252156 22.76871089 +J( 2, 2) = -21223.06355 -21215.80687 +J( 2, 3) = -0.1431906097 0.01577663496 +J( 2, 4) = -0.1527366503 0 +J( 2, 5) = -0.1591006774 0 +J( 2, 6) = -0.1636464111 0 +J( 2, 7) = -0.1670557113 0 +J( 2, 8) = -0.1697073892 0 +J( 2, 9) = -0.1718287316 0 +J( 2, 10) = -0.1735643754 0 +J( 2, 11) = -0.1750107452 0 +J( 2, 12) = -0.1762345965 0 +J( 2, 13) = -0.177283612 0 +J( 2, 14) = -2.036804679e-18 -2.036804635e-18 + +J( 3, 1) = -5.632962675e-25 -5.570411722e-25 +J( 3, 2) = 28286.69277 28286.69277 +J( 3, 3) = -585327.8861 -585327.8861 +J( 3, 4) = 6128.217777 6128.217777 +J( 3, 5) = -1.739488553e-26 0 +J( 3, 6) = -1.789188226e-26 0 +J( 3, 7) = -1.826462981e-26 0 +J( 3, 8) = -1.855454457e-26 0 +J( 3, 9) = -1.878647638e-26 0 +J( 3, 10) = -1.897623876e-26 0 +J( 3, 11) = -1.913437409e-26 0 +J( 3, 12) = -1.92681809e-26 0 +J( 3, 13) = -1.938287245e-26 0 +J( 3, 14) = -2.226890848e-43 -2.226890927e-43 + +J( 4, 1) = -1.366807088e-23 -1.347708423e-23 +J( 4, 2) = 4.753870727e-12 1.2621475e-25 +J( 4, 3) = 731659.8313 731659.8313 +J( 4, 4) = -14216404.34 -14216404.34 +J( 4, 5) = 0.003363940593 0.003363940593 +J( 4, 6) = -1.093051048e-24 0 +J( 4, 7) = -1.115822945e-24 0 +J( 4, 8) = -1.13353442e-24 0 +J( 4, 9) = -1.1477036e-24 0 +J( 4, 10) = -1.159296566e-24 0 +J( 4, 11) = -1.168957371e-24 0 +J( 4, 12) = -1.177131898e-24 0 +J( 4, 13) = -1.184138635e-24 0 +J( 4, 14) = -1.360452377e-41 -1.360452352e-41 + +J( 5, 1) = 8.302657095e-24 8.170002764e-24 +J( 5, 2) = 3.153014201e-25 1.88760336e-28 +J( 5, 3) = 3.547140976e-25 1.88760336e-28 +J( 5, 4) = 17050492.88 17050492.88 +J( 5, 5) = -8880490.115 -8880490.115 +J( 5, 6) = 0.0001669112793 0.0001669112793 +J( 5, 7) = -5.810350496e-23 0 +J( 5, 8) = -5.809693618e-23 0 +J( 5, 9) = -5.809168116e-23 0 +J( 5, 10) = -5.808738159e-23 0 +J( 5, 11) = -5.808379862e-23 0 +J( 5, 12) = -5.808076688e-23 0 +J( 5, 13) = -5.807816824e-23 0 +J( 5, 14) = 5.045605543e-42 5.045605749e-42 + +J( 6, 1) = 9.417373366e-24 9.308549997e-24 +J( 6, 2) = 7.540626412e-25 2.20220392e-28 +J( 6, 3) = 6.930014139e-18 2.204043829e-28 +J( 6, 4) = 5.942221324e-23 0 +J( 6, 5) = 10360571.8 10360571.8 +J( 6, 6) = -1052021.799 -1052021.799 +J( 6, 7) = 2.618223472 2.618223472 +J( 6, 8) = 5.952275493e-23 0 +J( 6, 9) = 5.953532264e-23 0 +J( 6, 10) = 5.954560531e-23 0 +J( 6, 11) = 5.955417421e-23 0 +J( 6, 12) = 5.956142481e-23 0 +J( 6, 13) = 5.956763961e-23 0 +J( 6, 14) = 1.206687442e-41 1.206687398e-41 + +J( 7, 1) = -4.433213398e-26 -4.216253314e-26 +J( 7, 2) = -1.713032535e-26 0 +J( 7, 3) = 9.755839735e-19 2.590167837e-32 +J( 7, 4) = -2.055639042e-26 0 +J( 7, 5) = -2.141290668e-26 0 +J( 7, 6) = 1202310.628 1202310.628 +J( 7, 7) = -1244476.153 -1244476.153 +J( 7, 8) = 10.56270301 10.56270301 +J( 7, 9) = -2.312593922e-26 0 +J( 7, 10) = -2.335953456e-26 0 +J( 7, 11) = -2.355419735e-26 0 +J( 7, 12) = -2.371891202e-26 0 +J( 7, 13) = -2.386009602e-26 0 +J( 7, 14) = -2.741277362e-43 -2.741278343e-43 + +J( 8, 1) = 5.935462112e-25 5.877272628e-25 +J( 8, 2) = 4.909905946e-26 0 +J( 8, 3) = 5.523644189e-26 0 +J( 8, 4) = 5.891887135e-26 0 +J( 8, 5) = 6.137382433e-26 0 +J( 8, 6) = 6.312736216e-26 0 +J( 8, 7) = 1400032.306 1400032.306 +J( 8, 8) = -812316.926 -812316.926 +J( 8, 9) = 1.524756764 1.524756764 +J( 8, 10) = 6.69532629e-26 0 +J( 8, 11) = 6.751120676e-26 0 +J( 8, 12) = 6.79833131e-26 0 +J( 8, 13) = 6.838797568e-26 0 +J( 8, 14) = 7.857068531e-43 7.857069044e-43 + +J( 9, 1) = 8.75876269e-25 8.591697512e-25 +J( 9, 2) = 1.000399222e-25 0 +J( 9, 3) = 1.125449125e-25 0 +J( 9, 4) = 1.200479066e-25 0 +J( 9, 5) = 1.250499028e-25 0 +J( 9, 6) = 1.286227571e-25 0 +J( 9, 7) = 1.313023979e-25 0 +J( 9, 8) = 902561.1588 902561.1588 +J( 9, 9) = -43393.10183 -43393.10183 +J( 9, 10) = 136.1591093 136.1591093 +J( 9, 11) = 1.37554893e-25 0 +J( 9, 12) = 1.385168154e-25 0 +J( 9, 13) = 1.393413202e-25 0 +J( 9, 14) = 1.600887132e-42 1.600887039e-42 + +J( 10, 1) = 3.341465689e-26 3.256971428e-26 +J( 10, 2) = 3.653921958e-27 0 +J( 10, 3) = 4.110662202e-27 0 +J( 10, 4) = 4.384706349e-27 0 +J( 10, 5) = 4.567402447e-27 0 +J( 10, 6) = 4.69789966e-27 0 +J( 10, 7) = 4.79577257e-27 0 +J( 10, 8) = 4.871895944e-27 0 +J( 10, 9) = 47730.54842 47730.54842 +J( 10, 10) = -15310.60916 -15310.60916 +J( 10, 11) = 0.002383888334 0.002383888334 +J( 10, 12) = 5.059276557e-27 0 +J( 10, 13) = 5.089391298e-27 0 +J( 10, 14) = 5.847182318e-44 5.847181188e-44 + +J( 11, 1) = 7.727968776e-27 7.52140159e-27 +J( 11, 2) = 1.166347238e-27 0 +J( 11, 3) = 1.312140643e-27 0 +J( 11, 4) = 1.399616686e-27 0 +J( 11, 5) = 1.457934048e-27 0 +J( 11, 6) = 1.499589306e-27 0 +J( 11, 7) = 1.53083075e-27 0 +J( 11, 8) = 1.555129651e-27 0 +J( 11, 9) = 1.574568772e-27 0 +J( 11, 10) = 16539.09179 16539.09179 +J( 11, 11) = -9017.692804 -9017.692804 +J( 11, 12) = 0.000548515294 0.000548515294 +J( 11, 13) = 1.624555082e-27 0 +J( 11, 14) = 1.866445159e-44 1.866444877e-44 + +J( 12, 1) = 7.899733031e-27 7.648455578e-27 +J( 12, 2) = 1.384355059e-27 0 +J( 12, 3) = 1.557399442e-27 0 +J( 12, 4) = 1.661226071e-27 0 +J( 12, 5) = 1.730443824e-27 0 +J( 12, 6) = 1.779885076e-27 0 +J( 12, 7) = 1.816966015e-27 0 +J( 12, 8) = 1.845806746e-27 0 +J( 12, 9) = 1.86887933e-27 0 +J( 12, 10) = 1.887756899e-27 0 +J( 12, 11) = 9769.164387 9769.164387 +J( 12, 12) = -2120.709403 -2120.709403 +J( 12, 13) = 0.0001045882492 0.0001045882492 +J( 12, 14) = 2.215311799e-44 2.215311465e-44 + +J( 13, 1) = 2.36704737e-27 2.283840256e-27 +J( 13, 2) = 4.518871185e-28 0 +J( 13, 3) = 5.083730083e-28 0 +J( 13, 4) = 5.422645422e-28 0 +J( 13, 5) = 5.648588981e-28 0 +J( 13, 6) = 5.809977238e-28 0 +J( 13, 7) = 5.93101843e-28 0 +J( 13, 8) = 6.02516158e-28 0 +J( 13, 9) = 6.1004761e-28 0 +J( 13, 10) = 6.16209707e-28 0 +J( 13, 11) = 6.213447879e-28 0 +J( 13, 12) = 2283.840256 2283.840256 +J( 13, 13) = -0.0001126334991 -0.0001126334991 +J( 13, 14) = 7.231315828e-45 7.231315425e-45 + +J( 14, 1) = 1.335535433e+19 1.331810907e+19 +J( 14, 2) = 1.672678172e+22 1.221628179e+22 +J( 14, 3) = 1.764169333e+23 1.669883326e+23 +J( 14, 4) = 6.38519349e+24 6.382691446e+24 +J( 14, 5) = 3.575435081e+24 3.56443165e+24 +J( 14, 6) = 2.522960852e+23 2.518972785e+23 +J( 14, 7) = 2.567887496e+23 2.492143743e+23 +J( 14, 8) = 1.63734141e+23 1.532779936e+23 +J( 14, 9) = 1.46197563e+22 5.363178614e+21 +J( 14, 10) = 1.41303877e+22 2.541660459e+21 +J( 14, 11) = 7.680250114e+21 1.43978686e+21 +J( 14, 12) = 6.72190453e+21 3.147552442e+20 +J( 14, 13) = -1.03705583e+17 -1.56260658e+13 +J( 14, 14) = -1.191469501 -1.191474366 + +AMReX (24.07-16-gdcb9cc0383dc) finalized diff --git a/unit_test/jac_cell/inputs_aprox13 b/unit_test/jac_cell/inputs_aprox13 new file mode 100644 index 0000000000..5e138fc92d --- /dev/null +++ b/unit_test/jac_cell/inputs_aprox13 @@ -0,0 +1,38 @@ +unit_test.run_prefix = "react_aprox13_" + +unit_test.small_temp = 1.e5 +unit_test.small_dens = 1.e5 + +integrator.burner_verbose = 0 + +# Set which jacobian to use +# 1 = analytic jacobian +# 2 = numerical jacobian + +integrator.jacobian = 2 + +integrator.renormalize_abundances = 0 + +integrator.rtol_spec = 1.0e-6 +integrator.rtol_enuc = 1.0e-6 +integrator.atol_spec = 1.0e-6 +integrator.atol_enuc = 1.0e-6 + +unit_test.tmax = 1.e-2 + +unit_test.density = 1.e6 +unit_test.temperature = 3.e9 + +unit_test.X1 = 1.0 +unit_test.X2 = 0.0 +unit_test.X3 = 0.0 +unit_test.X4 = 0.0 +unit_test.X5 = 0.0 +unit_test.X6 = 0.0 +unit_test.X7 = 0.0 +unit_test.X8 = 0.0 +unit_test.X9 = 0.0 +unit_test.X10 = 0.0 +unit_test.X11 = 0.0 +unit_test.X12 = 0.0 +unit_test.X13 = 0.0 diff --git a/unit_test/jac_cell/jac_cell.H b/unit_test/jac_cell/jac_cell.H new file mode 100644 index 0000000000..fd49859883 --- /dev/null +++ b/unit_test/jac_cell/jac_cell.H @@ -0,0 +1,79 @@ +#ifndef BURN_CELL_H +#define BURN_CELL_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace unit_test_rp; + +AMREX_INLINE +void jac_cell_c() +{ + + amrex::Real massfractions[NumSpec] = {-1.0}; + + // Make sure user set all the mass fractions to values in the interval [0, 1] + for (int n = 1; n <= NumSpec; ++n) { + + massfractions[n-1] = get_xn(n); + + if (massfractions[n-1] < 0 || massfractions[n-1] > 1) { + amrex::Error("mass fraction for " + short_spec_names_cxx[n-1] + " not initialized in the interval [0,1]!"); + } + + } + + burn_t burn_state; + + burn_state.rho = density; + burn_state.T = temperature; + for (int n = 0; n < NumSpec; ++n) { + burn_state.xn[n] = massfractions[n]; + } + + normalize_abundances_burn(burn_state); + + // get the energy + + eos(eos_input_rt, burn_state); + + JacNetArray2D jac_analytic; + JacNetArray2D jac_numerical; + + actual_jac(burn_state, jac_analytic); + + // we need to convert this to be in terms of X instead of Y + + for (int j = 1; j <= NumSpec; ++j) { + for (int i = 1; i <= neqs; ++i) { + jac_analytic(j, i) *= aion[j-1]; + jac_analytic(i, j) *= aion_inv[j-1]; + } + } + + jac_info_t jac_info; + jac_info.h = 1.e-5_rt; // timestep really doesn't make sense here + + numerical_jac(burn_state, jac_info, jac_numerical); + + // output + + for (int ii = 1; ii <= neqs; ++ii) { + for (int jj = 1; jj <= neqs; ++jj) { + std::cout << "J(" << std::setw(3) << ii << ", " << std::setw(3) << jj << ") = " + << std::setw(20) << jac_numerical(ii,jj) << " " + << std::setw(20) << jac_analytic(ii,jj) << std::endl; + } + std::cout << std::endl; + } + + +} +#endif diff --git a/unit_test/jac_cell/main.cpp b/unit_test/jac_cell/main.cpp new file mode 100644 index 0000000000..692a38d8f9 --- /dev/null +++ b/unit_test/jac_cell/main.cpp @@ -0,0 +1,28 @@ +#include + +#include +#include +#include +#include +#include + +using namespace unit_test_rp; + +int main(int argc, char *argv[]) { + + amrex::Initialize(argc, argv); + + std::cout << "starting the single zone burn..." << std::endl; + + init_unit_test(); + + // C++ EOS initialization (must be done after Fortran eos_init and init_extern_parameters) + eos_init(small_temp, small_dens); + + // C++ Network, RHS, screening, rates initialization + network_init(); + + jac_cell_c(); + + amrex::Finalize(); +} From 997a42627d1df73afb25199fdfc58ece3657f981 Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Thu, 25 Jul 2024 11:19:43 -0400 Subject: [PATCH 5/5] more network documentation (#1628) this removes some deleted networks and adds in some new ones --- networks/ECSN/ecsn_network_generation.py | 8 +- sphinx_docs/source/CNO_He_burn.png | Bin 0 -> 114151 bytes sphinx_docs/source/ECSN.png | Bin 0 -> 54118 bytes sphinx_docs/source/cno_extras_hide_alpha.png | Bin 0 -> 85600 bytes sphinx_docs/source/networks.rst | 169 +++++++++++-------- sphinx_docs/source/nova.png | Bin 0 -> 47467 bytes sphinx_docs/source/nova2.png | Bin 0 -> 63679 bytes sphinx_docs/source/subch_approx.png | Bin 92928 -> 0 bytes sphinx_docs/source/subch_full.png | Bin 101336 -> 0 bytes 9 files changed, 109 insertions(+), 68 deletions(-) create mode 100644 sphinx_docs/source/CNO_He_burn.png create mode 100644 sphinx_docs/source/ECSN.png create mode 100644 sphinx_docs/source/cno_extras_hide_alpha.png create mode 100644 sphinx_docs/source/nova.png create mode 100644 sphinx_docs/source/nova2.png delete mode 100644 sphinx_docs/source/subch_approx.png delete mode 100644 sphinx_docs/source/subch_full.png diff --git a/networks/ECSN/ecsn_network_generation.py b/networks/ECSN/ecsn_network_generation.py index c9f7fd97df..2a1a7e766b 100644 --- a/networks/ECSN/ecsn_network_generation.py +++ b/networks/ECSN/ecsn_network_generation.py @@ -29,10 +29,16 @@ # Only select the rates which are >= 1.e-20 at 1.e9 K and 7.e9 g/cm3 # Do not select weak rates from "20180319default2" new_rate_list = [] -ydots = rc.evaluate_rates(rho=7.e9, T=1.e9, composition=comp) +rho = 7.e9 +T = 1.e9 +ydots = rc.evaluate_rates(rho=rho, T=T, composition=comp) for rate in rc.rates: if ydots[rate] >= 1.e-20 and rate.weak == False: new_rate_list.append(rate) wd_net = AmrexAstroCxxNetwork(rates=new_rate_list, rate_files=escn_tabular) wd_net.write_network() + +wd_net.plot(rho, T, comp, outfile="ECSN.png", + hide_xalpha=True, curved_edges=True, + node_size=500, node_font_size=11, node_color="#337dff", node_shape="s") diff --git a/sphinx_docs/source/CNO_He_burn.png b/sphinx_docs/source/CNO_He_burn.png new file mode 100644 index 0000000000000000000000000000000000000000..24c454e17c45b28b699c5ba4e65ee219d0a453b0 GIT binary patch literal 114151 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