List of embedded Runge-Kutta methods#
Explicit methods#
-
template<typename value_t>
using ponio::runge_kutta::rk54_6m_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk54_6m<value_t>># RK5(4) 6M method.
see more on ponio
This method is based on the following Butcher tableau:
\[\begin{split} \begin{array}{c|cccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{5} & \frac{1}{5} & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{10} & \frac{3}{40} & \frac{9}{40} & 0 & 0 & 0 & 0 \\ \frac{3}{5} & \frac{3}{10} & - \frac{9}{10} & \frac{6}{5} & 0 & 0 & 0 \\ \frac{2}{3} & \frac{226}{729} & - \frac{25}{27} & \frac{880}{729} & \frac{55}{729} & 0 & 0 \\ 1 & - \frac{181}{270} & \frac{5}{2} & - \frac{266}{297} & - \frac{91}{27} & \frac{189}{55} & 0 \\ \hline & \frac{19}{216} & 0 & \frac{1000}{2079} & - \frac{125}{216} & \frac{81}{88} & \frac{5}{56} \\ \hline & \frac{31}{540} & 0 & \frac{190}{297} & - \frac{145}{108} & \frac{351}{220} & \frac{1}{20} \end{array} \end{split}\]stages: 6
order: 5
stages order:
stability function:
\[ z \left(\frac{z^{5}}{800} + \frac{z^{4}}{120} + \frac{z^{3}}{24} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]
- Template Parameters:
value_t – type of coefficient (
doubleby default)
-
template<typename value_t>
using ponio::runge_kutta::rk54_7m_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk54_7m<value_t>># RK5(4) 7M method.
see more on ponio
This method is based on the following Butcher tableau:
\[\begin{split} \begin{array}{c|ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{5} & \frac{1}{5} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{10} & \frac{3}{40} & \frac{9}{40} & 0 & 0 & 0 & 0 & 0 \\ \frac{4}{5} & \frac{44}{45} & - \frac{56}{15} & \frac{32}{9} & 0 & 0 & 0 & 0 \\ \frac{8}{9} & \frac{19372}{6561} & - \frac{25360}{2187} & \frac{64448}{6561} & - \frac{212}{729} & 0 & 0 & 0 \\ 1 & \frac{9017}{3168} & - \frac{355}{33} & \frac{46732}{5247} & \frac{49}{176} & - \frac{5103}{18656} & 0 & 0 \\ 1 & \frac{35}{384} & 0 & \frac{500}{1113} & \frac{125}{192} & - \frac{2187}{6784} & \frac{11}{84} & 0 \\ \hline & \frac{35}{384} & 0 & \frac{500}{1113} & \frac{125}{192} & - \frac{2187}{6784} & \frac{11}{84} & 0 \\ \hline & \frac{5179}{57600} & 0 & \frac{7571}{16695} & \frac{393}{640} & - \frac{92097}{339200} & \frac{187}{2100} & \frac{1}{40} \end{array} \end{split}\]stages: 7
order: 5
stages order:
stability function:
\[ z \left(\frac{z^{5}}{600} + \frac{z^{4}}{120} + \frac{z^{3}}{24} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]
- Template Parameters:
value_t – type of coefficient (
doubleby default)
-
template<typename value_t>
using ponio::runge_kutta::rk54_7s_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk54_7s<value_t>># RK5(4) 7S method.
see more on ponio
This method is based on the following Butcher tableau:
\[\begin{split} \begin{array}{c|ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{2}{9} & \frac{2}{9} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{3} & \frac{1}{12} & \frac{1}{4} & 0 & 0 & 0 & 0 & 0 \\ \frac{5}{9} & \frac{55}{324} & - \frac{25}{108} & \frac{50}{81} & 0 & 0 & 0 & 0 \\ \frac{2}{3} & \frac{83}{330} & - \frac{13}{22} & \frac{61}{66} & \frac{9}{110} & 0 & 0 & 0 \\ 1 & - \frac{19}{28} & \frac{9}{4} & \frac{1}{7} & - \frac{27}{7} & \frac{22}{7} & 0 & 0 \\ 1 & \frac{19}{200} & 0 & \frac{3}{5} & - \frac{243}{400} & \frac{33}{40} & \frac{7}{80} & 0 \\ \hline & \frac{19}{200} & 0 & \frac{3}{5} & - \frac{243}{400} & \frac{33}{40} & \frac{7}{80} & 0 \\ \hline & \frac{431}{5000} & 0 & \frac{333}{500} & - \frac{7857}{10000} & \frac{957}{1000} & \frac{193}{2000} & - \frac{1}{50} \end{array} \end{split}\]stages: 7
order: 5
stages order:
stability function:
\[ z \left(\frac{z^{5}}{1296} + \frac{z^{4}}{120} + \frac{z^{3}}{24} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]
- Template Parameters:
value_t – type of coefficient (
doubleby default)
-
template<typename value_t>
using ponio::runge_kutta::rk65_8m_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk65_8m<value_t>># RK6(5) 8M method.
see more on ponio
This method is based on the following Butcher tableau:
\[\begin{split} \begin{array}{c|cccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{10} & \frac{1}{10} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{2}{9} & - \frac{2}{81} & \frac{20}{81} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{7} & \frac{615}{1372} & - \frac{270}{343} & \frac{1053}{1372} & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{5} & \frac{3243}{5500} & - \frac{54}{55} & \frac{50949}{71500} & \frac{4998}{17875} & 0 & 0 & 0 & 0 \\ \frac{4}{5} & - \frac{26492}{37125} & \frac{72}{55} & \frac{2808}{23375} & - \frac{24206}{37125} & \frac{338}{459} & 0 & 0 & 0 \\ 1 & \frac{5561}{2376} & - \frac{35}{11} & - \frac{24117}{31603} & \frac{899983}{200772} & - \frac{5225}{1836} & \frac{3925}{4056} & 0 & 0 \\ 1 & \frac{465467}{266112} & - \frac{2945}{1232} & - \frac{5610201}{14158144} & \frac{10513573}{3212352} & - \frac{424325}{205632} & \frac{376225}{454272} & 0 & 0 \\ \hline & \frac{821}{10800} & 0 & \frac{19683}{71825} & \frac{175273}{912600} & \frac{395}{3672} & \frac{785}{2704} & \frac{3}{50} & 0 \\ \hline & \frac{61}{864} & 0 & \frac{98415}{321776} & \frac{16807}{146016} & \frac{1375}{7344} & \frac{1375}{5408} & - \frac{37}{1120} & \frac{1}{10} \end{array} \end{split}\]stages: 8
order: 5
stages order:
stability function:
\[ z \left(\frac{157 z^{6}}{693000} + \frac{943 z^{5}}{693000} + \frac{z^{4}}{120} + \frac{z^{3}}{24} + \frac{z^{2}}{6} + \frac{z}{2} + 1\right) + 1 \]
- Template Parameters:
value_t – type of coefficient (
doubleby default)
-
template<typename value_t>
using ponio::runge_kutta::rk87_13m_t = explicit_runge_kutta::explicit_runge_kutta<butcher_rk87_13m<value_t>># RK8(7) 13M method.
see more on ponio
This method is based on the following Butcher tableau:
\[\begin{split} \begin{array}{c|ccccccccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{18} & \frac{1}{18} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{12} & \frac{1}{48} & \frac{1}{16} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{8} & \frac{1}{32} & 0 & \frac{3}{32} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{5}{16} & \frac{5}{16} & 0 & - \frac{75}{64} & \frac{75}{64} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{3}{8} & \frac{3}{80} & 0 & 0 & \frac{3}{16} & \frac{3}{20} & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{59}{400} & \frac{29443841}{614563906} & 0 & 0 & \frac{77736538}{692538347} & - \frac{28693883}{1125000000} & \frac{23124283}{1800000000} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{93}{200} & \frac{16016141}{946692911} & 0 & 0 & \frac{61564180}{158732637} & \frac{22789713}{633445777} & \frac{545815736}{2771057229} & - \frac{180193667}{1043307555} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{5490023248}{9719169821} & \frac{39632708}{573591083} & 0 & 0 & - \frac{433636366}{683701615} & - \frac{421739975}{2616292301} & \frac{100302831}{723423059} & \frac{790204164}{839813087} & \frac{800635310}{3783071287} & 0 & 0 & 0 & 0 & 0 \\ \frac{13}{20} & \frac{246121993}{1340847787} & 0 & 0 & - \frac{37695042795}{15268766246} & - \frac{309121744}{1061227803} & - \frac{12992083}{490766935} & \frac{6005943493}{2108947869} & \frac{393006217}{1396673457} & \frac{123872331}{1001029789} & 0 & 0 & 0 & 0 \\ \frac{1201146811}{1299019798} & - \frac{1028468189}{846180014} & 0 & 0 & \frac{8478235783}{508512852} & \frac{1311729495}{1432422823} & - \frac{10304129995}{1701304382} & - \frac{48777925059}{3047939560} & \frac{15336726248}{1032824649} & - \frac{45442868181}{3398467696} & \frac{3065993473}{597172653} & 0 & 0 & 0 \\ 1 & \frac{185892177}{718116043} & 0 & 0 & - \frac{3185094517}{667107341} & - \frac{477755414}{1098053517} & - \frac{703635378}{230739211} & \frac{5731566787}{1027545527} & \frac{5232866602}{850066563} & - \frac{4093664535}{808688257} & \frac{3962137247}{1805957418} & \frac{65686358}{487910083} & 0 & 0 \\ 1 & \frac{403863854}{491063109} & 0 & 0 & - \frac{5068492393}{434740067} & - \frac{411421997}{543043805} & \frac{652783627}{914296604} & \frac{11173962825}{925320556} & - \frac{13158990841}{6184727034} & \frac{3936647629}{1978049680} & - \frac{160528059}{685178525} & \frac{248638103}{1413531060} & 0 & 0 \\ \hline & \frac{13451932}{455176623} & 0 & 0 & 0 & 0 & - \frac{808719846}{976000145} & \frac{1757004468}{5645159321} & \frac{656045339}{265891186} & - \frac{3867574721}{1518517206} & \frac{465885868}{322736535} & \frac{53011238}{667516719} & \frac{2}{45} & 0 \\ \hline & \frac{14005451}{335480064} & 0 & 0 & 0 & 0 & - \frac{59238493}{1068277825} & \frac{181606767}{758867731} & \frac{561292985}{797845732} & - \frac{1041891430}{1371343529} & \frac{760417239}{1151165299} & \frac{118820643}{751138087} & - \frac{528747749}{2220607170} & \frac{1}{4} \end{array} \end{split}\]stages: 13
order: 5
stages order:
stability function:
\[ z \left(- \frac{18014461410191061851044337424226964161393267397 z^{11}}{176362113233915443784632481296954662860466153062400000000} + \frac{579610672882944040965459831292043121517203402453769233950141611115653229058190630611561896792980377451 z^{10}}{52930149274503007565740611232642107727595980255919940377981010519187847281299356065113509881736331264000000000} + \frac{1311690294666324576022540737002853396744479072059268864101155037520235267958573549649709719841929880743320656239063971762630287492634974480323740498115819303 z^{9}}{4688900342046827221233515138559599920429581165305922099071888609522466458955325926837138275611106507974272813904493125923254971797262611160871875006955520000000000} + \frac{173202026928930674956862643792583472430250030082292305387802401908069242973872705211790880025189048547738958626947936068664047772105017256485381526909165350626899349196961435582733119709433309706069823297 z^{8}}{67105009555446125023068824548786436707601134466887950725124522889091129532097475245188150926338518916219849168487030705367949449358686050694711115285704900502867563299072552908079406625899017839509504000000000} + \frac{7715232892371949774979784590658427020425594166350073790724222667294167202182718396183370280501115600063120008672418123668744560041229464535772623192406109198524961399341137876727533206440531469493852666690918433774379091701003201795555337533344723 z^{7}}{308063994448581211308820363469127573445794487885051155265053442800141273324921936449975003043547483729993905998094764633305974019177609230957044120104890909146869771787154457113674382372738353117527574872488176875678515767874036429961250734080000000000} + \frac{1115410772446920399165305019719214725765371472850245379183763357941915347092294926234456635437733656099186960427101598549137987457933329442390392644569310693844705793492448010408280781272564584162428916553203011074648454741226478889523182041000669641484874761652737883698112559927732662571 z^{6}}{5621670293132478897734681633585456635782010950377593787681816513737078370374455354028115066931825468927808340615671300736801048788883707461876157917746358391571722654115519102224487269020296777426775904906708003430717505307068899653397091192232294293767812034172984650357204859617280000000000} + \frac{2334184210892632413432406632760118538337965198713072315996282819882547044427650573815526110550168509804990463654159134528362052293639226380264133101339961105460479644073451098753650308153072999048686027975471718977265895400336367229277347300063482314939584551590892019533087498395484565799320354149668843956037 z^{5}}{1680612631842695365419782967854313884096448524191177364353254872846657435518138538104378993769154867373255541490261239744797413240336864205184799981310002908344334745670117778934423186016602134782127099076328585467665019379670118441448699823611353002416723647861324475407438047381724399955314181034188800000000000} + \frac{101938791853692372195797298931657797035446315257702626996539029237170275359971335430427362704404014005955811485110901810821115594835218928148422697586247351886417158308973747725084896276348838296766115956166200620137082882467258262588569033910706668118005115419413632925651871658299708165056330850217590331728453024615360637675899 z^{4}}{12232655022443084867186848515744314278060261084231049838318011538894205145990936296390374381515621795156936523017935899423481812590503754314178625220100007212342174547711683064105274245610997023365929547084040244234165614715135707927688581300109712475395341921292807529093266366872602285862829615310416554653646160845529600000000000} + \frac{138820097270640751120649850690533109535436253518333598268111135955940008885783475477190314584157308544073572073500149585900701977685573813193247885201454753963496045709198563626005911211296652210100215694168128651787914370606904284332938258325794036365064828248882400532748197533758274819705163326831259697511341082278673947921917179437873 z^{3}}{3331682334495378028266699558154999686693825757134914203767818382252623002541210392436705070441207772961670211088202513385121752112616157038057116570905551150962337027779221405580658896786293713771395640894876869351627596338589008467714916771851280949811277658571238421987834003438977586204595534034553650306587157519688552641233400000000000} + \frac{3216737384368291044698829700110298764369664287360835592258622015286755792022434243736588442844033580530423099367532361370615245170560337176132882900424940350802558077478589846160796918495618861855441103784076715411009578045816743811248521650498723955189031730729100471151548928419603476636427196447952583568864143090650768677307983523126179 z^{2}}{19300424306209746327953771365225335142148564894753303271242687236259452113118809358360232773977835790060757284835517651354864672562460022508282823989970241522919638048352573623033815278023599290575127094633593342804859458902451341482245913263407288839790392247464745045036013070971092101256021450813070321717626259367871188699629220000000000} + \frac{54736314961905438367044618304357346820367656411141526630641353828331284274482492355150836021591733858246532000654016442241006910581380001863585052317000771310994173682808059050685863646266334772248540751685793756206483101990512959326950535438526941201674760403119908113929728847761616112749381005775214952273840810844959153843281976167508849 z}{109472629923810877303151802180443887829663773452582787281691697382229123444715213354774726603313486065343651849174748730456837655237271123163198252479200918706478090870824248798633506615516456844589767154259107323781280356251508456322869018913086115015505821109371806986065156372896859837999835823419158261983104914773298644450774170750000000} + \frac{370952526618963512497086801444530779494344988945804575254}{370952526618963512211046321800629321994711078958870761915}\right) + 1 \]
- Template Parameters:
value_t – type of coefficient (
doubleby default)
Diagonal implicit methods#
-
template<typename value_t, typename linear_algebra_t = void, typename ...Args>
auto ponio::runge_kutta::sdirk_54_t =[]( Args ... args ){returndiagonal_implicit_runge_kutta::make_dirk<butcher_sdirk_54<value_t>, linear_algebra_t>(args...);} SDIRK (5,4) method.
This method is based on the following Butcher tableau:
\[\begin{split} \begin{array}{c|ccccc} \frac{1}{4} & \frac{1}{4} & 0 & 0 & 0 & 0 \\ \frac{3}{4} & \frac{1}{2} & \frac{1}{4} & 0 & 0 & 0 \\ \frac{11}{20} & \frac{17}{50} & - \frac{1}{25} & \frac{1}{4} & 0 & 0 \\ \frac{1}{2} & \frac{371}{1360} & - \frac{137}{2720} & \frac{15}{544} & \frac{1}{4} & 0 \\ 1 & \frac{25}{24} & - \frac{49}{48} & \frac{125}{16} & - \frac{85}{12} & \frac{1}{4} \\ \hline & \frac{25}{24} & - \frac{49}{48} & \frac{125}{16} & - \frac{85}{12} & \frac{1}{4} \\ \hline & \frac{59}{48} & - \frac{17}{96} & \frac{225}{32} & - \frac{85}{12} & 0 \end{array} \end{split}\]stages: 5
order: 4
stages order:
stability function:
\[ z \left(- \frac{425 z}{4 \left(34 z^{2} - 272 z + 544\right)} - \frac{125 z}{25 z^{2} - 200 z + 400} - \frac{85 z}{3 z^{2} - 24 z + 48} - \frac{49 z}{6 \left(z^{2} - 8 z + 16\right)} - \frac{85 \left(- 125 z^{2} + 548 z\right)}{12 \left(170 z^{3} - 2040 z^{2} + 8160 z - 10880\right)} + \frac{125 \left(168 z^{2} - 544 z\right)}{16 \left(25 z^{3} - 300 z^{2} + 1200 z - 1600\right)} + \frac{275 z^{2} - 1000 z}{4 \left(2 z^{3} - 24 z^{2} + 96 z - 128\right)} + \frac{- 103 z^{3} + 852 z^{2} - 1568 z}{4 \left(6 z^{4} - 96 z^{3} + 576 z^{2} - 1536 z + 1536\right)} - \frac{85 \left(445 z^{3} - 3312 z^{2} + 5936 z\right)}{12 \left(85 z^{4} - 1360 z^{3} + 8160 z^{2} - 21760 z + 21760\right)} + \frac{- 37 z^{4} - 136 z^{3} + 1744 z^{2} - 3200 z}{4 \left(3 z^{5} - 60 z^{4} + 480 z^{3} - 1920 z^{2} + 3840 z - 3072\right)} - \frac{4}{z - 4}\right) + 1 \]bibliography: Hairer, Ernst & Wanner, Gerhard, “Solving Ordinary Differential Equations II”, in: Springer Berlin Heidelberg (1996)
- Template Parameters:
value_t – type of coefficient (
doubleby default)linear_algebra_t – type that provides linear algebra if it is undefined for state_t (
voidby default)Args – optional arguments to build linear_algebra_t object
Lawson methods#
-
template<typename value_t, typename Exp_t>
auto ponio::runge_kutta::lrk54_6m_t =[]( Exp_t exp_ ){returnlawson_runge_kutta::make_lawson<butcher_rk54_6m<value_t>,Exp_t>(exp_);}# Lawson RK5(4) 6M method.
see more on ponio
stages: 6
order: 5
underlying Runge-Kutta method: RK5(4) 6M (for more information see ponio::runge_kutta::rk54_6m_t)
- Template Parameters:
value_t – type of coefficient (
doubleby default)- Param exp_:
exponential function for the Lawson method
-
template<typename value_t, typename Exp_t>
auto ponio::runge_kutta::lrk54_7m_t =[]( Exp_t exp_ ){returnlawson_runge_kutta::make_lawson<butcher_rk54_7m<value_t>,Exp_t>(exp_);}# Lawson RK5(4) 7M method.
see more on ponio
stages: 7
order: 5
underlying Runge-Kutta method: RK5(4) 7M (for more information see ponio::runge_kutta::rk54_7m_t)
- Template Parameters:
value_t – type of coefficient (
doubleby default)- Param exp_:
exponential function for the Lawson method
-
template<typename value_t, typename Exp_t>
auto ponio::runge_kutta::lrk54_7s_t =[]( Exp_t exp_ ){returnlawson_runge_kutta::make_lawson<butcher_rk54_7s<value_t>,Exp_t>(exp_);}# Lawson RK5(4) 7S method.
see more on ponio
stages: 7
order: 5
underlying Runge-Kutta method: RK5(4) 7S (for more information see ponio::runge_kutta::rk54_7s_t)
- Template Parameters:
value_t – type of coefficient (
doubleby default)- Param exp_:
exponential function for the Lawson method
-
template<typename value_t, typename Exp_t>
auto ponio::runge_kutta::lrk65_8m_t =[]( Exp_t exp_ ){returnlawson_runge_kutta::make_lawson<butcher_rk65_8m<value_t>,Exp_t>(exp_);}# Lawson RK6(5) 8M method.
see more on ponio
stages: 8
order: 5
underlying Runge-Kutta method: RK6(5) 8M (for more information see ponio::runge_kutta::rk65_8m_t)
- Template Parameters:
value_t – type of coefficient (
doubleby default)- Param exp_:
exponential function for the Lawson method
-
template<typename value_t, typename Exp_t>
auto ponio::runge_kutta::lrk87_13m_t =[]( Exp_t exp_ ){returnlawson_runge_kutta::make_lawson<butcher_rk87_13m<value_t>,Exp_t>(exp_);}# Lawson RK8(7) 13M method.
see more on ponio
stages: 13
order: 5
underlying Runge-Kutta method: RK8(7) 13M (for more information see ponio::runge_kutta::rk87_13m_t)
- Template Parameters:
value_t – type of coefficient (
doubleby default)- Param exp_:
exponential function for the Lawson method
Additive Runge-Kutta methods#
-
template<typename value_t, typename linear_algebra_t = void, typename ...Args>
auto ponio::runge_kutta::ark324l2sa_t =[]( Args... args ){returnponio::runge_kutta::additive_runge_kutta::make_ark< butcher_ark324l2sa_dirk<value_t>, butcher_ark324l2sa_erk<value_t>,3,"ark324l2sa",linear_algebra_t>( args... );} ARK3(2)4L[2]SA method.
This method is based on the following pair of Butcher tableaus, with explicit part:
\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ \frac{1767732205903}{2027836641118} & \frac{1767732205903}{2027836641118} & 0 & 0 & 0 \\ \frac{3}{5} & \frac{5535828885825}{10492691773637} & \frac{788022342437}{10882634858940} & 0 & 0 \\ 1 & \frac{6485989280629}{16251701735622} & - \frac{4246266847089}{9704473918619} & \frac{10755448449292}{10357097424841} & 0 \\ \hline & \frac{1471266399579}{7840856788654} & - \frac{4482444167858}{7529755066697} & \frac{11266239266428}{11593286722821} & \frac{1767732205903}{4055673282236} \\ \hline & \frac{2756255671327}{12835298489170} & - \frac{10771552573575}{22201958757719} & \frac{9247589265047}{10645013368117} & \frac{2193209047091}{5459859503100} \end{array} \end{split}\]and implicit part:
\[\begin{split} \begin{array}{c|cccc} 0 & 0 & 0 & 0 & 0 \\ \frac{1767732205903}{2027836641118} & \frac{1767732205903}{4055673282236} & \frac{1767732205903}{4055673282236} & 0 & 0 \\ \frac{3}{5} & \frac{2746238789719}{10658868560708} & - \frac{640167445237}{6845629431997} & \frac{1767732205903}{4055673282236} & 0 \\ 1 & \frac{1471266399579}{7840856788654} & - \frac{4482444167858}{7529755066697} & \frac{11266239266428}{11593286722821} & \frac{1767732205903}{4055673282236} \\ \hline & \frac{1471266399579}{7840856788654} & - \frac{4482444167858}{7529755066697} & \frac{11266239266428}{11593286722821} & \frac{1767732205903}{4055673282236} \\ \hline & \frac{2756255671327}{12835298489170} & - \frac{10771552573575}{22201958757719} & \frac{9247589265047}{10645013368117} & \frac{2193209047091}{5459859503100} \end{array} \end{split}\]stages: 4
order: 3
- Template Parameters:
value_t – type of coefficient (
doubleby default)linear_algebra_t – type that provides linear algebra if it is undefined for state_t (
voidby default)Args – optional arguments to build linear_algebra_t object
-
template<typename value_t, typename linear_algebra_t = void, typename ...Args>
auto ponio::runge_kutta::ark436l2sa_t =[]( Args... args ){returnponio::runge_kutta::additive_runge_kutta::make_ark< butcher_ark436l2sa_dirk<value_t>, butcher_ark436l2sa_erk<value_t>,4,"ark436l2sa",linear_algebra_t>( args... );} ARK4(3)6L[2]SA method.
This method is based on the following pair of Butcher tableaus, with explicit part:
\[\begin{split} \begin{array}{c|cccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{2} & 0 & 0 & 0 & 0 & 0 \\ \frac{83}{250} & \frac{13861}{62500} & \frac{6889}{62500} & 0 & 0 & 0 & 0 \\ \frac{31}{50} & - \frac{116923316275}{2393684061468} & - \frac{2731218467317}{15368042101831} & \frac{9408046702089}{11113171139209} & 0 & 0 & 0 \\ \frac{17}{20} & - \frac{451086348788}{2902428689909} & - \frac{2682348792572}{7519795681897} & \frac{12662868775082}{11960479115383} & \frac{3355817975965}{11060851509271} & 0 & 0 \\ 1 & \frac{647845179188}{3216320057751} & \frac{73281519250}{8382639484533} & \frac{552539513391}{3454668386233} & \frac{3354512671639}{8306763924573} & \frac{4040}{17871} & 0 \\ \hline & \frac{82889}{524892} & 0 & \frac{15625}{83664} & \frac{69875}{102672} & - \frac{2260}{8211} & \frac{1}{4} \\ \hline & \frac{4586570599}{29645900160} & 0 & \frac{178811875}{945068544} & \frac{814220225}{1159782912} & - \frac{3700637}{11593932} & \frac{61727}{225920} \end{array} \end{split}\]and implicit part:
\[\begin{split} \begin{array}{c|cccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1}{2} & \frac{1}{4} & \frac{1}{4} & 0 & 0 & 0 & 0 \\ \frac{83}{250} & \frac{8611}{62500} & - \frac{1743}{31250} & \frac{1}{4} & 0 & 0 & 0 \\ \frac{31}{50} & \frac{5012029}{34652500} & - \frac{654441}{2922500} & \frac{174375}{388108} & \frac{1}{4} & 0 & 0 \\ \frac{17}{20} & \frac{15267082809}{155376265600} & - \frac{71443401}{120774400} & \frac{730878875}{902184768} & \frac{2285395}{8070912} & \frac{1}{4} & 0 \\ 1 & \frac{82889}{524892} & 0 & \frac{15625}{83664} & \frac{69875}{102672} & - \frac{2260}{8211} & \frac{1}{4} \\ \hline & \frac{82889}{524892} & 0 & \frac{15625}{83664} & \frac{69875}{102672} & - \frac{2260}{8211} & \frac{1}{4} \\ \hline & \frac{4586570599}{29645900160} & 0 & \frac{178811875}{945068544} & \frac{814220225}{1159782912} & - \frac{3700637}{11593932} & \frac{61727}{225920} \end{array} \end{split}\]stages: 6
order: 4
- Template Parameters:
value_t – type of coefficient (
doubleby default)linear_algebra_t – type that provides linear algebra if it is undefined for state_t (
voidby default)Args – optional arguments to build linear_algebra_t object
-
template<typename value_t, typename linear_algebra_t = void, typename ...Args>
auto ponio::runge_kutta::ark548l2sa_t =[]( Args... args ){returnponio::runge_kutta::additive_runge_kutta::make_ark< butcher_ark548l2sa_dirk<value_t>, butcher_ark548l2sa_erk<value_t>,3,"ark548l2sa",linear_algebra_t>( args... );} ARK5(4)8L[2]SA method.
This method is based on the following pair of Butcher tableaus, with explicit part:
\[\begin{split} \begin{array}{c|cccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{41}{100} & \frac{41}{100} & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{2935347310677}{11292855782101} & \frac{367902744464}{2072280473677} & \frac{677623207551}{8224143866563} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{1426016391358}{7196633302097} & \frac{1268023523408}{10340822734521} & 0 & \frac{1029933939417}{13636558850479} & 0 & 0 & 0 & 0 & 0 \\ \frac{23}{25} & \frac{14463281900351}{6315353703477} & 0 & \frac{66114435211212}{5879490589093} & - \frac{54053170152839}{4284798021562} & 0 & 0 & 0 & 0 \\ \frac{6}{25} & \frac{14090043504691}{34967701212078} & 0 & \frac{15191511035443}{11219624916014} & - \frac{18461159152457}{12425892160975} & - \frac{281667163811}{9011619295870} & 0 & 0 & 0 \\ \frac{3}{5} & \frac{19230459214898}{13134317526959} & 0 & \frac{21275331358303}{2942455364971} & - \frac{38145345988419}{4862620318723} & - \frac{1}{8} & - \frac{1}{8} & 0 & 0 \\ 1 & - \frac{19977161125411}{11928030595625} & 0 & - \frac{40795976796054}{6384907823539} & \frac{177454434618887}{12078138498510} & \frac{782672205425}{8267701900261} & - \frac{69563011059811}{9646580694205} & \frac{7356628210526}{4942186776405} & 0 \\ \hline & - \frac{872700587467}{9133579230613} & 0 & 0 & \frac{22348218063261}{9555858737531} & - \frac{1143369518992}{8141816002931} & - \frac{39379526789629}{19018526304540} & \frac{32727382324388}{42900044865799} & \frac{41}{200} \\ \hline & - \frac{975461918565}{9796059967033} & 0 & 0 & \frac{78070527104295}{32432590147079} & - \frac{548382580838}{3424219808633} & - \frac{33438840321285}{15594753105479} & \frac{3629800801594}{4656183773603} & \frac{4035322873751}{18575991585200} \end{array} \end{split}\]and implicit part:
\[\begin{split} \begin{array}{c|cccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{41}{100} & \frac{41}{200} & \frac{41}{200} & 0 & 0 & 0 & 0 & 0 & 0 \\ \frac{2935347310677}{11292855782101} & \frac{41}{100} & - \frac{567603406766}{11931857230679} & \frac{41}{200} & 0 & 0 & 0 & 0 & 0 \\ \frac{1426016391358}{7196633302097} & \frac{683785636431}{9252920307686} & 0 & - \frac{110385047103}{1367015193373} & \frac{41}{200} & 0 & 0 & 0 & 0 \\ \frac{23}{25} & \frac{3016520224154}{10081342136671} & 0 & \frac{30586259806659}{12414158314087} & - \frac{22760509404356}{11113319521817} & \frac{41}{200} & 0 & 0 & 0 \\ \frac{6}{25} & \frac{218866479029}{1489978393911} & 0 & \frac{638256894668}{5436446318841} & - \frac{1179710474555}{5321154724896} & - \frac{60928119172}{8023461067671} & \frac{41}{200} & 0 & 0 \\ \frac{3}{5} & \frac{1020004230633}{5715676835656} & 0 & \frac{25762820946817}{25263940353407} & - \frac{2161375909145}{9755907335909} & - \frac{211217309593}{5846859502534} & - \frac{4269925059573}{7827059040749} & \frac{41}{200} & 0 \\ 1 & - \frac{872700587467}{9133579230613} & 0 & 0 & \frac{22348218063261}{9555858737531} & - \frac{1143369518992}{8141816002931} & - \frac{39379526789629}{19018526304540} & \frac{32727382324388}{42900044865799} & \frac{41}{200} \\ \hline & - \frac{872700587467}{9133579230613} & 0 & 0 & \frac{22348218063261}{9555858737531} & - \frac{1143369518992}{8141816002931} & - \frac{39379526789629}{19018526304540} & \frac{32727382324388}{42900044865799} & \frac{41}{200} \\ \hline & - \frac{975461918565}{9796059967033} & 0 & 0 & \frac{78070527104295}{32432590147079} & - \frac{548382580838}{3424219808633} & - \frac{33438840321285}{15594753105479} & \frac{3629800801594}{4656183773603} & \frac{4035322873751}{18575991585200} \end{array} \end{split}\]stages: 8
order: 3
- Template Parameters:
value_t – type of coefficient (
doubleby default)linear_algebra_t – type that provides linear algebra if it is undefined for state_t (
voidby default)Args – optional arguments to build linear_algebra_t object