Skip to content

Instantly share code, notes, and snippets.

@kanav99
Created April 3, 2019 14:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kanav99/1fe75f45dae00bd0a166eec250ae2672 to your computer and use it in GitHub Desktop.
Save kanav99/1fe75f45dae00bd0a166eec250ae2672 to your computer and use it in GitHub Desktop.
dprkn7
struct DPRKN7ConstantCache{T,T2} <: OrdinaryDiffEqConstantCache
c1::T2
c2::T2
c3::T2
c4::T2
c5::T2
c6::T2
c7::T2
c8::T2
a21::T
a31::T
a32::T
a41::T
a42::T
a43::T
a51::T
a52::T
a53::T
a54::T
a61::T
a62::T
a63::T
a64::T
a65::T
a71::T
a71::T
a72::T
a73::T
a74::T
a75::T
a76::T
a81::T
a85::T
a86::T
a87::T
a91::T
a95::T
a96::T
a97::T
b1::T
# b2::T
# b3::T
# b4::T
b5::T
b6::T
b7::T
b8::T
b9::T
btilde1::T
# btilde2::T
# btilde3::T
# btilde4::T
btilde5::T
btilde6::T
btilde7::T
# btilde8::T
# btilde9::T
bptilde1::T
# bptilde2::T
# bptilde3::T
# bptilde4::T
bptilde5::T
bptilde6::T
bptilde7::T
bptilde8::T
# bptilde9::T
end
function DPRKN7ConstantCache(::Type{T},::Type{T2}) where {T<:CompiledFloats,T2<:CompiledFloats}
c1 = convert(T2,0.1)
c2 = convert(T2,0.2)
c3 = convert(T2,0.375)
c4 = convert(T2,0.5)
c5 = convert(T2,0.17267316464601143)
c6 = convert(T2,0.8273268353539885)
c7 = convert(T2,1.0)
c8 = convert(T2,1.0)
a21 = convert(T,0.005)
a31 = convert(T,0.006666666666666667)
a32 = convert(T,0.013333333333333334)
a41 = convert(T,0.0208740234375)
a42 = convert(T,0.010986328125)
a43 = convert(T,0.0384521484375)
a51 = convert(T,0.017361111111111112)
a52 = convert(T,0.04734848484848485)
a53 = convert(T,0.03720238095238095)
a54 = convert(T,0.023088023088023088)
a61 = convert(T,0.005148362693071982)
a62 = convert(T,0.011536353484009276)
a63 = convert(T,-0.002205603110364904)
a64 = convert(T,0.0005511400022442294)
a65 = convert(T,-0.00012224217452627505)
a71 = convert(T,0.13362015346264514)
a72 = convert(T,-0.2343490628395866)
a73 = convert(T,1.258674740070163)
a74 = convert(T,-0.4229500390438942)
a75 = convert(T,0.28260903907028684)
a76 = convert(T,-0.6753699844711915)
a81 = convert(T,-0.37897426697125)
a82 = convert(T,0.876391080902251)
a83 = convert(T,-7.105326676886944)
a84 = convert(T,2.1355458417119304)
a85 = convert(T,-0.649094783099141)
a86 = convert(T,5.540292967251234)
a87 = convert(T,0.08116583709192003)
a91 = convert(T,0.05)
a95 = convert(T,0.17777777777777778)
a96 = convert(T,0.22521674962414132)
a97 = convert(T,0.04700547259808089)
b1 = convert(T,0.05)
b5 = convert(T,0.17777777777777778)
b6 = convert(T,0.22521674962414132)
b7 = convert(T,0.04700547259808089)
b8 = convert(T,-0.05)
b9 = convert(T,0.05)
btilde1 = convert(T,0.05)
btilde5 = convert(T,0.17777777777777778)
btilde6 = convert(T,0.22521674962414132)
btilde7 = convert(T,0.04700547259808089)
bptilde1 = convert(T,0.05)
bptilde5 = convert(T,0.35555555555555557)
bptilde6 = convert(T,0.2722222222222222)
bptilde7 = convert(T,0.2722222222222222)
bptilde8 = convert(T,0.05)
DPRKN7ConstantCache(c1, c2, c3, c4, c5, c6, c7, c8, a21, a31, a32, a41, a42, a43, a51,
a52, a53, a54, a61, a62, a63, a64, a65, a71, a72, a73, a74, a75, a76,
a81, a82, a83, a84, a85, a86, a87, a91, a95, a96, a97, b1, b5, b6, b7, b8, b9,
btilde1, btilde5, btilde6, btilde7,
bptilde1, bptilde5, bptilde6, bptilde7, bptilde8)
end
function DPRKN7ConstantCache(T::Type,T2::Type)
R = sqrt(big(21))
c1 = convert(T2,1//10)
c2 = convert(T2,1//5)
c3 = convert(T2,3//8)
c4 = convert(T2,1//2)
c5 = convert(T2,(7-R)/14)
c6 = convert(T2,(7+R)/14)
c7 = convert(T2,1)
c8 = convert(T2,1)
a21 = convert(T,1//200)
a31 = convert(T,1//150)
a32 = convert(T,1//75)
a41 = convert(T,171//8192)
a42 = convert(T,45/4096)
a43 = convert(T,315//8192)
a51 = convert(T,5//288)
a52 = convert(T,25//528)
a53 = convert(T,25//672)
a54 = convert(T,16//693)
a61 = convert(T,(1003-205R)/12348)
a62 = convert(T,-25(751-173R)/90552)
a63 = convert(T,25(624-137R)/43218)
a64 = convert(T,-128(361-79R)/237699)
a65 = convert(T,(3411-745R)/24696)
a71 = convert(T,(793+187R)/12348)
a72 = convert(T,-25(331+113R)/90552)
a73 = convert(T,25(1044+247R)/43218)
a74 = convert(T,-128(14885+3779R)/9745659)
a75 = convert(T,(3327+797R)/24696)
a76 = convert(T,-(581+127R)/1722)
a81 = convert(T,-(157-3R)/378)
a82 = convert(T,25(143-10R)/2772)
a83 = convert(T,-25(876+55R)/3969)
a84 = convert(T,1280(913+18R)/596673)
a85 = convert(T,-(1353+26R)/2268)
a86 = convert(T,7(1777+377R)/4428)
a87 = convert(T,7(5-R)/36)
a91 = convert(T,1//20)
a95 = convert(T,8//45)
a96 = convert(T,7(7+R)/360)
a97 = convert(T,7(7-R)/360)
b1 = convert(T,1//20)
b5 = convert(T,8//45)
b6 = convert(T,7(7+R)/360)
b7 = convert(T,7(7-R)/360)
b8 = convert(T,-1//20)
b9 = convert(T,1//20)
btilde1 = b1
btilde5 = b5
btilde6 = b6
btilde7 = b7
bptilde1 = convert(T,1//20)
bptilde5 = convert(T,16//45)
bptilde6 = convert(T,49//180)
bptilde7 = convert(T,49//180)
bptilde8 = convert(T,1//20)
DPRKN7ConstantCache(c1, c2, c3, c4, c5, c6, c7, c8, a21, a31, a32, a41, a42, a43, a51,
a52, a53, a54, a61, a62, a63, a64, a65, a71, a72, a73, a74, a75, a76,
a81, a82, a83, a84, a85, a86, a87, a91, a95, a96, a97, b1, b5, b6, b7, b8, b9,
btilde1, btilde5, btilde6, btilde7,
bptilde1, bptilde5, bptilde6, bptilde7, bptilde8)
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment