From af060ef3c88673d2fdace88196cef64e8ccc62d0 Mon Sep 17 00:00:00 2001 From: ParamThakkar123 Date: Tue, 20 Aug 2024 23:33:49 +0530 Subject: [PATCH] Fixes --- .../src/rosenbrock_caches.jl | 2 +- .../src/rosenbrock_tableaus.jl | 58 +++++++++---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/lib/OrdinaryDiffEqRosenbrock/src/rosenbrock_caches.jl b/lib/OrdinaryDiffEqRosenbrock/src/rosenbrock_caches.jl index 506f2be736..66e5542a0e 100644 --- a/lib/OrdinaryDiffEqRosenbrock/src/rosenbrock_caches.jl +++ b/lib/OrdinaryDiffEqRosenbrock/src/rosenbrock_caches.jl @@ -712,7 +712,7 @@ function alg_cache(alg::Rodas4, u, rate_prototype, ::Type{uEltypeNoUnits}, fsallast = zero(rate_prototype) dT = zero(rate_prototype) J, W = build_J_W(alg, u, uprev, p, t, dt, f, uEltypeNoUnits, Val(true)) - tmp = zero(rate_prototype) + tmp = zero(eltype(rate_prototype)) atmp = similar(u, uEltypeNoUnits) recursivefill!(atmp, false) weight = similar(u, uEltypeNoUnits) diff --git a/lib/OrdinaryDiffEqRosenbrock/src/rosenbrock_tableaus.jl b/lib/OrdinaryDiffEqRosenbrock/src/rosenbrock_tableaus.jl index 5a2c06fe23..e035de33c0 100644 --- a/lib/OrdinaryDiffEqRosenbrock/src/rosenbrock_tableaus.jl +++ b/lib/OrdinaryDiffEqRosenbrock/src/rosenbrock_tableaus.jl @@ -293,11 +293,11 @@ function Rodas42Tableau(T, T2) ] C = [ - 0 -convert(T, 5.104353600000000) 0 0 0; - 0 -convert(T, 2.899967805418783) convert(T, 4.040399359702244) 0 0; - 0 -convert(T, 32.64449927841361) -convert(T, 99.35311008728094) convert(T, 49.99119122405989) 0; - 0 -convert(T, 76.46023087151691) -convert(T, 278.5942120829058) convert(T, 153.9294840910643) convert(T, 10.97101866258358); - 0 -convert(T, 76.29701586804983) -convert(T, 294.2795630511232) convert(T, 162.0029695867566) convert(T, 23.65166903095270) -convert(T, 7.652977706771382) + 0 -convert(T, 5.104353600000000) 0 0 0 0; + 0 -convert(T, 2.899967805418783) convert(T, 4.040399359702244) 0 0 0; + 0 -convert(T, 32.64449927841361) -convert(T, 99.35311008728094) convert(T, 49.99119122405989) 0 0; + 0 -convert(T, 76.46023087151691) -convert(T, 278.5942120829058) convert(T, 153.9294840910643) convert(T, 10.97101866258358) 0; + 0 -convert(T, 76.29701586804983) -convert(T, 294.2795630511232) convert(T, 162.0029695867566) convert(T, 23.65166903095270) -convert(T, 7.652977706771382); ] c = [convert(T2, 0.3507221), convert(T2, 0.2557041), convert(T2, 0.6817790)] @@ -328,7 +328,7 @@ function Rodas4PTableau(T, T2) 0 convert(T, 3) 0 0 0; 0 convert(T, 1.831036793486759) convert(T, 0.4955183967433795) 0 0; 0 convert(T, 2.304376582692669) -convert(T, 0.05249275245743001) -convert(T, 1.176798761832782) 0; - 0 -convert(T, 7.170454962423024) -convert(T, 4.741636671481785) -convert(T, 16.31002631330971) -convert(T, 1.062004044111401) + 0 -convert(T, 7.170454962423024) -convert(T, 4.741636671481785) -convert(T, 16.31002631330971) -convert(T, 1.062004044111401); ] C = [ @@ -337,7 +337,7 @@ function Rodas4PTableau(T, T2) -convert(T, 8.791795173947035) -convert(T, 2.207865586973518) 0 0 0; convert(T, 10.81793056857153) convert(T, 6.780270611428266) convert(T, 19.53485944642410) 0 0; convert(T, 34.19095006749676) convert(T, 15.49671153725963) convert(T, 54.74760875964130) convert(T, 14.16005392148534) 0; - convert(T, 34.62605830930532) convert(T, 15.30084976114473) convert(T, 56.99955578662667) convert(T, 18.40807009793095) -convert(T, 5.714285714285717) + convert(T, 34.62605830930532) convert(T, 15.30084976114473) convert(T, 56.99955578662667) convert(T, 18.40807009793095) -convert(T, 5.714285714285717); ] c = [convert(T2, 3 * gamma), convert(T2, 0.21), convert(T2, 0.63)] @@ -366,15 +366,15 @@ function Rodas4P2Tableau(T, T2) 0 convert(T, 3.000000000000000) 0 0 0; 0 convert(T, 0.906377755268814) -convert(T, 0.189707390391685) 0 0; 0 convert(T, 3.758617027739064) convert(T, 1.161741776019525) -convert(T, 0.849258085312803) 0; - 0 convert(T, 7.089566927282776) convert(T, 4.573591406461604) -convert(T, 8.423496976860259) -convert(T, 0.959280113459775) + 0 convert(T, 7.089566927282776) convert(T, 4.573591406461604) -convert(T, 8.423496976860259) -convert(T, 0.959280113459775); ] C = [ - 0 convert(T, -12.00000000000000) 0 0 0; - 0 convert(T, -6.354581592719008) convert(T, 0.338972550544623) 0 0; - 0 convert(T, -8.575016317114033) convert(T, -7.606483992117508) convert(T, 12.224997650124820) 0; - 0 convert(T, -5.888975457523102) convert(T, -8.157396617841821) convert(T, 24.805546872612922) convert(T, 12.790401512796979); - 0 convert(T, -4.408651676063871) convert(T, -6.692003137674639) convert(T, 24.625568527593117) convert(T, 16.627521966636085) convert(T, -5.714285714285718) + 0 convert(T, -12.00000000000000) 0 0 0 0; + 0 convert(T, -6.354581592719008) convert(T, 0.338972550544623) 0 0 0; + 0 convert(T, -8.575016317114033) convert(T, -7.606483992117508) convert(T, 12.224997650124820) 0 0; + 0 convert(T, -5.888975457523102) convert(T, -8.157396617841821) convert(T, 24.805546872612922) convert(T, 12.790401512796979) 0; + 0 convert(T, -4.408651676063871) convert(T, -6.692003137674639) convert(T, 24.625568527593117) convert(T, 16.627521966636085) convert(T, -5.714285714285718); ] c = [convert(T2, 0.750000000000000), convert(T2, 0.321448134013046), convert(T2, 0.519745732277726)] @@ -439,12 +439,12 @@ function Rodas5Tableau(T, T2) ] C = [ - 0 convert(T, -10.31323885133993) 0 0 0 0 0; - 0 convert(T, -21.04823117650003) convert(T, -7.234992135176716) 0 0 0 0; - 0 convert(T, 32.22751541853323) convert(T, -4.943732386540191) convert(T, 19.44922031041879) 0 0 0; - 0 convert(T, -20.69865579590063) convert(T, -8.816374604402768) convert(T, 1.260436877740897) convert(T, -0.7495647613787146) 0 0; - 0 convert(T, -46.22004352711257) convert(T, -17.49534862857472) convert(T, -289.6389582892057) convert(T, 93.60855400400906) convert(T, 318.3822534212147) 0; - 0 convert(T, 34.20013733472935) convert(T, -14.15535402717690) convert(T, 57.82335640988400) convert(T, 25.83362985412365) convert(T, 1.408950972071624) convert(T, -6.551835421242162); + 0 convert(T, -10.31323885133993) 0 0 0 0 0 0; + 0 convert(T, -21.04823117650003) convert(T, -7.234992135176716) 0 0 0 0 0; + 0 convert(T, 32.22751541853323) convert(T, -4.943732386540191) convert(T, 19.44922031041879) 0 0 0 0; + 0 convert(T, -20.69865579590063) convert(T, -8.816374604402768) convert(T, 1.260436877740897) convert(T, -0.7495647613787146) 0 0 0; + 0 convert(T, -46.22004352711257) convert(T, -17.49534862857472) convert(T, -289.6389582892057) convert(T, 93.60855400400906) convert(T, 318.3822534212147) 0 0; + 0 convert(T, 34.20013733472935) convert(T, -14.15535402717690) convert(T, 57.82335640988400) convert(T, 25.83362985412365) convert(T, 1.408950972071624) convert(T, -6.551835421242162) 0; 0 convert(T, 42.57076742291101) convert(T, -13.80770672017997) convert(T, 93.98938432427124) convert(T, 18.77919633714503) convert(T, -31.58359187223370) convert(T, -6.685968952921985) convert(T, -5.810979938412932); ] c = [convert(T2, 0.38), convert(T2, 0.3878509998321533), convert(T2, 0.4839718937873840), convert(T2, 0.4570477008819580)] @@ -512,20 +512,20 @@ function Rodas5PTableau(T, T2) gamma = convert(T2, 0.21193756319429014) a = [ - 0 convert(T, 3.0) 0 0 0; - 0 convert(T, 2.849394379747939) convert(T, 0.45842242204463923) 0 0; - 0 convert(T, -6.954028509809101) convert(T, 2.489845061869568) convert(T, -10.358996098473584) 0; - 0 convert(T, 2.8029986275628964) convert(T, 0.5072464736228206) convert(T, -0.3988312541770524) convert(T, -0.04721187230404641); + 0 convert(T, 3.0) 0 0 0 0; + 0 convert(T, 2.849394379747939) convert(T, 0.45842242204463923) 0 0 0; + 0 convert(T, -6.954028509809101) convert(T, 2.489845061869568) convert(T, -10.358996098473584) 0 0; + 0 convert(T, 2.8029986275628964) convert(T, 0.5072464736228206) convert(T, -0.3988312541770524) convert(T, -0.04721187230404641) 0; 0 convert(T, -7.502846399306121) convert(T, 2.561846144803919) convert(T, -11.627539656261098) convert(T, -0.18268767659942256) convert(T, 0.030198172008377946); ] C = [ - 0 convert(T, -14.155112264123755) 0 0 0 0 0; - 0 convert(T, -17.97296035885952) convert(T, -2.859693295451294) 0 0 0 0; - 0 convert(T, 147.12150275711716) convert(T, -1.41221402718213) convert(T, 71.68940251302358) 0 0 0; - 0 convert(T, 165.43517024871676) convert(T, -0.4592823456491126) convert(T, 42.90938336958603) convert(T, -5.961986721573306) 0 0; - 0 convert(T, 24.854864614690072) convert(T, -3.0009227002832186) convert(T, 47.4931110020768) convert(T, 5.5814197821558125) convert(T, -0.6610691825249471) 0; - 0 convert(T, 30.91273214028599) convert(T, -3.1208243349937974) convert(T, 77.79954646070892) convert(T, 34.28646028294783) convert(T, -19.097331116725623) convert(T, -28.087943162872662); + 0 convert(T, -14.155112264123755) 0 0 0 0 0 0; + 0 convert(T, -17.97296035885952) convert(T, -2.859693295451294) 0 0 0 0 0; + 0 convert(T, 147.12150275711716) convert(T, -1.41221402718213) convert(T, 71.68940251302358) 0 0 0 0; + 0 convert(T, 165.43517024871676) convert(T, -0.4592823456491126) convert(T, 42.90938336958603) convert(T, -5.961986721573306) 0 0 0; + 0 convert(T, 24.854864614690072) convert(T, -3.0009227002832186) convert(T, 47.4931110020768) convert(T, 5.5814197821558125) convert(T, -0.6610691825249471) 0 0; + 0 convert(T, 30.91273214028599) convert(T, -3.1208243349937974) convert(T, 77.79954646070892) convert(T, 34.28646028294783) convert(T, -19.097331116725623) convert(T, -28.087943162872662) 0; 0 convert(T, 37.80277123390563) convert(T, -3.2571969029072276) convert(T, 112.26918849496327) convert(T, 66.9347231244047) convert(T, -40.06618937091002) convert(T, -54.66780262877968) convert(T, -9.48861652309627); ]