diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index 94b5c3a..b707809 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-02T14:12:56","documenter_version":"1.7.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.11.1","generation_timestamp":"2024-11-02T14:27:28","documenter_version":"1.7.0"}} \ No newline at end of file diff --git a/dev/advanced_usage/index.html b/dev/advanced_usage/index.html index 75197b0..1dae5cf 100644 --- a/dev/advanced_usage/index.html +++ b/dev/advanced_usage/index.html @@ -24,7 +24,7 @@ fmm.fmm!(target_system, source_system, unsort_source_bodies=true, unsort_target_bodies=true) # standard run (defaults) fmm.fmm!(target_system, source_system, - unsort_source_bodies=false, unsort_target_bodies=false) # sorted bodies (not original indices)
(SingleTree{Float64, Vector{Tuple{Main.Body{Float64}, Vector{Float64}}}, 5}(SingleBranch{Float64}[SingleBranch{Float64}(1:100, 8, 2:9, 0, -1, [0.49849075893959255, 0.5011246180164968, 0.50101931980297], 0.8238712189768528, [-49.209733528008485 0.0; 0.0 0.0;;; 3.235503852070557 0.0; 0.0 0.0;;; 0.02681865248285875 0.0; 0.9591193094494829 0.0;;; … ;;; -0.0004469512083583769 0.0; -0.0001593241956586191 0.0;;; -0.0002871052995659781 0.0; -0.0003190451687766938 0.0;;; -7.588266430169105e-6 0.0; -8.400184364295123e-5 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716302037249, 139716224304144, 139715617863648))), SingleBranch{Float64}(1:13, 0, 10:9, 1, 1, [0.24972409829345718, 0.2523579573703614, 0.2522526591568346], 0.33251523753625056, [-6.326393509059363 0.0; 0.0 0.0;;; 0.10172908853834879 0.0; 0.0 0.0;;; -0.07897900882246582 0.0; 0.03842446525558845 0.0;;; … ;;; -9.655530668433345e-7 0.0; -5.592925868629596e-7 0.0;;; 1.1757087124649147e-6 0.0; 2.391906416191541e-6 0.0;;; -3.8953000638580764e-8 0.0; -4.372963917986633e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.21988669568485109 0.0; 0.0 0.0;;; -0.009072982836663246 0.0; -0.0807848408169367 0.0;;; … ;;; 6.640110287989058e-7 0.0; 1.9041912535102654e-6 0.0;;; 3.6074759162369163e-7 0.0; -1.7309101958119792e-7 0.0;;; -1.569552638656214e-8 0.0; -2.5078811456687917e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715632692880, 139715632692912, 8589934611))), SingleBranch{Float64}(14:23, 0, 10:9, 1, 2, [0.7472574195857279, 0.2523579573703614, 0.2522526591568346], 0.3164294356194214, [-5.505985520323303 0.0; 0.0 0.0;;; -0.08935376761589264 0.0; 0.0 0.0;;; 0.07470445052396994 0.0; -0.23211726377071046 0.0;;; … ;;; -2.392758173695492e-6 0.0; -2.7522839300098923e-7 0.0;;; 1.2870322712791405e-6 0.0; 8.633199128089602e-7 0.0;;; -1.432464313580054e-7 0.0; 3.403253642846997e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.18612829398667197 0.0; 0.0 0.0;;; -0.039883017625346906 0.0; -0.10881215708761188 0.0;;; … ;;; 3.1494240254279436e-6 0.0; 1.7899698505317833e-6 0.0;;; 2.304644782594209e-7 0.0; -1.3798323055816275e-6 0.0;;; -1.7120894951022973e-7 0.0; 3.218698082968668e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387761808, 139716387650000, 139716387151744))), SingleBranch{Float64}(24:40, 0, 10:9, 1, 3, [0.24972409829345718, 0.7498912786626322, 0.2522526591568346], 0.3907770906724327, [-7.986155913622251 0.0; 0.0 0.0;;; -0.17961782829081357 0.0; 0.0 0.0;;; -0.1708311757232731 0.0; 0.03136313659178587 0.0;;; … ;;; -6.066729814028882e-6 0.0; 2.4234001902523587e-6 0.0;;; 2.327516919788084e-6 0.0; 4.871503604644382e-7 0.0;;; 2.4779318915245518e-8 0.0; -5.833921797828204e-8 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.23123037091208298 0.0; 0.0 0.0;;; -0.04900538737735943 0.0; 0.09175926185175516 0.0;;; … ;;; 4.485918956630448e-6 0.0; -4.465435544644365e-7 0.0;;; 4.3030079417319214e-7 0.0; -1.0429330819021147e-6 0.0;;; -6.453452663209182e-8 0.0; -7.83577196866388e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716215628560, 139716387140992, 139716387142336))), SingleBranch{Float64}(41:57, 0, 10:9, 1, 4, [0.7472574195857279, 0.7498912786626322, 0.2522526591568346], 0.3550039324436246, [-9.931355245362722 0.0; 0.0 0.0;;; 0.004614587660418196 0.0; 0.0 0.0;;; 0.10229082910864945 0.0; 0.3430918058130857 0.0;;; … ;;; -5.8056578563028725e-6 0.0; -3.676520371447365e-6 0.0;;; 1.9707645764181104e-6 0.0; -1.126264814443797e-6 0.0;;; 4.6062541911518666e-7 0.0; -7.362398838063609e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.2483301379555629 0.0; 0.0 0.0;;; -0.04049668029331138 0.0; 0.11830360519660482 0.0;;; … ;;; 7.332258441837855e-6 0.0; -4.818227525166921e-6 0.0;;; 6.296600514955141e-7 0.0; 2.449994518659487e-6 0.0;;; -2.5397024192420015e-7 0.0; -1.9913483563355406e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (20753281979104, 0, 430691983406))), SingleBranch{Float64}(58:71, 0, 10:9, 1, 5, [0.24972409829345718, 0.2523579573703614, 0.7497859804491054], 0.3771527761310317, [-6.0812379817404665 0.0; 0.0 0.0;;; 0.25006763569186036 0.0; 0.0 0.0;;; -0.31820443039978746 0.0; 0.12220137601869531 0.0;;; … ;;; 3.886196424852797e-6 0.0; -7.451574546740225e-6 0.0;;; -1.5655251626942046e-6 0.0; 1.3488066967558975e-6 0.0;;; -2.6514766795446883e-7 0.0; -1.0394863598276786e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.23600705383401233 0.0; 0.0 0.0;;; 0.007799304330178003 0.0; 0.012439246336657786 0.0;;; … ;;; -1.4574470769163516e-8 0.0; 1.5992824761514576e-9 0.0;;; -2.835160161464411e-10 0.0; -3.5835678290697956e-10 0.0;;; 1.903723274446139e-12 0.0; -5.3571781615939486e-12 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715609311408, 139716346238224, 139716387187136))), SingleBranch{Float64}(72:82, 0, 10:9, 1, 6, [0.7472574195857279, 0.2523579573703614, 0.7497859804491054], 0.30707077616958983, [-5.643660411433685 0.0; 0.0 0.0;;; -0.09738759296933737 0.0; 0.0 0.0;;; 0.30570347319695684 0.0; 0.2359164756883997 0.0;;; … ;;; -9.828099569702297e-7 0.0; -4.228517737531717e-7 0.0;;; 2.722456045838181e-6 0.0; -9.867573156177317e-7 0.0;;; -2.8843207756702224e-7 0.0; 2.1892520476678593e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.13724763757441194 0.0; 0.0 0.0;;; -0.04184953211719816 0.0; 0.07154727061705074 0.0;;; … ;;; 7.307988510028463e-7 0.0; 1.2409626176729771e-8 0.0;;; 1.4022411841898488e-7 0.0; -2.3065426719117736e-7 0.0;;; -1.5496615773161006e-8 0.0; -2.8685996288531465e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716185616416, 139716240549472, 16))), SingleBranch{Float64}(83:89, 0, 10:9, 1, 7, [0.24972409829345718, 0.7498912786626322, 0.7497859804491054], 0.3929947235085011, [-2.3207471469996026 0.0; 0.0 0.0;;; 0.09585500095857492 0.0; 0.0 0.0;;; -0.034594650561498956 0.0; -0.04020353614176252 0.0;;; … ;;; 3.931149601398332e-6 0.0; -1.9070778716987882e-6 0.0;;; 4.2619416834337335e-7 0.0; 6.012393369990659e-7 0.0;;; -1.2968067700147368e-7 0.0; -1.7486311823425472e-8 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.14971788789451468 0.0; 0.0 0.0;;; -0.10199693754953348 0.0; -0.004039834025586983 0.0;;; … ;;; -1.5142626441460724e-6 0.0; -1.80684298411887e-7 0.0;;; 6.688133151638003e-7 0.0; 1.0679859224139595e-7 0.0;;; -9.055091853819892e-8 0.0; -1.816085482072339e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715609100560, 139716240549472, 1))), SingleBranch{Float64}(90:100, 0, 10:9, 1, 8, [0.7472574195857279, 0.7498912786626322, 0.7497859804491054], 0.3438264385687289, [-5.414197799467094 0.0; 0.0 0.0;;; 0.5897761356473473 0.0; 0.0 0.0;;; -0.11387613704005295 0.0; -0.009808782041582427 0.0;;; … ;;; 1.152786650059206e-5 0.0; -4.517396982831503e-6 0.0;;; -4.140305435424666e-6 0.0; -1.5665038040260306e-6 0.0;;; 1.2470773517558522e-7 0.0; 2.0253872196586884e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.2109597908590688 0.0; 0.0 0.0;;; 0.09347365978668326 0.0; -0.08394706203777819 0.0;;; … ;;; -3.5374566227538475e-6 0.0; -4.908528487673616e-6 0.0;;; -2.139788952278572e-6 0.0; -4.6632140843711356e-7 0.0;;; -2.2673535631629022e-7 0.0; 1.289726603228056e-7 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715609312336, 139715609312368, 0)))], UnitRange{Int64}[1:1, 2:9], [2, 3, 4, 5, 6, 7, 8, 9], [8, 19, 24, 25, 30, 33, 35, 43, 52, 55 … 37, 41, 42, 49, 64, 71, 78, 79, 87, 88], [90, 83, 24, 72, 58, 59, 25, 1, 60, 73 … 23, 38, 80, 56, 39, 81, 82, 40, 13, 57], Tuple{Main.Body{Float64}, Vector{Float64}}[(Main.Body{Float64}([0.4660552366407049, 0.13111968284280429, 0.1908671255470663], 0.010673064683743582, 0.8267772979915037), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.3447705767476935, 0.07006788456539503, 0.2923577651940017], 0.004397261752829818, 0.5517592405944612), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.4911645955827536, 0.040324077362882016, 0.317784960572128], 0.004572616745488207, 0.1280946812518453), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.40516617554370093, 0.32616788197738866, 0.056217617276771326], 0.010585392495089252, 0.012104263433355023), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.18599865953230243, 0.15030687931482978, 0.12186905472850917], 0.00530068913657312, 0.7976632010743766), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.4346643684051661, 0.13212864017170378, 0.19630837394498046], 0.004567269441401094, 0.39368661127046056), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.0009624129307819196, 0.2950090065083799, 0.07129536266232961], 0.0030690713098188082, 0.49288942845129), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.06701550238862786, 0.25483654814098344, 0.3238706353789649], 0.00505556524793979, 0.4522470321326544), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.1639092692596178, 0.44194134967919385, 0.42176372731880774], 0.010361551731613024, 0.6906085781397405), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.47398778866030766, 0.2026564230666169, 0.09034743825060043], 0.004653876665231441, 0.5317908249797711), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) … (Main.Body{Float64}([0.6906947058638981, 0.7538566588961716, 0.5900448016217961], 0.0029834697498147098, 0.10279531111389983), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9917278520449697, 0.794049105113352, 0.7711676013529396], 0.007048482826053925, 0.6415640852627671), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8289326726987614, 0.6101948372863522, 0.519118545970754], 0.0018327766115619636, 0.2379274720768212), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6174588851816368, 0.6522104227559661, 0.5847276813173017], 0.00761078545286029, 0.9704213765219395), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5232139755745984, 0.6045990113354003, 0.5429901209014718], 0.0060841769615967035, 0.8911459293930191), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9581632293408542, 0.9135421917156796, 0.7073373243745936], 0.010449665448269006, 0.8357622456841612), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.7658820877217039, 0.9631550531437152, 0.5344687381454426], 0.0068829275392983565, 0.07479369706302341), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.960720320334046, 0.651071293378233, 0.6942906786235435], 0.0097351936375095, 0.44997536837158536), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.7803189670835223, 0.8311591102139488, 0.5707525801936775], 0.008043628052385822, 0.08862350083761417), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5793632955101715, 0.5629439590892656, 0.5388261895900366], 0.008824875260231754, 0.805646285033539), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], Val{5}(), 50), SingleTree{Float64, Vector{Tuple{Main.Body{Float64}, Vector{Float64}}}, 5}(SingleBranch{Float64}[SingleBranch{Float64}(1:100, 8, 2:9, 0, -1, [0.49850630217496006, 0.5029084590406193, 0.4970227729348794], 0.8362233044847701, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (68719476747, 81604378642, 2))), SingleBranch{Float64}(1:14, 0, 10:9, 1, 1, [0.2510328948919175, 0.25543505175757675, 0.24954936565183686], 0.32830620603364347, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.2148637130046256 0.0; -0.0 0.0;;; -0.04834020432476547 0.0; -0.08941144433660723 0.0;;; … ;;; 3.5752497223563428e-6 0.0; 3.006318555294376e-7 0.0;;; 3.8241925632138014e-7 0.0; 8.756852584356714e-7 0.0;;; -5.567255439862998e-8 0.0; 7.122976820673655e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716346238400, 139716240540464, 1))), SingleBranch{Float64}(15:32, 0, 10:9, 1, 2, [0.7459797094580026, 0.25543505175757675, 0.24954936565183686], 0.4075867895483546, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.11109434668789528 0.0; -0.0 0.0;;; -0.09395711373565785 0.0; -0.0339352994212802 0.0;;; … ;;; -3.093083615342297e-7 0.0; -5.266957581159998e-7 0.0;;; -8.45286066948681e-8 0.0; -4.5318545488438834e-7 0.0;;; 1.3388476395864516e-8 0.0; -8.18196465630313e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715648315824, 139716387140544, 14))), SingleBranch{Float64}(33:42, 0, 10:9, 1, 3, [0.2510328948919175, 0.7503818663236619, 0.24954936565183686], 0.35924653313006505, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.19025706176624954 0.0; -0.0 0.0;;; -0.08523496179525314 0.0; 0.10063729919665365 0.0;;; … ;;; 4.515975081865985e-6 0.0; 2.6908857868788118e-6 0.0;;; 2.2681790868948097e-6 0.0; -7.786951926686422e-7 0.0;;; 1.2084952396660516e-7 0.0; -3.097235599682232e-7 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715632632368, 139715632632400, 429653962406))), SingleBranch{Float64}(43:55, 0, 10:9, 1, 4, [0.7459797094580026, 0.7503818663236619, 0.24954936565183686], 0.3444301048203579, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.10425563194142104 0.0; -0.0 0.0;;; -0.04040126882373641 0.0; -0.04562532239334573 0.0;;; … ;;; 1.3996120396479463e-7 0.0; -9.646181946431826e-8 0.0;;; 5.816317826369127e-8 0.0; 1.4394267248631393e-8 0.0;;; 3.2480223567985996e-9 0.0; 6.206399328437309e-9 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716185616416, 139716240549472, 139716188884736))), SingleBranch{Float64}(56:68, 0, 10:9, 1, 5, [0.2510328948919175, 0.25543505175757675, 0.744496180217922], 0.38361157253242145, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.14061387788889593 0.0; 0.0 0.0;;; 0.04115555743278536 0.0; -0.035336314269337296 0.0;;; … ;;; -1.288070786691546e-7 0.0; -2.0654704149134432e-7 0.0;;; -4.8404286408038316e-8 0.0; -1.51707993788448e-8 0.0;;; -3.595926037719477e-9 0.0; 1.544749903303687e-9 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715609101825, 139716345562000, 139716188884736))), SingleBranch{Float64}(69:78, 0, 10:9, 1, 6, [0.7459797094580026, 0.25543505175757675, 0.744496180217922], 0.3013874815759014, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.05941703079908202 0.0; -0.0 0.0;;; -0.06985022321023225 0.0; 0.1032519762464019 0.0;;; … ;;; -6.688757943059791e-7 0.0; -1.4504812423201137e-7 0.0;;; 4.323362110439875e-7 0.0; -4.1295023043996754e-7 0.0;;; -4.18706433955205e-8 0.0; -2.4735074430968403e-7 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716346238464, 139715617276304, 139716188884736))), SingleBranch{Float64}(79:86, 0, 10:9, 1, 7, [0.2510328948919175, 0.7503818663236619, 0.744496180217922], 0.3820455665476881, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.19773882534987763 0.0; -0.0 0.0;;; 0.10337544252106134 0.0; -0.003701264144869725 0.0;;; … ;;; 3.095126144436569e-6 0.0; -3.3359544949065297e-7 0.0;;; -9.336790671507606e-7 0.0; 1.3458164455370796e-7 0.0;;; 9.71193839691501e-8 0.0; -1.7566838362957855e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (4294967297, 139715286138880, 139716188884736))), SingleBranch{Float64}(87:100, 0, 10:9, 1, 8, [0.7459797094580026, 0.7503818663236619, 0.744496180217922], 0.3327162107193368, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.0593706787958249 0.0; -0.0 0.0;;; 0.08539509989261301 0.0; 0.03940386228514198 0.0;;; … ;;; -1.6827227854645148e-8 0.0; -5.990511984334067e-8 0.0;;; 3.054235133952722e-8 0.0; -1.9110787243922576e-7 0.0;;; -3.415340917917519e-8 0.0; 5.0921396075492695e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715632635056, 139715632635088, 5)))], UnitRange{Int64}[1:1, 2:9], [2, 3, 4, 5, 6, 7, 8, 9], [11, 19, 33, 43, 59, 63, 67, 68, 69, 72 … 20, 24, 31, 37, 42, 48, 60, 74, 94, 100], [69, 87, 70, 71, 79, 43, 56, 57, 44, 88 … 12, 55, 30, 99, 31, 32, 13, 68, 14, 100], Tuple{Main.Body{Float64}, Vector{Float64}}[(Main.Body{Float64}([0.3108257809580788, 0.018444977603329638, 0.1448495720156966], 0.004532460900544307, 0.6204619994567462), [6.656408075963273, 0.0, 0.0, 0.0, -3.5398731184273053, -9.295941020322173, -5.413464408657029, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.04239416161334009, 0.32064719274449505, 0.48130130480471], 0.009728577099494845, 0.28031926582466293), [7.0836044891461585, 0.0, 0.0, 0.0, -8.857359963224212, -3.7043629243965284, 2.6867154926403254, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.431557182411335, 0.05729104146002573, 0.4039530057283216], 0.007375228802112362, 0.30999664605164), [7.739018612595635, 0.0, 0.0, 0.0, -0.37792795808645685, -9.107993435650643, 1.4755711117578612, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.3760481927883257, 0.30427758942618754, 0.0424352411332668], 0.008737504330345026, 0.3856873023831733), [7.497010356100949, 0.0, 0.0, 0.0, -4.93733078661837, -0.9512848217887391, -9.321732229232445, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.40796257253884594, 0.3169707043296718, 0.17481471770913004], 0.0006599191423210741, 0.6303355439118526), [8.603145628291282, 0.0, 0.0, 0.0, -5.092945448737958, -0.35201620762089525, -5.017596524805857, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.44526311787148065, 0.3123953708377504, 0.0031981489559432807], 0.002234687294853749, 0.2526616143954684), [7.394307495297395, 0.0, 0.0, 0.0, -4.074197603049914, -0.8843005298526739, -12.129516167989486, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.09506281506194814, 0.37886831688663536, 0.2883280135877385], 0.0026513954621956654, 0.34851211014036976), [7.743796789514465, 0.0, 0.0, 0.0, -8.951264053959937, -1.9617883735084023, -4.658746399724488, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.385983388890926, 0.2099869174765614, 0.2103305433014464], 0.002673503120625262, 0.731920338683347), [8.699005360233967, 0.0, 0.0, 0.0, -9.322285862701646, 2.555093162665515, -1.874069896074265, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.4374975251302734, 0.2511138400545102, 0.1042125323068771], 0.0079424961191749, 0.28373707089135336), [8.545986552488209, 0.0, 0.0, 0.0, -10.43682822175596, 6.712123318844789, -6.799535652933345, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.33885320202792324, 0.21079845214701087, 0.07899763839448037], 0.0008797470416774469, 0.6588156699242567), [7.516005325514882, 0.0, 0.0, 0.0, -4.836766418598849, -2.225174045341691, -8.617929217958249, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) … (Main.Body{Float64}([0.761014175927334, 0.5625502355864805, 0.6362450642237143], 0.00477924026951857, 0.08790391023238642), [8.696622821572635, 0.0, 0.0, 0.0, 5.548245493459153, 0.6647207464342835, 6.278537989010481, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.741658189777045, 0.8784627652056287, 0.6026198177064941], 0.0028805176050072864, 0.24086407961581202), [7.541219085822956, 0.0, 0.0, 0.0, 0.3131879052669324, 8.516359052958578, 5.9072937820384634, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6559052253949811, 0.9583482860298168, 0.6198294517560885], 0.008868504569149492, 0.17689335268130646), [6.840663348171893, 0.0, 0.0, 0.0, 0.2944062620800215, 7.712555707441569, 4.705741898589104, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5044880780307363, 0.9392745252820915, 0.8236302658478007], 0.0035072444787534506, 0.5071979794728987), [5.902585114087375, 0.0, 0.0, 0.0, -0.7298300723802948, 5.074581758334187, 4.958470552095021, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.7719706502318479, 0.987371940477909, 0.5992694800324155], 0.000561642365078654, 0.020303598406039902), [6.659400467615292, 0.0, 0.0, 0.0, 0.9370333132030003, 8.321557859554815, 4.446254367712357, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9270141064885, 0.6996533718950176, 0.7573000900883736], 0.005090949172292981, 0.41670321904423535), [7.294560374728856, 0.0, 0.0, 0.0, 0.7797311911756291, 1.8536289165730497, 8.106518301667714, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6705665433906464, 0.8074865918599404, 0.5791268533462717], 0.008580519038422284, 0.2990005802447111), [8.378169492760158, 0.0, 0.0, 0.0, 0.672628905011095, 11.149982109624677, 5.703626251533733, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5199695296735932, 0.5150132871145792, 0.7028351735495706], 0.0037563211861237865, 0.28526666192551975), [8.680614827593462, 0.0, 0.0, 0.0, -3.197166807339375, 0.26787494900673947, 8.549839228303712, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5109351365074641, 0.7269107204213763, 0.8057341233600875], 0.002916397428800248, 0.13080774080166646), [7.060195088980969, 0.0, 0.0, 0.0, -0.8852806157001135, 4.388943223104779, 7.646679439394734, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8247874340282866, 0.5795916665384359, 0.8038668590137469], 0.0035401668870093193, 0.6409979037657155), [7.436136404880495, 0.0, 0.0, 0.0, 1.9624183678921265, 3.8680899850301302, 6.034444873485874, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], Val{5}(), 50), StaticArraysCore.SVector{2, Int32}[], UnitRange{Int64}[1:14, 1:14, 1:14, 1:14, 1:14, 1:14, 1:14, 1:14, 15:32, 15:32 … 79:86, 79:86, 87:100, 87:100, 87:100, 87:100, 87:100, 87:100, 87:100, 87:100], UnitRange{Int64}[1:13, 14:23, 24:40, 41:57, 58:71, 72:82, 83:89, 90:100, 1:13, 14:23 … 83:89, 90:100, 1:13, 14:23, 24:40, 41:57, 58:71, 72:82, 83:89, 90:100])
Users are able to define the tree to be used in the FMM by passing in a previously created tree into the fmm!
call. For convenience, the upward_pass
, horizontal_pass
, and downward_pass
can be toggled off seperately. These are important to toggle when generating octrees to be reused. Additionally, unsort_target_bodies
and unsort_source_bodies
should be set to false
when generating the reusable trees.
upward_pass
creates the multipole expansions for each branchhorizontal_pass
evaluates the expansions in the appropriate locationsdownward_pass
applies parent expansions to children branchestarget_system = generate_gravitational(123, 100)
+ unsort_source_bodies=false, unsort_target_bodies=false) # sorted bodies (not original indices)
(SingleTree{Float64, Vector{Tuple{Main.Body{Float64}, Vector{Float64}}}, 5}(SingleBranch{Float64}[SingleBranch{Float64}(1:100, 8, 2:9, 0, -1, [0.49849075893959255, 0.5011246180164968, 0.50101931980297], 0.8617443734929683, 0.8617443734929683, [-0.49752834600881063, 0.49752834600881063, -0.49752834600881063, 0.49752834600881063, -0.49752834600881063, 0.49752834600881063], [0.49752834600881063, 0.49752834600881063, 0.49752834600881063], 0.0, 0.0, fill(0.0), [-49.209733528008485 0.0; 0.0 0.0;;; 3.235503852070556 0.0; 0.0 0.0;;; 0.02681865248285842 0.0; 0.9591193094494834 0.0;;; … ;;; -0.0004469512083583767 0.0; -0.00015932419565861916 0.0;;; -0.00028710529956597804 0.0; -0.00031904516877669385 0.0;;; -7.588266430169126e-6 0.0; -8.400184364295124e-5 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871751534849, 139871858994320, 139871751534992))), SingleBranch{Float64}(1:13, 0, 10:9, 1, 1, [0.24972658593518723, 0.25236044501209143, 0.25225514679856464], 0.43087218674648414, 0.43087218674648414, [-0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531], [0.24876417300440531, 0.24876417300440531, 0.24876417300440531], 0.0, 0.0, fill(0.0), [-6.326393509059363 0.0; 0.0 0.0;;; 0.10174482633884264 0.0; 0.0 0.0;;; -0.07898687772271276 0.0; 0.03841659635534152 0.0;;; … ;;; -9.654710862452212e-7 0.0; -5.591129557725438e-7 0.0;;; 1.175731767951614e-6 0.0; 2.391893864725776e-6 0.0;;; -3.893767927840696e-8 0.0; -4.373076778562484e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.21988918332658114 0.0; 0.0 0.0;;; -0.00907173901579822 0.0; -0.08078608463780172 0.0;;; … ;;; 6.639561085749197e-7 0.0; 1.9043445262044332e-6 0.0;;; 3.6078285954161947e-7 0.0; -1.730779168448776e-7 0.0;;; -1.5694464749247868e-8 0.0; -2.5081831237534205e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 431051618394))), SingleBranch{Float64}(14:23, 0, 10:9, 1, 2, [0.7472549319439978, 0.25236044501209143, 0.25225514679856464], 0.43087218674648414, 0.43087218674648414, [-0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531], [0.24876417300440531, 0.24876417300440531, 0.24876417300440531], 0.0, 0.0, fill(0.0), [-5.505985520323303 0.0; 0.0 0.0;;; -0.0893400706965472 0.0; 0.0 0.0;;; 0.07469760206429724 0.0; -0.23211041531103774 0.0;;; … ;;; -2.392727383648695e-6 0.0; -2.7506172478695797e-7 0.0;;; 1.2869752996385646e-6 0.0; 8.632541193951725e-7 0.0;;; -1.4323853566229846e-7 0.0; 3.40320513459477e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.18613078162840202 0.0; 0.0 0.0;;; -0.03988177380448188 0.0; -0.10881091326674686 0.0;;; … ;;; 3.1493849180079693e-6 0.0; 1.79002742056861e-6 0.0;;; 2.3049009571265728e-7 0.0; -1.3797688581858191e-6 0.0;;; -1.7119818873987816e-7 0.0; 3.217930041360891e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 430491729105))), SingleBranch{Float64}(24:40, 0, 10:9, 1, 3, [0.24972658593518723, 0.7498887910209021, 0.25225514679856464], 0.43087218674648414, 0.43087218674648414, [-0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531], [0.24876417300440531, 0.24876417300440531, 0.24876417300440531], 0.0, 0.0, fill(0.0), [-7.986155913622251 0.0; 0.0 0.0;;; -0.1795979615961002 0.0; 0.0 0.0;;; -0.1708212423759164 0.0; 0.03135320324442914 0.0;;; … ;;; -6.066362373385743e-6 0.0; 2.4234495602853986e-6 0.0;;; 2.327392085993626e-6 0.0; 4.871331224296273e-7 0.0;;; 2.4751088043185402e-8 0.0; -5.827716675663792e-8 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.23122788327035293 0.0; 0.0 0.0;;; -0.04900663119822446 0.0; 0.09175801803089013 0.0;;; … ;;; 4.485772070448108e-6 0.0; -4.4630903906536425e-7 0.0;;; 4.303552019451355e-7 0.0; -1.0428735117063708e-6 0.0;;; -6.452660186998594e-8 0.0; -7.836101483352229e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 430491729105))), SingleBranch{Float64}(41:57, 0, 10:9, 1, 4, [0.7472549319439978, 0.7498887910209021, 0.25225514679856464], 0.43087218674648414, 0.43087218674648414, [-0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531], [0.24876417300440531, 0.24876417300440531, 0.24876417300440531], 0.0, 0.0, fill(0.0), [-9.931355245362722 0.0; 0.0 0.0;;; 0.004639293314162463 0.0; 0.0 0.0;;; 0.10230318193552163 0.0; 0.3431041586399578 0.0;;; … ;;; -5.8057861586053485e-6 0.0; -3.6767179441275553e-6 0.0;;; 1.970849569609788e-6 0.0; -1.1263384149017906e-6 0.0;;; 4.6063384099401923e-7 0.0; -7.362879677517756e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.24833262559729297 0.0; 0.0 0.0;;; -0.04049792411417641 0.0; 0.11830484901746985 0.0;;; … ;;; 7.332767131734295e-6 0.0; -4.818366848970212e-6 0.0;;; 6.296375165101449e-7 0.0; 2.450158453149185e-6 0.0;;; -2.5398566738723024e-7 0.0; -1.9922601565040447e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 430782432454))), SingleBranch{Float64}(58:71, 0, 10:9, 1, 5, [0.24972658593518723, 0.25236044501209143, 0.7497834928073753], 0.43087218674648414, 0.43087218674648414, [-0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531], [0.24876417300440531, 0.24876417300440531, 0.24876417300440531], 0.0, 0.0, fill(0.0), [-6.0812379817404665 0.0; 0.0 0.0;;; 0.2500525077504865 0.0; 0.0 0.0;;; -0.31821199437047437 0.0; 0.12219381204800842 0.0;;; … ;;; 3.886164164482793e-6 0.0; -7.451230042206713e-6 0.0;;; -1.5655861775267537e-6 0.0; 1.3488384490746591e-6 0.0;;; -2.65136301189794e-7 0.0; -1.0396969077621681e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.23600456619228227 0.0; 0.0 0.0;;; 0.00780054815104303 0.0; 0.01243800251579276 0.0;;; … ;;; -1.457243306148132e-8 0.0; 1.604225902871519e-9 0.0;;; -2.836500215179685e-10 0.0; -3.581821796740947e-10 0.0;;; 1.9003405206797664e-12 0.0; -5.3575717814609175e-12 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 433312535027))), SingleBranch{Float64}(72:82, 0, 10:9, 1, 6, [0.7472549319439978, 0.25236044501209143, 0.7497834928073753], 0.43087218674648414, 0.43087218674648414, [-0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531], [0.24876417300440531, 0.24876417300440531, 0.24876417300440531], 0.0, 0.0, fill(0.0), [-5.643660411433685 0.0; 0.0 0.0;;; -0.09740163237448708 0.0; 0.0 0.0;;; 0.30569645349438196 0.0; 0.2359234953909746 0.0;;; … ;;; -9.82916763080865e-7 0.0; -4.2285511081766585e-7 0.0;;; 2.7225441029521644e-6 0.0; -9.866422822602592e-7 0.0;;; -2.884182756506517e-7 0.0; 2.1891312191953625e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.137250125216142 0.0; 0.0 0.0;;; -0.041848288296333136 0.0; 0.07154851443791577 0.0;;; … ;;; 7.308420503707386e-7 0.0; 1.2365335735668517e-8 0.0;;; 1.4021073394047346e-7 0.0; -2.3067492312302074e-7 0.0;;; -1.5499976899256273e-8 0.0; -2.8685176609168157e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 433312535027))), SingleBranch{Float64}(83:89, 0, 10:9, 1, 7, [0.24972658593518723, 0.7498887910209021, 0.7497834928073753], 0.43087218674648414, 0.43087218674648414, [-0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531], [0.24876417300440531, 0.24876417300440531, 0.24876417300440531], 0.0, 0.0, fill(0.0), [-2.3207471469996026 0.0; 0.0 0.0;;; 0.09584922777112714 0.0; 0.0 0.0;;; -0.03459176396777507 0.0; -0.04020642273548641 0.0;;; … ;;; 3.930977957593639e-6 0.0; -1.9071506252246133e-6 0.0;;; 4.262561393862879e-7 0.0; 6.012045573535614e-7 0.0;;; -1.296847519879538e-7 0.0; -1.748757755002258e-8 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.14971540025278463 0.0; 0.0 0.0;;; -0.10199818137039851 0.0; -0.00404107784645201 0.0;;; … ;;; -1.5142366400508734e-6 0.0; -1.807350708728618e-7 0.0;;; 6.688310694761936e-7 0.0; 1.0683350833198992e-7 0.0;;; -9.055558759133121e-8 0.0; -1.8167298693653792e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 0))), SingleBranch{Float64}(90:100, 0, 10:9, 1, 8, [0.7472549319439978, 0.7498887910209021, 0.7497834928073753], 0.43087218674648414, 0.43087218674648414, [-0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531, -0.24876417300440531, 0.24876417300440531], [0.24876417300440531, 0.24876417300440531, 0.24876417300440531], 0.0, 0.0, fill(0.0), [-5.414197799467094 0.0; 0.0 0.0;;; 0.5897626670629665 0.0; 0.0 0.0;;; -0.1138694027478626 0.0; -0.009802047749392043 0.0;;; … ;;; 1.152740503052551e-5 0.0; -4.517016990218442e-6 0.0;;; -4.140046433990845e-6 0.0; -1.566383749352849e-6 0.0;;; 1.2469713505945974e-7 0.0; 2.024928160458584e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.21095730321733874 0.0; 0.0 0.0;;; 0.09347241596581823 0.0; -0.08394581821691316 0.0;;; … ;;; -3.5372171155417328e-6 0.0; -4.908219455216665e-6 0.0;;; -2.1396426594075856e-6 0.0; -4.6629625718216964e-7 0.0;;; -2.2671999108049045e-7 0.0; 1.289627938417499e-7 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 429496729600)))], UnitRange{Int64}[1:1, 2:9], [2, 3, 4, 5, 6, 7, 8, 9], [8, 19, 24, 25, 30, 33, 35, 43, 52, 55 … 37, 41, 42, 49, 64, 71, 78, 79, 87, 88], [90, 83, 24, 72, 58, 59, 25, 1, 60, 73 … 23, 38, 80, 56, 39, 81, 82, 40, 13, 57], Tuple{Main.Body{Float64}, Vector{Float64}}[(Main.Body{Float64}([0.4660552366407049, 0.13111968284280429, 0.1908671255470663], 0.010673064683743582, 0.8267772979915037), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.3447705767476935, 0.07006788456539503, 0.2923577651940017], 0.004397261752829818, 0.5517592405944612), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.4911645955827536, 0.040324077362882016, 0.317784960572128], 0.004572616745488207, 0.1280946812518453), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.40516617554370093, 0.32616788197738866, 0.056217617276771326], 0.010585392495089252, 0.012104263433355023), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.18599865953230243, 0.15030687931482978, 0.12186905472850917], 0.00530068913657312, 0.7976632010743766), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.4346643684051661, 0.13212864017170378, 0.19630837394498046], 0.004567269441401094, 0.39368661127046056), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.0009624129307819196, 0.2950090065083799, 0.07129536266232961], 0.0030690713098188082, 0.49288942845129), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.06701550238862786, 0.25483654814098344, 0.3238706353789649], 0.00505556524793979, 0.4522470321326544), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.1639092692596178, 0.44194134967919385, 0.42176372731880774], 0.010361551731613024, 0.6906085781397405), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.47398778866030766, 0.2026564230666169, 0.09034743825060043], 0.004653876665231441, 0.5317908249797711), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) … (Main.Body{Float64}([0.6906947058638981, 0.7538566588961716, 0.5900448016217961], 0.0029834697498147098, 0.10279531111389983), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9917278520449697, 0.794049105113352, 0.7711676013529396], 0.007048482826053925, 0.6415640852627671), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8289326726987614, 0.6101948372863522, 0.519118545970754], 0.0018327766115619636, 0.2379274720768212), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6174588851816368, 0.6522104227559661, 0.5847276813173017], 0.00761078545286029, 0.9704213765219395), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5232139755745984, 0.6045990113354003, 0.5429901209014718], 0.0060841769615967035, 0.8911459293930191), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9581632293408542, 0.9135421917156796, 0.7073373243745936], 0.010449665448269006, 0.8357622456841612), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.7658820877217039, 0.9631550531437152, 0.5344687381454426], 0.0068829275392983565, 0.07479369706302341), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.960720320334046, 0.651071293378233, 0.6942906786235435], 0.0097351936375095, 0.44997536837158536), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.7803189670835223, 0.8311591102139488, 0.5707525801936775], 0.008043628052385822, 0.08862350083761417), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5793632955101715, 0.5629439590892656, 0.5388261895900366], 0.008824875260231754, 0.805646285033539), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], Val{5}(), 50), SingleTree{Float64, Vector{Tuple{Main.Body{Float64}, Vector{Float64}}}, 5}(SingleBranch{Float64}[SingleBranch{Float64}(1:100, 8, 2:9, 0, -1, [0.49850630217496006, 0.5029084590406193, 0.4970227729348794], 0.8572644572282587, 0.8572644572282587, [-0.49494186514743355, 0.49494186514743355, -0.49494186514743355, 0.49494186514743355, -0.49494186514743355, 0.49494186514743355], [0.49494186514743355, 0.49494186514743355, 0.49494186514743355], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871114018352, 139871114020752, 139871111261712))), SingleBranch{Float64}(1:14, 0, 10:9, 1, 1, [0.2510353696012433, 0.25543752646690254, 0.24955184036116262], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.2148612382952998 0.0; -0.0 0.0;;; -0.04833896697010254 0.0; -0.08941268169127015 0.0;;; … ;;; 3.5751904359505736e-6 0.0; 3.0080507578758053e-7 0.0;;; 3.8236458599367976e-7 0.0; 8.757176386082573e-7 0.0;;; -5.567979953388733e-8 0.0; 7.122692732518039e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871763235568, 139871708759632, 139871763244640))), SingleBranch{Float64}(15:32, 0, 10:9, 1, 2, [0.7459772347486768, 0.25543752646690254, 0.24955184036116262], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.11109187197856953 0.0; -0.0 0.0;;; -0.09395587638099494 0.0; -0.03393406206661734 0.0;;; … ;;; -3.0928893153242635e-7 0.0; -5.266357454009592e-7 0.0;;; -8.453485198034652e-8 0.0; -4.5314409979717737e-7 0.0;;; 1.3384370562270982e-8 0.0; -8.18136577012236e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871711579904, 139871711579904, 139871711579904))), SingleBranch{Float64}(33:42, 0, 10:9, 1, 3, [0.2510353696012433, 0.7503793916143361, 0.24955184036116262], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.1902545870569238 0.0; -0.0 0.0;;; -0.08523619914991601 0.0; 0.10063606184199078 0.0;;; … ;;; 4.515701992660869e-6 0.0; 2.690965808809799e-6 0.0;;; 2.2681808274429954e-6 0.0; -7.785616815693268e-7 0.0;;; 1.2086933929990936e-7 0.0; -3.097138724670615e-7 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (1, 1, 0))), SingleBranch{Float64}(43:55, 0, 10:9, 1, 4, [0.7459772347486768, 0.7503793916143361, 0.24955184036116262], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.10425315723209527 0.0; -0.0 0.0;;; -0.04040250617839929 0.0; -0.04562408503868281 0.0;;; … ;;; 1.3994426612384809e-7 0.0; -9.646789543011186e-8 0.0;;; 5.8163042620289284e-8 0.0; 1.4387157402797034e-8 0.0;;; 3.2488834697645844e-9 0.0; 6.2058798109508465e-9 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871909836608, 139871909837056, 139871909837504))), SingleBranch{Float64}(56:68, 0, 10:9, 1, 5, [0.2510353696012433, 0.25543752646690254, 0.7444937055085962], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.1406114031795701 0.0; 0.0 0.0;;; 0.04115679478744828 0.0; -0.03533755162400021 0.0;;; … ;;; -1.2881546024813352e-7 0.0; -2.0655710448954946e-7 0.0;;; -4.840981119340681e-8 0.0; -1.5172010562775518e-8 0.0;;; -3.596485511575488e-9 0.0; 1.545042368324494e-9 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 0))), SingleBranch{Float64}(69:78, 0, 10:9, 1, 6, [0.7459772347486768, 0.25543752646690254, 0.7444937055085962], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.05941950550840777 0.0; -0.0 0.0;;; -0.06984898585556935 0.0; 0.10325321360106476 0.0;;; … ;;; -6.688472512156468e-7 0.0; -1.4501297809812144e-7 0.0;;; 4.3233604883670166e-7 0.0; -4.1299565937718063e-7 0.0;;; -4.1888246519238254e-8 0.0; -2.4735114753799555e-7 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871114018352, 139871114020752, 139871111261872))), SingleBranch{Float64}(79:86, 0, 10:9, 1, 7, [0.2510353696012433, 0.7503793916143361, 0.7444937055085962], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.19774130005920343 0.0; -0.0 0.0;;; 0.10337420516639845 0.0; -0.003702501499532632 0.0;;; … ;;; 3.0951077862846165e-6 0.0; -3.337097810420304e-7 0.0;;; -9.336410389602992e-7 0.0; 1.3462336691028458e-7 0.0;;; 9.711269933660484e-8 0.0; -1.7571838450287563e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871763235568, 139871708759632, 139871763244640))), SingleBranch{Float64}(87:100, 0, 10:9, 1, 8, [0.7459772347486768, 0.7503793916143361, 0.7444937055085962], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.0593731535051507 0.0; -0.0 0.0;;; 0.08539386253795012 0.0; 0.039405099639804875 0.0;;; … ;;; -1.6817191281206375e-8 0.0; -5.988143577896676e-8 0.0;;; 3.0556184471062655e-8 0.0; -1.9110878655930648e-7 0.0;;; -3.415675534882339e-8 0.0; 5.09167765671537e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871711579904, 139871711579904, 139871711579904)))], UnitRange{Int64}[1:1, 2:9], [2, 3, 4, 5, 6, 7, 8, 9], [11, 19, 33, 43, 59, 63, 67, 68, 69, 72 … 20, 24, 31, 37, 42, 48, 60, 74, 94, 100], [69, 87, 70, 71, 79, 43, 56, 57, 44, 88 … 12, 55, 30, 99, 31, 32, 13, 68, 14, 100], Tuple{Main.Body{Float64}, Vector{Float64}}[(Main.Body{Float64}([0.3108257809580788, 0.018444977603329638, 0.1448495720156966], 0.004532460900544307, 0.6204619994567462), [6.656408075963273, 0.0, 0.0, 0.0, -3.5398731184273053, -9.295941020322173, -5.413464408657029, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.04239416161334009, 0.32064719274449505, 0.48130130480471], 0.009728577099494845, 0.28031926582466293), [7.0836044891461585, 0.0, 0.0, 0.0, -8.857359963224212, -3.7043629243965284, 2.6867154926403254, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.431557182411335, 0.05729104146002573, 0.4039530057283216], 0.007375228802112362, 0.30999664605164), [7.739018612595635, 0.0, 0.0, 0.0, -0.37792795808645685, -9.107993435650643, 1.4755711117578612, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.3760481927883257, 0.30427758942618754, 0.0424352411332668], 0.008737504330345026, 0.3856873023831733), [7.497010356100949, 0.0, 0.0, 0.0, -4.93733078661837, -0.9512848217887391, -9.321732229232445, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.40796257253884594, 0.3169707043296718, 0.17481471770913004], 0.0006599191423210741, 0.6303355439118526), [8.603145628291282, 0.0, 0.0, 0.0, -5.092945448737958, -0.35201620762089525, -5.017596524805857, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.44526311787148065, 0.3123953708377504, 0.0031981489559432807], 0.002234687294853749, 0.2526616143954684), [7.394307495297395, 0.0, 0.0, 0.0, -4.074197603049914, -0.8843005298526739, -12.129516167989486, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.09506281506194814, 0.37886831688663536, 0.2883280135877385], 0.0026513954621956654, 0.34851211014036976), [7.743796789514465, 0.0, 0.0, 0.0, -8.951264053959937, -1.9617883735084023, -4.658746399724488, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.385983388890926, 0.2099869174765614, 0.2103305433014464], 0.002673503120625262, 0.731920338683347), [8.699005360233967, 0.0, 0.0, 0.0, -9.322285862701646, 2.555093162665515, -1.874069896074265, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.4374975251302734, 0.2511138400545102, 0.1042125323068771], 0.0079424961191749, 0.28373707089135336), [8.545986552488209, 0.0, 0.0, 0.0, -10.43682822175596, 6.712123318844789, -6.799535652933345, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.33885320202792324, 0.21079845214701087, 0.07899763839448037], 0.0008797470416774469, 0.6588156699242567), [7.516005325514882, 0.0, 0.0, 0.0, -4.836766418598849, -2.225174045341691, -8.617929217958249, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) … (Main.Body{Float64}([0.761014175927334, 0.5625502355864805, 0.6362450642237143], 0.00477924026951857, 0.08790391023238642), [8.696622821572635, 0.0, 0.0, 0.0, 5.548245493459153, 0.6647207464342835, 6.278537989010481, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.741658189777045, 0.8784627652056287, 0.6026198177064941], 0.0028805176050072864, 0.24086407961581202), [7.541219085822956, 0.0, 0.0, 0.0, 0.3131879052669324, 8.516359052958578, 5.9072937820384634, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6559052253949811, 0.9583482860298168, 0.6198294517560885], 0.008868504569149492, 0.17689335268130646), [6.840663348171893, 0.0, 0.0, 0.0, 0.2944062620800215, 7.712555707441569, 4.705741898589104, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5044880780307363, 0.9392745252820915, 0.8236302658478007], 0.0035072444787534506, 0.5071979794728987), [5.902585114087375, 0.0, 0.0, 0.0, -0.7298300723802948, 5.074581758334187, 4.958470552095021, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.7719706502318479, 0.987371940477909, 0.5992694800324155], 0.000561642365078654, 0.020303598406039902), [6.659400467615292, 0.0, 0.0, 0.0, 0.9370333132030003, 8.321557859554815, 4.446254367712357, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9270141064885, 0.6996533718950176, 0.7573000900883736], 0.005090949172292981, 0.41670321904423535), [7.294560374728856, 0.0, 0.0, 0.0, 0.7797311911756291, 1.8536289165730497, 8.106518301667714, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6705665433906464, 0.8074865918599404, 0.5791268533462717], 0.008580519038422284, 0.2990005802447111), [8.378169492760158, 0.0, 0.0, 0.0, 0.672628905011095, 11.149982109624677, 5.703626251533733, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5199695296735932, 0.5150132871145792, 0.7028351735495706], 0.0037563211861237865, 0.28526666192551975), [8.680614827593462, 0.0, 0.0, 0.0, -3.197166807339375, 0.26787494900673947, 8.549839228303712, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5109351365074641, 0.7269107204213763, 0.8057341233600875], 0.002916397428800248, 0.13080774080166646), [7.060195088980969, 0.0, 0.0, 0.0, -0.8852806157001135, 4.388943223104779, 7.646679439394734, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8247874340282866, 0.5795916665384359, 0.8038668590137469], 0.0035401668870093193, 0.6409979037657155), [7.436136404880495, 0.0, 0.0, 0.0, 1.9624183678921265, 3.8680899850301302, 6.034444873485874, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], Val{5}(), 50), Tuple{Int32, Int32, Int64}[], StaticArraysCore.SVector{2, Int32}[[2, 2], [3, 2], [4, 2], [5, 2], [6, 2], [7, 2], [8, 2], [9, 2], [2, 3], [3, 3] … [8, 8], [9, 8], [2, 9], [3, 9], [4, 9], [5, 9], [6, 9], [7, 9], [8, 9], [9, 9]], DerivativesSwitch{true, true, true}())
Users are able to define the tree to be used in the FMM by passing in a previously created tree into the fmm!
call. For convenience, the upward_pass
, horizontal_pass
, and downward_pass
can be toggled off seperately. These are important to toggle when generating octrees to be reused. Additionally, unsort_target_bodies
and unsort_source_bodies
should be set to false
when generating the reusable trees.
upward_pass
creates the multipole expansions for each branchhorizontal_pass
evaluates the expansions in the appropriate locationsdownward_pass
applies parent expansions to children branchestarget_system = generate_gravitational(123, 100)
source_system = generate_gravitational(321, 100)
target_tree, source_tree = fmm.fmm!(target_system, source_system;
@@ -32,14 +32,14 @@
unsort_source_bodies=false, unsort_target_bodies=false) # generating trees to be reused
fmm.fmm!(target_tree, target_system, source_tree, source_system;
- upward_pass=false, horizontal_pass=true, downward_pass=true) # reusing trees
(StaticArraysCore.SVector{2, Int32}[], UnitRange{Int64}[1:13, 1:13, 1:13, 1:13, 1:13, 1:13, 1:13, 1:13, 14:23, 14:23 … 83:89, 83:89, 90:100, 90:100, 90:100, 90:100, 90:100, 90:100, 90:100, 90:100], UnitRange{Int64}[1:14, 15:32, 33:42, 43:55, 56:68, 69:78, 79:86, 87:100, 1:14, 15:32 … 79:86, 87:100, 1:14, 15:32, 33:42, 43:55, 56:68, 69:78, 79:86, 87:100], DerivativesSwitch{true, true, true}())
The nearfield
, farfield
, and self_induced
parameters allow users to bypass certain portions of the FMM.
nearfield
if false, FastMultipole
omits all direct interactionsfarfield
if false, FastMultipole
omits all multipole interactionsself_induced
if false, FastMultipole
omits the interaction of each leaf branch on itselfsystem = generate_gravitational(123, 100)
+ upward_pass=false, horizontal_pass=true, downward_pass=true) # reusing trees
(Tuple{Int32, Int32, Int64}[], StaticArraysCore.SVector{2, Int32}[[2, 2], [2, 3], [2, 4], [2, 5], [2, 6], [2, 7], [2, 8], [2, 9], [3, 2], [3, 3] … [8, 8], [8, 9], [9, 2], [9, 3], [9, 4], [9, 5], [9, 6], [9, 7], [9, 8], [9, 9]], DerivativesSwitch{true, true, true}())
The nearfield
, farfield
, and self_induced
parameters allow users to bypass certain portions of the FMM.
nearfield
if false, FastMultipole
omits all direct interactionsfarfield
if false, FastMultipole
omits all multipole interactionsself_induced
if false, FastMultipole
omits the interaction of each leaf branch on itselfsystem = generate_gravitational(123, 100)
fmm.fmm!(system,
nearfield=true, farfield=true, self_induced=true) # standard run (defaults)
fmm.fmm!(system,
- nearfield=false, farfield=true, self_induced=true) # nearfield not evaluated
(SingleTree{Float64, Vector{Tuple{Main.Body{Float64}, Vector{Float64}}}, 5}(SingleBranch{Float64}[SingleBranch{Float64}(1:100, 8, 2:9, 0, -1, [0.49850630217496006, 0.5029084590406193, 0.4970227729348794], 0.8362233044847701, [-48.34870113041748 0.0; 0.0 0.0;;; 2.5984220197757493 0.0; 0.0 0.0;;; -1.2227362282002519 0.0; 0.8450131042390989 0.0;;; … ;;; -8.791709687591738e-5 0.0; -0.0004287156900488262 0.0;;; 8.822613231853972e-5 0.0; -0.00020008302331153612 0.0;;; -1.2615951275491271e-5 0.0; -3.06555042659532e-6 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716227851536, 139716238107552, 139716387159360))), SingleBranch{Float64}(1:14, 0, 10:9, 1, 1, [0.2510328948919175, 0.25543505175757675, 0.24954936565183686], 0.32830620603364347, [-6.487390818499682 0.0; 0.0 0.0;;; 0.13160802997362941 0.0; 0.0 0.0;;; 0.025257151070001396 0.0; 0.11024142779407628 0.0;;; … ;;; -3.4552047941103347e-6 0.0; 5.92279525203367e-7 0.0;;; 1.5154359196085172e-6 0.0; -1.704818027801098e-6 0.0;;; 1.507027521410391e-7 0.0; 1.884904605400281e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.2148637130046256 0.0; -0.0 0.0;;; -0.04834020432476547 0.0; -0.08941144433660723 0.0;;; … ;;; 3.5752497223563428e-6 0.0; 3.006318555294376e-7 0.0;;; 3.8241925632138014e-7 0.0; 8.756852584356714e-7 0.0;;; -5.567255439862998e-8 0.0; 7.122976820673655e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716340817376, 0, 0))), SingleBranch{Float64}(15:32, 0, 10:9, 1, 2, [0.7459797094580026, 0.25543505175757675, 0.24954936565183686], 0.4075867895483546, [-11.124170053937009 0.0; 0.0 0.0;;; 0.41136017634896405 0.0; 0.0 0.0;;; 0.01681678779456549 0.0; -0.14479053987919496 0.0;;; … ;;; -8.963438716003618e-6 0.0; 4.693304408214976e-6 0.0;;; 4.4102445395579444e-6 0.0; -2.1277857167741254e-7 0.0;;; -1.841923482140888e-8 0.0; -2.1879278420605707e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.11109434668789528 0.0; -0.0 0.0;;; -0.09395711373565785 0.0; -0.0339352994212802 0.0;;; … ;;; -3.093083615342297e-7 0.0; -5.266957581159998e-7 0.0;;; -8.45286066948681e-8 0.0; -4.5318545488438834e-7 0.0;;; 1.3388476395864516e-8 0.0; -8.18196465630313e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716325999616, 139715854923472, 0))), SingleBranch{Float64}(33:42, 0, 10:9, 1, 3, [0.2510328948919175, 0.7503818663236619, 0.24954936565183686], 0.35924653313006505, [-5.116346939838825 0.0; 0.0 0.0;;; -0.08995666607829884 0.0; 0.0 0.0;;; -0.1349835437527065 0.0; 0.06707456146941994 0.0;;; … ;;; -1.03637148934866e-6 0.0; 1.2241097861125e-6 0.0;;; -1.8670331116491932e-7 0.0; 1.6661144301044405e-6 0.0;;; 6.54442154006702e-7 0.0; -6.941261187215138e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.19025706176624954 0.0; -0.0 0.0;;; -0.08523496179525314 0.0; 0.10063729919665365 0.0;;; … ;;; 4.515975081865985e-6 0.0; 2.6908857868788118e-6 0.0;;; 2.2681790868948097e-6 0.0; -7.786951926686422e-7 0.0;;; 1.2084952396660516e-7 0.0; -3.097235599682232e-7 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716240540464, 139716240540464, 139716240540464))), SingleBranch{Float64}(43:55, 0, 10:9, 1, 4, [0.7459797094580026, 0.7503818663236619, 0.24954936565183686], 0.3444301048203579, [-6.531648389278439 0.0; 0.0 0.0;;; 0.27835014416833864 0.0; 0.0 0.0;;; 0.002411856261420299 0.0; 0.3732641200075186 0.0;;; … ;;; 3.3763825929270474e-6 0.0; -2.6723802968550274e-6 0.0;;; -1.3437331724310995e-6 0.0; 8.279964236047045e-7 0.0;;; -2.634861518662996e-7 0.0; -4.924335067619407e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.10425563194142104 0.0; -0.0 0.0;;; -0.04040126882373641 0.0; -0.04562532239334573 0.0;;; … ;;; 1.3996120396479463e-7 0.0; -9.646181946431826e-8 0.0;;; 5.816317826369127e-8 0.0; 1.4394267248631393e-8 0.0;;; 3.2480223567985996e-9 0.0; 6.206399328437309e-9 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387141072, 139716387141520, 418185514174))), SingleBranch{Float64}(56:68, 0, 10:9, 1, 5, [0.2510328948919175, 0.25543505175757675, 0.744496180217922], 0.38361157253242145, [-6.660580658394574 0.0; 0.0 0.0;;; -0.3951368573332444 0.0; 0.0 0.0;;; 0.059806140235814806 0.0; 0.07531365368595062 0.0;;; … ;;; 2.0907706727779475e-6 0.0; -2.5152710642921285e-6 0.0;;; 1.3306624123546174e-6 0.0; 8.501482770130618e-7 0.0;;; -4.5792260804476627e-7 0.0; 1.3806284113973838e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.14061387788889593 0.0; 0.0 0.0;;; 0.04115555743278536 0.0; -0.035336314269337296 0.0;;; … ;;; -1.288070786691546e-7 0.0; -2.0654704149134432e-7 0.0;;; -4.8404286408038316e-8 0.0; -1.51707993788448e-8 0.0;;; -3.595926037719477e-9 0.0; 1.544749903303687e-9 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716240540464, 139716240549472, 0))), SingleBranch{Float64}(69:78, 0, 10:9, 1, 6, [0.7459797094580026, 0.25543505175757675, 0.744496180217922], 0.3013874815759014, [-5.009402189699274 0.0; 0.0 0.0;;; -0.19303271210733094 0.0; 0.0 0.0;;; 0.12964273844915233 0.0; 0.1001623545337623 0.0;;; … ;;; -2.0328306964806397e-6 0.0; 1.1605648632212315e-6 0.0;;; 1.6073342055098596e-6 0.0; 7.524720770054802e-7 0.0;;; -2.1135198071024206e-7 0.0; -2.403266195567272e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.05941703079908202 0.0; -0.0 0.0;;; -0.06985022321023225 0.0; 0.1032519762464019 0.0;;; … ;;; -6.688757943059791e-7 0.0; -1.4504812423201137e-7 0.0;;; 4.323362110439875e-7 0.0; -4.1295023043996754e-7 0.0;;; -4.18706433955205e-8 0.0; -2.4735074430968403e-7 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716363615489, 139716199936080, 414503011198))), SingleBranch{Float64}(79:86, 0, 10:9, 1, 7, [0.2510328948919175, 0.7503818663236619, 0.744496180217922], 0.3820455665476881, [-3.769527893701526 0.0; 0.0 0.0;;; -0.01937485760252879 0.0; 0.0 0.0;;; -0.0011869565842794313 0.0; -0.14576258200570863 0.0;;; … ;;; -1.035780355194869e-5 0.0; 1.2916687480313506e-6 0.0;;; -2.490552446971178e-7 0.0; -3.155207119859079e-6 0.0;;; 4.921259852079049e-7 0.0; 2.9739990241645427e-8 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.19773882534987763 0.0; -0.0 0.0;;; 0.10337544252106134 0.0; -0.003701264144869725 0.0;;; … ;;; 3.095126144436569e-6 0.0; -3.3359544949065297e-7 0.0;;; -9.336790671507606e-7 0.0; 1.3458164455370796e-7 0.0;;; 9.71193839691501e-8 0.0; -1.7566838362957855e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716240540464, 139715591327600, 143526722090))), SingleBranch{Float64}(87:100, 0, 10:9, 1, 8, [0.7459797094580026, 0.7503818663236619, 0.744496180217922], 0.3327162107193368, [-3.6496341870681537 0.0; 0.0 0.0;;; -0.042301568716341185 0.0; 0.0 0.0;;; -0.05660590987410181 0.0; -0.12020777259952997 0.0;;; … ;;; 1.267669727184831e-7 0.0; 9.742058782909874e-7 0.0;;; 6.168283320807449e-7 0.0; -3.980144929711531e-7 0.0;;; 1.6500915529856466e-7 0.0; 5.91078696240452e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.0593706787958249 0.0; -0.0 0.0;;; 0.08539509989261301 0.0; 0.03940386228514198 0.0;;; … ;;; -1.6827227854645148e-8 0.0; -5.990511984334067e-8 0.0;;; 3.054235133952722e-8 0.0; -1.9110787243922576e-7 0.0;;; -3.415340917917519e-8 0.0; 5.0921396075492695e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715591327680, 139715591327696, 139716240540464)))], UnitRange{Int64}[1:1, 2:9], [2, 3, 4, 5, 6, 7, 8, 9], [11, 19, 33, 43, 59, 63, 67, 68, 69, 72 … 20, 24, 31, 37, 42, 48, 60, 74, 94, 100], [69, 87, 70, 71, 79, 43, 56, 57, 44, 88 … 12, 55, 30, 99, 31, 32, 13, 68, 14, 100], Tuple{Main.Body{Float64}, Vector{Float64}}[(Main.Body{Float64}([0.9191811597933967, 0.42601923740838954, 0.7465863168484385], 0.00551624732815934, 0.2538490889415096), [7.0834787492030005, 0.0, 0.0, 0.0, 5.568735643477791, 2.9213884843016737, 0.7633475677477748, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8192008435733007, 0.9541592624784624, 0.8458950823510601], 0.0014709561750558223, 0.03209667335274724), [5.114232575764009, 0.0, 0.0, 0.0, 2.446182605378621, 4.41119482090726, 3.440180697344876, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.586748700554989, 0.12181263792534469, 0.7894931647499924], 0.0016174951280755708, 0.8935369466209786), [6.585365931828452, 0.0, 0.0, 0.0, 2.5334789856996256, -5.935281910533853, 5.877738846695876, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6192588014774537, 0.47764531343080796, 0.8041934288169849], 0.003639098305331564, 0.8236563299357046), [7.314225348781349, 0.0, 0.0, 0.0, 2.0263196413417575, -0.5909579553411834, 6.438131407639304, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.12353811904859124, 0.7400202596259494, 0.7057473220960516], 0.004975260027225807, 0.9340155879013086), [5.994006655657172, 0.0, 0.0, 0.0, -3.6150300092368397, 3.588312709800555, 2.445983480158574, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9919607797239652, 0.8036971367794874, 0.29827230692896456], 0.006659427674753824, 0.4842893268146866), [6.3093512714054905, 0.0, 0.0, 0.0, 6.811100230860857, 3.229004706340305, 0.7635631719803121, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.49265789199054244, 0.17985285886739166, 0.6397154045236242], 0.004022070032387327, 0.6922349538863742), [7.856042192681273, 0.0, 0.0, 0.0, 0.5375760890909462, -5.141800886434623, 1.9448732399847593, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.22768758746068596, 0.26780944724527167, 0.8309795986773825], 0.006802835099514221, 0.6911617055492341), [8.668207473779663, 0.0, 0.0, 0.0, -3.782240224623742, 18.504359731864223, 92.23746117912798, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.621178864455285, 0.7425206336869923, 0.15487161620983314], 0.0010425988209884726, 0.09206661519876747), [7.388934820369321, 0.0, 0.0, 0.0, -0.5191138373209423, 4.756088137496654, -3.410201822139256, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5733898483119126, 0.5900840309886971, 0.7659266276192337], 0.00633005068065063, 0.37737321139310276), [7.64606632116185, 0.0, 0.0, 0.0, 0.09461688248299382, 7.241804506257593, 4.346937745416622, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) … (Main.Body{Float64}([0.3562026836409853, 0.3635243844573359, 0.309727986680287], 0.0038713948967191466, 0.43490959394031214), [8.717797558762465, 0.0, 0.0, 0.0, -5.329362059354715, 1.927215437532789, 2.1413599561398255, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6547290646713112, 0.8311844039711347, 0.3538049975932579], 0.004154302641783906, 0.5842214092626906), [6.95468678089278, 0.0, 0.0, 0.0, -0.26889425383548615, 5.455632900159945, 0.18581332796087613, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5388794936906567, 0.04350921485134718, 0.23629199234128806], 0.006559279199653211, 0.9196974029361853), [7.405157852909614, 0.0, 0.0, 0.0, -0.6529358028805777, -11.2963043390672, -2.91169792948822, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5109351365074641, 0.7269107204213763, 0.8057341233600875], 0.002916397428800248, 0.13080774080166646), [6.808606792136021, 0.0, 0.0, 0.0, -0.9111986992873469, 5.362862739910923, 4.495324132308462, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6177567582580967, 0.38039525218264447, 0.37934078500465196], 0.010186078857427224, 0.2366140514268097), [11.921598844654353, 0.0, 0.0, 0.0, 7.200411754134824, 89.02612612758858, 98.32074510763668, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6781091106154422, 0.44334927922889245, 0.36064371233973214], 0.01036251002724151, 0.2743759198193091), [9.314269146067007, 0.0, 0.0, 0.0, 8.622634737411559, 10.442703018323094, 2.8516623050362013, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.20158107237490663, 0.3238946945648584, 0.24399963650509682], 0.009664372151238956, 0.47733204119516204), [7.6745848038899, 0.0, 0.0, 0.0, -6.292867218536123, -1.9303407565718314, -4.440111319869195, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.18036026635324287, 0.173123936892006, 0.6038823023290261], 0.010016593230124706, 0.4401491209134364), [7.332967741437809, 0.0, 0.0, 0.0, -9.697414526287979, -8.79693777899164, -1.907340053628442, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.072210006218703, 0.3521154604071077, 0.4644130786564624], 0.0037743609975635275, 0.17728847529212788), [7.947029043250998, 0.0, 0.0, 0.0, -1.1234362906646078, 4.290370818176258, 6.7821312097650095, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8247874340282866, 0.5795916665384359, 0.8038668590137469], 0.0035401668870093193, 0.6409979037657155), [6.637146429694789, 0.0, 0.0, 0.0, 3.5215079301835996, 3.242536913859295, 4.5734372311785485, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], Val{5}(), 50), StaticArraysCore.SVector{2, Int32}[], UnitRange{Int64}[], UnitRange{Int64}[], DerivativesSwitch{true, true, true}())
The initial creation of the octree will create uniformly sized and spaced branches in each level. These branches are not centered or optimally sized with relation to the bodies they contain. As a default, the fmm!
call resizes and recenters these branches to utilize the smallest possible radius that contains all the bodies in each branch[3]. This feature can be toggled with the source_shrink_recenter
and target_shrink_recenter
parameters.
target_system = generate_gravitational(123, 100)
+ nearfield=false, farfield=true, self_induced=true) # nearfield not evaluated
(SingleTree{Float64, Vector{Tuple{Main.Body{Float64}, Vector{Float64}}}, 5}(SingleBranch{Float64}[SingleBranch{Float64}(1:100, 8, 2:9, 0, -1, [0.49850630217496006, 0.5029084590406193, 0.4970227729348794], 0.8572644572282587, 0.8572644572282587, [-0.49494186514743355, 0.49494186514743355, -0.49494186514743355, 0.49494186514743355, -0.49494186514743355, 0.49494186514743355], [0.49494186514743355, 0.49494186514743355, 0.49494186514743355], 0.0, 0.0, fill(0.0), [-48.34870113041748 0.0; 0.0 0.0;;; 2.598422019775752 0.0; 0.0 0.0;;; -1.2227362282002523 0.0; 0.8450131042390987 0.0;;; … ;;; -8.791709687591729e-5 0.0; -0.0004287156900488262 0.0;;; 8.822613231853985e-5 0.0; -0.00020008302331153626 0.0;;; -1.2615951275491288e-5 0.0; -3.065550426595302e-6 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871910065744, 139871853565472, 0))), SingleBranch{Float64}(1:14, 0, 10:9, 1, 1, [0.2510353696012433, 0.25543752646690254, 0.24955184036116262], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [-6.487390818499682 0.0; 0.0 0.0;;; 0.1316240843801879 0.0; 0.0 0.0;;; 0.025249123866722074 0.0; 0.110233400590797 0.0;;; … ;;; -3.455130567368021e-6 0.0; 5.924004312810844e-7 0.0;;; 1.5153888935850128e-6 0.0; -1.7047891151365984e-6 0.0;;; 1.5070525582333026e-7 0.0; 1.8849553081710956e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.2148612382952998 0.0; -0.0 0.0;;; -0.04833896697010254 0.0; -0.08941268169127015 0.0;;; … ;;; 3.5751904359505736e-6 0.0; 3.0080507578758053e-7 0.0;;; 3.8236458599367976e-7 0.0; 8.757176386082573e-7 0.0;;; -5.567979953388733e-8 0.0; 7.122692732518039e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871119281072, 139871853565216, 0))), SingleBranch{Float64}(15:32, 0, 10:9, 1, 2, [0.7459772347486768, 0.25543752646690254, 0.24955184036116262], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [-11.124170053937009 0.0; 0.0 0.0;;; 0.41138770543633796 0.0; 0.0 0.0;;; 0.016803023250878363 0.0; -0.14477677533550787 0.0;;; … ;;; -8.963509625362107e-6 0.0; 4.693012478346667e-6 0.0;;; 4.410168138692953e-6 0.0; -2.126045985106235e-7 0.0;;; -1.8361776114546595e-8 0.0; -2.1883614233265213e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.11109187197856953 0.0; -0.0 0.0;;; -0.09395587638099494 0.0; -0.03393406206661734 0.0;;; … ;;; -3.0928893153242635e-7 0.0; -5.266357454009592e-7 0.0;;; -8.453485198034652e-8 0.0; -4.5314409979717737e-7 0.0;;; 1.3384370562270982e-8 0.0; -8.18136577012236e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871910064848, 139871853566848, 0))), SingleBranch{Float64}(33:42, 0, 10:9, 1, 3, [0.2510353696012433, 0.7503793916143361, 0.24955184036116262], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [-5.116346939838825 0.0; 0.0 0.0;;; -0.08994400460681298 0.0; 0.0 0.0;;; -0.13497721301696344 0.0; 0.06706823073367696 0.0;;; … ;;; -1.0362892970772102e-6 0.0; 1.2247154898001747e-6 0.0;;; -1.868656271304562e-7 0.0; 1.6661679454393324e-6 0.0;;; 6.543631075683181e-7 0.0; -6.940763763815243e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.1902545870569238 0.0; -0.0 0.0;;; -0.08523619914991601 0.0; 0.10063606184199078 0.0;;; … ;;; 4.515701992660869e-6 0.0; 2.690965808809799e-6 0.0;;; 2.2681808274429954e-6 0.0; -7.785616815693268e-7 0.0;;; 1.2086933929990936e-7 0.0; -3.097138724670615e-7 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871910065296, 139871853566928, 0))), SingleBranch{Float64}(43:55, 0, 10:9, 1, 4, [0.7459772347486768, 0.7503793916143361, 0.24955184036116262], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [-6.531648389278439 0.0; 0.0 0.0;;; 0.27836630809952023 0.0; 0.0 0.0;;; 0.0024199382270112084 0.0; 0.3732722019731095 0.0;;; … ;;; 3.376714829662012e-6 0.0; -2.67253441421499e-6 0.0;;; -1.3437328271781197e-6 0.0; 8.280933433509673e-7 0.0;;; -2.6353089381680604e-7 0.0; -4.924657915182052e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.10425315723209527 0.0; -0.0 0.0;;; -0.04040250617839929 0.0; -0.04562408503868281 0.0;;; … ;;; 1.3994426612384809e-7 0.0; -9.646789543011186e-8 0.0;;; 5.8163042620289284e-8 0.0; 1.4387157402797034e-8 0.0;;; 3.2488834697645844e-9 0.0; 6.2058798109508465e-9 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871119281072, 139871853568192, 139871112307392))), SingleBranch{Float64}(56:68, 0, 10:9, 1, 5, [0.2510353696012433, 0.25543752646690254, 0.7444937055085962], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [-6.660580658394574 0.0; 0.0 0.0;;; -0.395153340334315 0.0; 0.0 0.0;;; 0.05979789873527955 0.0; 0.07530541218541535 0.0;;; … ;;; 2.090523898062051e-6 0.0; -2.515462436886501e-6 0.0;;; 1.3306773654521538e-6 0.0; 8.501110961871042e-7 0.0;;; -4.5790897504950176e-7 0.0; 1.3805850178672174e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.1406114031795701 0.0; 0.0 0.0;;; 0.04115679478744828 0.0; -0.03533755162400021 0.0;;; … ;;; -1.2881546024813352e-7 0.0; -2.0655710448954946e-7 0.0;;; -4.840981119340681e-8 0.0; -1.5172010562775518e-8 0.0;;; -3.596485511575488e-9 0.0; 1.545042368324494e-9 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871853567504, 139871824730784, 0))), SingleBranch{Float64}(69:78, 0, 10:9, 1, 6, [0.7459772347486768, 0.25543752646690254, 0.7444937055085962], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [-5.009402189699274 0.0; 0.0 0.0;;; -0.19304510892164647 0.0; 0.0 0.0;;; 0.12963654004199454 0.0; 0.10016855294092004 0.0;;; … ;;; -2.032871463751076e-6 0.0; 1.1604382246619326e-6 0.0;;; 1.6073455016687304e-6 0.0; 7.525148568942718e-7 0.0;;; -2.1131812349704138e-7 0.0; -2.403269261044048e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.05941950550840777 0.0; -0.0 0.0;;; -0.06984898585556935 0.0; 0.10325321360106476 0.0;;; … ;;; -6.688472512156468e-7 0.0; -1.4501297809812144e-7 0.0;;; 4.3233604883670166e-7 0.0; -4.1299565937718063e-7 0.0;;; -4.1888246519238254e-8 0.0; -2.4735114753799555e-7 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871127934816, 139871824730784, 0))), SingleBranch{Float64}(79:86, 0, 10:9, 1, 7, [0.2510353696012433, 0.7503793916143361, 0.7444937055085962], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [-3.769527893701526 0.0; 0.0 0.0;;; -0.01938418608836119 0.0; 0.0 0.0;;; -0.0011822923413632442 0.0; -0.1457672462486248 0.0;;; … ;;; -1.035853369522652e-5 0.0; 1.2914125498780046e-6 0.0;;; -2.4874690174267746e-7 0.0; -3.1553943207752724e-6 0.0;;; 4.921174899074237e-7 0.0; 2.978833721286661e-8 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.19774130005920343 0.0; -0.0 0.0;;; 0.10337420516639845 0.0; -0.003702501499532632 0.0;;; … ;;; 3.0951077862846165e-6 0.0; -3.337097810420304e-7 0.0;;; -9.336410389602992e-7 0.0; 1.3462336691028458e-7 0.0;;; 9.711269933660484e-8 0.0; -1.7571838450287563e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871763235632, 139871763235632, 139871763235632))), SingleBranch{Float64}(87:100, 0, 10:9, 1, 8, [0.7459772347486768, 0.7503793916143361, 0.7444937055085962], 0.42863222861412936, 0.42863222861412936, [-0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677, -0.24747093257371677, 0.24747093257371677], [0.24747093257371677, 0.24747093257371677, 0.24747093257371677], 0.0, 0.0, fill(0.0), [-3.6496341870681537 0.0; 0.0 0.0;;; -0.04231060050009968 0.0; 0.0 0.0;;; -0.05660139398222258 0.0; -0.12020325670765074 0.0;;; … ;;; 1.2674714042901395e-7 0.0; 9.742117200541327e-7 0.0;;; 6.169136545969979e-7 0.0; -3.979999499773143e-7 0.0;;; 1.6497981578864858e-7 0.0; 5.910575433895744e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.0593731535051507 0.0; -0.0 0.0;;; 0.08539386253795012 0.0; 0.039405099639804875 0.0;;; … ;;; -1.6817191281206375e-8 0.0; -5.988143577896676e-8 0.0;;; 3.0556184471062655e-8 0.0; -1.9110878655930648e-7 0.0;;; -3.415675534882339e-8 0.0; 5.09167765671537e-8 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139871763235632, 139871763235632, 139871708131376)))], UnitRange{Int64}[1:1, 2:9], [2, 3, 4, 5, 6, 7, 8, 9], [11, 19, 33, 43, 59, 63, 67, 68, 69, 72 … 20, 24, 31, 37, 42, 48, 60, 74, 94, 100], [69, 87, 70, 71, 79, 43, 56, 57, 44, 88 … 12, 55, 30, 99, 31, 32, 13, 68, 14, 100], Tuple{Main.Body{Float64}, Vector{Float64}}[(Main.Body{Float64}([0.9191811597933967, 0.42601923740838954, 0.7465863168484385], 0.00551624732815934, 0.2538490889415096), [7.0834787492030005, 0.0, 0.0, 0.0, 5.568735643477791, 2.9213884843016737, 0.7633475677477748, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8192008435733007, 0.9541592624784624, 0.8458950823510601], 0.0014709561750558223, 0.03209667335274724), [5.114232575764009, 0.0, 0.0, 0.0, 2.446182605378621, 4.41119482090726, 3.440180697344876, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.586748700554989, 0.12181263792534469, 0.7894931647499924], 0.0016174951280755708, 0.8935369466209786), [6.585365931828452, 0.0, 0.0, 0.0, 2.5334789856996256, -5.935281910533853, 5.877738846695876, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6192588014774537, 0.47764531343080796, 0.8041934288169849], 0.003639098305331564, 0.8236563299357046), [7.314225348781349, 0.0, 0.0, 0.0, 2.0263196413417575, -0.5909579553411834, 6.438131407639304, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.12353811904859124, 0.7400202596259494, 0.7057473220960516], 0.004975260027225807, 0.9340155879013086), [5.994006655657172, 0.0, 0.0, 0.0, -3.6150300092368397, 3.588312709800555, 2.445983480158574, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9919607797239652, 0.8036971367794874, 0.29827230692896456], 0.006659427674753824, 0.4842893268146866), [6.3093512714054905, 0.0, 0.0, 0.0, 6.811100230860857, 3.229004706340305, 0.7635631719803121, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.49265789199054244, 0.17985285886739166, 0.6397154045236242], 0.004022070032387327, 0.6922349538863742), [7.856042192681273, 0.0, 0.0, 0.0, 0.5375760890909462, -5.141800886434623, 1.9448732399847593, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.22768758746068596, 0.26780944724527167, 0.8309795986773825], 0.006802835099514221, 0.6911617055492341), [8.668207473779663, 0.0, 0.0, 0.0, -3.782240224623742, 18.504359731864223, 92.23746117912798, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.621178864455285, 0.7425206336869923, 0.15487161620983314], 0.0010425988209884726, 0.09206661519876747), [7.388934820369321, 0.0, 0.0, 0.0, -0.5191138373209423, 4.756088137496654, -3.410201822139256, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5733898483119126, 0.5900840309886971, 0.7659266276192337], 0.00633005068065063, 0.37737321139310276), [7.64606632116185, 0.0, 0.0, 0.0, 0.09461688248299382, 7.241804506257593, 4.346937745416622, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) … (Main.Body{Float64}([0.3562026836409853, 0.3635243844573359, 0.309727986680287], 0.0038713948967191466, 0.43490959394031214), [8.717797558762465, 0.0, 0.0, 0.0, -5.329362059354715, 1.927215437532789, 2.1413599561398255, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6547290646713112, 0.8311844039711347, 0.3538049975932579], 0.004154302641783906, 0.5842214092626906), [6.95468678089278, 0.0, 0.0, 0.0, -0.26889425383548615, 5.455632900159945, 0.18581332796087613, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5388794936906567, 0.04350921485134718, 0.23629199234128806], 0.006559279199653211, 0.9196974029361853), [7.405157852909614, 0.0, 0.0, 0.0, -0.6529358028805777, -11.2963043390672, -2.91169792948822, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5109351365074641, 0.7269107204213763, 0.8057341233600875], 0.002916397428800248, 0.13080774080166646), [6.808606792136021, 0.0, 0.0, 0.0, -0.9111986992873469, 5.362862739910923, 4.495324132308462, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6177567582580967, 0.38039525218264447, 0.37934078500465196], 0.010186078857427224, 0.2366140514268097), [11.921598844654353, 0.0, 0.0, 0.0, 7.200411754134824, 89.02612612758858, 98.32074510763668, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6781091106154422, 0.44334927922889245, 0.36064371233973214], 0.01036251002724151, 0.2743759198193091), [9.314269146067007, 0.0, 0.0, 0.0, 8.622634737411559, 10.442703018323094, 2.8516623050362013, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.20158107237490663, 0.3238946945648584, 0.24399963650509682], 0.009664372151238956, 0.47733204119516204), [7.6745848038899, 0.0, 0.0, 0.0, -6.292867218536123, -1.9303407565718314, -4.440111319869195, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.18036026635324287, 0.173123936892006, 0.6038823023290261], 0.010016593230124706, 0.4401491209134364), [7.332967741437809, 0.0, 0.0, 0.0, -9.697414526287979, -8.79693777899164, -1.907340053628442, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.072210006218703, 0.3521154604071077, 0.4644130786564624], 0.0037743609975635275, 0.17728847529212788), [7.947029043250998, 0.0, 0.0, 0.0, -1.1234362906646078, 4.290370818176258, 6.7821312097650095, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8247874340282866, 0.5795916665384359, 0.8038668590137469], 0.0035401668870093193, 0.6409979037657155), [6.637146429694789, 0.0, 0.0, 0.0, 3.5215079301835996, 3.242536913859295, 4.5734372311785485, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], Val{5}(), 50), Tuple{Int32, Int32, Int64}[], StaticArraysCore.SVector{2, Int32}[], DerivativesSwitch{true, true, true}())
The initial creation of the octree will create uniformly sized and spaced branches in each level. These branches are not centered or optimally sized with relation to the bodies they contain. As a default, the fmm!
call resizes and recenters these branches to utilize the smallest possible radius that contains all the bodies in each branch[3]. This feature can be toggled with the source_shrink_recenter
and target_shrink_recenter
parameters.
target_system = generate_gravitational(123, 100)
source_system = generate_gravitational(321, 100)
fmm.fmm!(target_system, source_system,
source_shrink_recenter=true, target_shrink_recenter=true) # standard run (defaults)
fmm.fmm!(target_system, source_system,
- source_shrink_recenter=false, target_shrink_recenter=false) # no branch recentering
(SingleTree{Float64, Vector{Tuple{Main.Body{Float64}, Vector{Float64}}}, 5}(SingleBranch{Float64}[SingleBranch{Float64}(1:100, 8, 2:9, 0, -1, [0.49849075893959255, 0.5011246180164968, 0.50101931980297], 0.49753332129227074, [-49.209733528008485 0.0; 0.0 0.0;;; 3.235503852070557 0.0; 0.0 0.0;;; 0.02681865248285875 0.0; 0.9591193094494829 0.0;;; … ;;; -0.0004469512083583769 0.0; -0.0001593241956586191 0.0;;; -0.0002871052995659781 0.0; -0.0003190451687766938 0.0;;; -7.588266430169105e-6 0.0; -8.400184364295123e-5 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387369680, 139716387141888, 1519571675789))), SingleBranch{Float64}(1:13, 0, 10:9, 1, 1, [0.24972409829345718, 0.2523579573703614, 0.2522526591568346], 0.24876666064613537, [-6.326393509059363 0.0; 0.0 0.0;;; 0.10172908853834879 0.0; 0.0 0.0;;; -0.07897900882246582 0.0; 0.03842446525558845 0.0;;; … ;;; -9.655530668433345e-7 0.0; -5.592925868629596e-7 0.0;;; 1.1757087124649147e-6 0.0; 2.391906416191541e-6 0.0;;; -3.8953000638580764e-8 0.0; -4.372963917986633e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.21988669568485109 0.0; 0.0 0.0;;; -0.009072982836663246 0.0; -0.0807848408169367 0.0;;; … ;;; 6.640110287989058e-7 0.0; 1.9041912535102654e-6 0.0;;; 3.6074759162369163e-7 0.0; -1.7309101958119792e-7 0.0;;; -1.569552638656214e-8 0.0; -2.5078811456687917e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (1, 0, 0))), SingleBranch{Float64}(14:23, 0, 10:9, 1, 2, [0.7472574195857279, 0.2523579573703614, 0.2522526591568346], 0.24876666064613537, [-5.505985520323303 0.0; 0.0 0.0;;; -0.08935376761589264 0.0; 0.0 0.0;;; 0.07470445052396994 0.0; -0.23211726377071046 0.0;;; … ;;; -2.392758173695492e-6 0.0; -2.7522839300098923e-7 0.0;;; 1.2870322712791405e-6 0.0; 8.633199128089602e-7 0.0;;; -1.432464313580054e-7 0.0; 3.403253642846997e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.18612829398667197 0.0; 0.0 0.0;;; -0.039883017625346906 0.0; -0.10881215708761188 0.0;;; … ;;; 3.1494240254279436e-6 0.0; 1.7899698505317833e-6 0.0;;; 2.304644782594209e-7 0.0; -1.3798323055816275e-6 0.0;;; -1.7120894951022973e-7 0.0; 3.218698082968668e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387761808, 139716387135504, 0))), SingleBranch{Float64}(24:40, 0, 10:9, 1, 3, [0.24972409829345718, 0.7498912786626322, 0.2522526591568346], 0.24876666064613537, [-7.986155913622251 0.0; 0.0 0.0;;; -0.17961782829081357 0.0; 0.0 0.0;;; -0.1708311757232731 0.0; 0.03136313659178587 0.0;;; … ;;; -6.066729814028882e-6 0.0; 2.4234001902523587e-6 0.0;;; 2.327516919788084e-6 0.0; 4.871503604644382e-7 0.0;;; 2.4779318915245518e-8 0.0; -5.833921797828204e-8 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.23123037091208298 0.0; 0.0 0.0;;; -0.04900538737735943 0.0; 0.09175926185175516 0.0;;; … ;;; 4.485918956630448e-6 0.0; -4.465435544644365e-7 0.0;;; 4.3030079417319214e-7 0.0; -1.0429330819021147e-6 0.0;;; -6.453452663209182e-8 0.0; -7.83577196866388e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 415382006501))), SingleBranch{Float64}(41:57, 0, 10:9, 1, 4, [0.7472574195857279, 0.7498912786626322, 0.2522526591568346], 0.24876666064613537, [-9.931355245362722 0.0; 0.0 0.0;;; 0.004614587660418196 0.0; 0.0 0.0;;; 0.10229082910864945 0.0; 0.3430918058130857 0.0;;; … ;;; -5.8056578563028725e-6 0.0; -3.676520371447365e-6 0.0;;; 1.9707645764181104e-6 0.0; -1.126264814443797e-6 0.0;;; 4.6062541911518666e-7 0.0; -7.362398838063609e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.2483301379555629 0.0; 0.0 0.0;;; -0.04049668029331138 0.0; 0.11830360519660482 0.0;;; … ;;; 7.332258441837855e-6 0.0; -4.818227525166921e-6 0.0;;; 6.296600514955141e-7 0.0; 2.449994518659487e-6 0.0;;; -2.5397024192420015e-7 0.0; -1.9913483563355406e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716326100080, 139716326100112, 139716188884736))), SingleBranch{Float64}(58:71, 0, 10:9, 1, 5, [0.24972409829345718, 0.2523579573703614, 0.7497859804491054], 0.24876666064613537, [-6.0812379817404665 0.0; 0.0 0.0;;; 0.25006763569186036 0.0; 0.0 0.0;;; -0.31820443039978746 0.0; 0.12220137601869531 0.0;;; … ;;; 3.886196424852797e-6 0.0; -7.451574546740225e-6 0.0;;; -1.5655251626942046e-6 0.0; 1.3488066967558975e-6 0.0;;; -2.6514766795446883e-7 0.0; -1.0394863598276786e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.23600705383401233 0.0; 0.0 0.0;;; 0.007799304330178003 0.0; 0.012439246336657786 0.0;;; … ;;; -1.4574470769163516e-8 0.0; 1.5992824761514576e-9 0.0;;; -2.835160161464411e-10 0.0; -3.5835678290697956e-10 0.0;;; 1.903723274446139e-12 0.0; -5.3571781615939486e-12 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387369680, 139716387149952, 139716240549472))), SingleBranch{Float64}(72:82, 0, 10:9, 1, 6, [0.7472574195857279, 0.2523579573703614, 0.7497859804491054], 0.24876666064613537, [-5.643660411433685 0.0; 0.0 0.0;;; -0.09738759296933737 0.0; 0.0 0.0;;; 0.30570347319695684 0.0; 0.2359164756883997 0.0;;; … ;;; -9.828099569702297e-7 0.0; -4.228517737531717e-7 0.0;;; 2.722456045838181e-6 0.0; -9.867573156177317e-7 0.0;;; -2.8843207756702224e-7 0.0; 2.1892520476678593e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.13724763757441194 0.0; 0.0 0.0;;; -0.04184953211719816 0.0; 0.07154727061705074 0.0;;; … ;;; 7.307988510028463e-7 0.0; 1.2409626176729771e-8 0.0;;; 1.4022411841898488e-7 0.0; -2.3065426719117736e-7 0.0;;; -1.5496615773161006e-8 0.0; -2.8685996288531465e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387146816, 139716302035616, 145715636042))), SingleBranch{Float64}(83:89, 0, 10:9, 1, 7, [0.24972409829345718, 0.7498912786626322, 0.7497859804491054], 0.24876666064613537, [-2.3207471469996026 0.0; 0.0 0.0;;; 0.09585500095857492 0.0; 0.0 0.0;;; -0.034594650561498956 0.0; -0.04020353614176252 0.0;;; … ;;; 3.931149601398332e-6 0.0; -1.9070778716987882e-6 0.0;;; 4.2619416834337335e-7 0.0; 6.012393369990659e-7 0.0;;; -1.2968067700147368e-7 0.0; -1.7486311823425472e-8 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.14971788789451468 0.0; 0.0 0.0;;; -0.10199693754953348 0.0; -0.004039834025586983 0.0;;; … ;;; -1.5142626441460724e-6 0.0; -1.80684298411887e-7 0.0;;; 6.688133151638003e-7 0.0; 1.0679859224139595e-7 0.0;;; -9.055091853819892e-8 0.0; -1.816085482072339e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387288384, 139716387284352, 139716387285248))), SingleBranch{Float64}(90:100, 0, 10:9, 1, 8, [0.7472574195857279, 0.7498912786626322, 0.7497859804491054], 0.24876666064613537, [-5.414197799467094 0.0; 0.0 0.0;;; 0.5897761356473473 0.0; 0.0 0.0;;; -0.11387613704005295 0.0; -0.009808782041582427 0.0;;; … ;;; 1.152786650059206e-5 0.0; -4.517396982831503e-6 0.0;;; -4.140305435424666e-6 0.0; -1.5665038040260306e-6 0.0;;; 1.2470773517558522e-7 0.0; 2.0253872196586884e-7 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.2109597908590688 0.0; 0.0 0.0;;; 0.09347365978668326 0.0; -0.08394706203777819 0.0;;; … ;;; -3.5374566227538475e-6 0.0; -4.908528487673616e-6 0.0;;; -2.139788952278572e-6 0.0; -4.6632140843711356e-7 0.0;;; -2.2673535631629022e-7 0.0; 1.289726603228056e-7 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387296896, 139716387292864, 139716387293760)))], UnitRange{Int64}[1:1, 2:9], [2, 3, 4, 5, 6, 7, 8, 9], [8, 19, 24, 25, 30, 33, 35, 43, 52, 55 … 37, 41, 42, 49, 64, 71, 78, 79, 87, 88], [90, 83, 24, 72, 58, 59, 25, 1, 60, 73 … 23, 38, 80, 56, 39, 81, 82, 40, 13, 57], Tuple{Main.Body{Float64}, Vector{Float64}}[(Main.Body{Float64}([0.7287348331279035, 0.8645178072081, 0.9863586950447876], 0.002824412632887574, 0.3155425281087243), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.04871498957839171, 0.5228239956008278, 0.9981161184046683], 0.0010354523583936332, 0.10074227409525549), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.26339547338830394, 0.8205923530535013, 0.013801744155504059], 0.000561123611422205, 0.48127815547923203), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9156175145346829, 0.2751207698440503, 0.5246024619099758], 0.0098534859774698, 0.26935622770690937), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.23794338253051606, 0.07126180162893991, 0.8268192848648235], 0.005893848251548706, 0.9623280302748543), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.34419014790511104, 0.05942329652687128, 0.638243835469361], 0.00644242207338283, 0.6288483051985535), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.15805649008974942, 0.5709938439335004, 0.1952963518956614], 0.008603607634628693, 0.5087196531195634), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.4660552366407049, 0.13111968284280429, 0.1908671255470663], 0.010673064683743582, 0.8267772979915037), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.2548517099678951, 0.4198627396823058, 0.721065848690685], 0.003035717937974793, 0.189926270491526), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8858526395090768, 0.46145248100070335, 0.9250567869081467], 0.001049518093285898, 0.5832151279544228), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) … (Main.Body{Float64}([0.5296331054105041, 0.3321239926210552, 0.06612436517016262], 0.002175180875437042, 0.542909809886388), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.2721094519411936, 0.5745316878158806, 0.31571722739191854], 0.005050715677355731, 0.7277739175207515), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.7434626951201386, 0.36289922364912086, 0.7061441002953883], 0.006725458802148647, 0.407131657744786), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8013471104408885, 0.5720653332405079, 0.27403203500462225], 0.007524167273081227, 0.7565384544369875), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.46830452243845555, 0.569647595880568, 0.1541232993049313], 0.0011190004051976465, 0.5368528346904301), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9017878088237389, 0.40553596320169993, 0.7807749436261482], 0.0010846429951816498, 0.8565385784764896), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8903519608198294, 0.3360570216047577, 0.8870336180235173], 0.009269785903194445, 0.8071347497510072), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.4332426219969675, 0.847902053417351, 0.4834830300689176], 0.010282220561264157, 0.13342547527751936), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.08815441665958379, 0.27050392304368787, 0.032365963471983505], 0.0061883460330328845, 0.47163404328391867), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9838646299789375, 0.8308846392492549, 0.003922521201271678], 0.002568471846652083, 0.6464273083957023), [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], Val{5}(), 50), SingleTree{Float64, Vector{Tuple{Main.Body{Float64}, Vector{Float64}}}, 5}(SingleBranch{Float64}[SingleBranch{Float64}(1:100, 8, 2:9, 0, -1, [0.49850630217496006, 0.5029084590406193, 0.4970227729348794], 0.4949468145660851, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716240539664, 139716240540464, 145715636042))), SingleBranch{Float64}(1:14, 0, 10:9, 1, 1, [0.2510328948919175, 0.25543505175757675, 0.24954936565183686], 0.24747340728304254, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.2148637130046256 0.0; -0.0 0.0;;; -0.04834020432476547 0.0; -0.08941144433660723 0.0;;; … ;;; 3.5752497223563428e-6 0.0; 3.006318555294376e-7 0.0;;; 3.8241925632138014e-7 0.0; 8.756852584356714e-7 0.0;;; -5.567255439862998e-8 0.0; 7.122976820673655e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716326284336, 139716326284368, 139716387135496))), SingleBranch{Float64}(15:32, 0, 10:9, 1, 2, [0.7459797094580026, 0.25543505175757675, 0.24954936565183686], 0.24747340728304254, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.11109434668789528 0.0; -0.0 0.0;;; -0.09395711373565785 0.0; -0.0339352994212802 0.0;;; … ;;; -3.093083615342297e-7 0.0; -5.266957581159998e-7 0.0;;; -8.45286066948681e-8 0.0; -4.5318545488438834e-7 0.0;;; 1.3388476395864516e-8 0.0; -8.18196465630313e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715619582896, 139716302035616, 139716240549472))), SingleBranch{Float64}(33:42, 0, 10:9, 1, 3, [0.2510328948919175, 0.7503818663236619, 0.24954936565183686], 0.24747340728304254, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.19025706176624954 0.0; -0.0 0.0;;; -0.08523496179525314 0.0; 0.10063729919665365 0.0;;; … ;;; 4.515975081865985e-6 0.0; 2.6908857868788118e-6 0.0;;; 2.2681790868948097e-6 0.0; -7.786951926686422e-7 0.0;;; 1.2084952396660516e-7 0.0; -3.097235599682232e-7 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387154880, 139716387155328, 145715636042))), SingleBranch{Float64}(43:55, 0, 10:9, 1, 4, [0.7459797094580026, 0.7503818663236619, 0.24954936565183686], 0.24747340728304254, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.10425563194142104 0.0; -0.0 0.0;;; -0.04040126882373641 0.0; -0.04562532239334573 0.0;;; … ;;; 1.3996120396479463e-7 0.0; -9.646181946431826e-8 0.0;;; 5.816317826369127e-8 0.0; 1.4394267248631393e-8 0.0;;; 3.2480223567985996e-9 0.0; 6.206399328437309e-9 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387157568, 139716387158016, 414953222741))), SingleBranch{Float64}(56:68, 0, 10:9, 1, 5, [0.2510328948919175, 0.25543505175757675, 0.744496180217922], 0.24747340728304254, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; 0.14061387788889593 0.0; 0.0 0.0;;; 0.04115555743278536 0.0; -0.035336314269337296 0.0;;; … ;;; -1.288070786691546e-7 0.0; -2.0654704149134432e-7 0.0;;; -4.8404286408038316e-8 0.0; -1.51707993788448e-8 0.0;;; -3.595926037719477e-9 0.0; 1.544749903303687e-9 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139716387160704, 139715615157728, 139716387147264))), SingleBranch{Float64}(69:78, 0, 10:9, 1, 6, [0.7459797094580026, 0.25543505175757675, 0.744496180217922], 0.24747340728304254, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.05941703079908202 0.0; -0.0 0.0;;; -0.06985022321023225 0.0; 0.1032519762464019 0.0;;; … ;;; -6.688757943059791e-7 0.0; -1.4504812423201137e-7 0.0;;; 4.323362110439875e-7 0.0; -4.1295023043996754e-7 0.0;;; -4.18706433955205e-8 0.0; -2.4735074430968403e-7 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 414657700120))), SingleBranch{Float64}(79:86, 0, 10:9, 1, 7, [0.2510328948919175, 0.7503818663236619, 0.744496180217922], 0.24747340728304254, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.19773882534987763 0.0; -0.0 0.0;;; 0.10337544252106134 0.0; -0.003701264144869725 0.0;;; … ;;; 3.095126144436569e-6 0.0; -3.3359544949065297e-7 0.0;;; -9.336790671507606e-7 0.0; 1.3458164455370796e-7 0.0;;; 9.71193839691501e-8 0.0; -1.7566838362957855e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (0, 0, 413075832919))), SingleBranch{Float64}(87:100, 0, 10:9, 1, 8, [0.7459797094580026, 0.7503818663236619, 0.744496180217922], 0.24747340728304254, [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; … ;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0;;; 0.0 0.0; 0.0 0.0], [1.0 0.0; 0.0 0.0;;; -0.0593706787958249 0.0; -0.0 0.0;;; 0.08539509989261301 0.0; 0.03940386228514198 0.0;;; … ;;; -1.6827227854645148e-8 0.0; -5.990511984334067e-8 0.0;;; 3.054235133952722e-8 0.0; -1.9110787243922576e-7 0.0;;; -3.415340917917519e-8 0.0; 5.0921396075492695e-8 0.0], [0.0 0.0; 0.0 0.0], ReentrantLock(nothing, 0x00000000, 0x00, Base.GenericCondition{Base.Threads.SpinLock}(Base.IntrusiveLinkedList{Task}(nothing, nothing), Base.Threads.SpinLock(0)), (139715789922704, 139715789922752, 1519571675789)))], UnitRange{Int64}[1:1, 2:9], [2, 3, 4, 5, 6, 7, 8, 9], [11, 19, 33, 43, 59, 63, 67, 68, 69, 72 … 20, 24, 31, 37, 42, 48, 60, 74, 94, 100], [69, 87, 70, 71, 79, 43, 56, 57, 44, 88 … 12, 55, 30, 99, 31, 32, 13, 68, 14, 100], Tuple{Main.Body{Float64}, Vector{Float64}}[(Main.Body{Float64}([0.9191811597933967, 0.42601923740838954, 0.7465863168484385], 0.00551624732815934, 0.2538490889415096), [17.271409969161304, 0.0, 0.0, 0.0, 41.685412355141416, 34.12426438870282, -51.63876083740611, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8192008435733007, 0.9541592624784624, 0.8458950823510601], 0.0014709561750558223, 0.03209667335274724), [11.529739095286155, 0.0, 0.0, 0.0, 1.024496302655218, 10.679868569840236, 10.166694863850497, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.586748700554989, 0.12181263792534469, 0.7894931647499924], 0.0016174951280755708, 0.8935369466209786), [13.46622737210304, 0.0, 0.0, 0.0, 4.201427260478692, -11.777746989315899, 8.494900903588235, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6192588014774537, 0.47764531343080796, 0.8041934288169849], 0.003639098305331564, 0.8236563299357046), [16.810905005346296, 0.0, 0.0, 0.0, 20.653133771733803, 22.29084743955388, 12.956920331242188, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.12353811904859124, 0.7400202596259494, 0.7057473220960516], 0.004975260027225807, 0.9340155879013086), [13.212106090876661, 0.0, 0.0, 0.0, -6.564084687557748, 10.714720577279024, 7.1489651530156975, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.9919607797239652, 0.8036971367794874, 0.29827230692896456], 0.006659427674753824, 0.4842893268146866), [15.293301715719982, 0.0, 0.0, 0.0, 20.840068737911185, 6.203972731398467, 2.3564006118821963, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.49265789199054244, 0.17985285886739166, 0.6397154045236242], 0.004022070032387327, 0.6922349538863742), [16.030214365478127, 0.0, 0.0, 0.0, 4.854825245033792, -12.82436694878877, 9.932648614159953, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.22768758746068596, 0.26780944724527167, 0.8309795986773825], 0.006802835099514221, 0.6911617055492341), [13.477674670011098, 0.0, 0.0, 0.0, -7.615430967959103, 0.8284024454950295, 11.665202214285912, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.621178864455285, 0.7425206336869923, 0.15487161620983314], 0.0010425988209884726, 0.09206661519876747), [17.722712907499606, 0.0, 0.0, 0.0, -9.940219848256183, 17.727356485985396, -29.098711105724526, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5733898483119126, 0.5900840309886971, 0.7659266276192337], 0.00633005068065063, 0.37737321139310276), [16.05489877164097, 0.0, 0.0, 0.0, -1.3860752481739533, 7.346902899243912, 19.030178738198078, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]) … (Main.Body{Float64}([0.3562026836409853, 0.3635243844573359, 0.309727986680287], 0.0038713948967191466, 0.43490959394031214), [17.98003272398291, 0.0, 0.0, 0.0, -6.176928042529583, -6.83720001434035, -5.104865976947373, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6547290646713112, 0.8311844039711347, 0.3538049975932579], 0.004154302641783906, 0.5842214092626906), [19.759661981521948, 0.0, 0.0, 0.0, 2.1460904804827003, 22.402074129288803, 38.03301983987145, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5388794936906567, 0.04350921485134718, 0.23629199234128806], 0.006559279199653211, 0.9196974029361853), [15.25309168181086, 0.0, 0.0, 0.0, 10.352682001138295, -27.645326895875023, -2.5692266359007827, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.5109351365074641, 0.7269107204213763, 0.8057341233600875], 0.002916397428800248, 0.13080774080166646), [14.120390177961934, 0.0, 0.0, 0.0, -1.770561231400227, 8.777886446209552, 15.293358878789466, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6177567582580967, 0.38039525218264447, 0.37934078500465196], 0.010186078857427224, 0.2366140514268097), [19.989481091602663, 0.0, 0.0, 0.0, 8.002207700492232, -27.907771334220058, -16.494951316871173, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.6781091106154422, 0.44334927922889245, 0.36064371233973214], 0.01036251002724151, 0.2743759198193091), [19.81705582450624, 0.0, 0.0, 0.0, 12.06418885791642, -5.798482118132713, -4.308943660676608, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.20158107237490663, 0.3238946945648584, 0.24399963650509682], 0.009664372151238956, 0.47733204119516204), [16.09145579771531, 0.0, 0.0, 0.0, -9.056889348091818, -6.4324259288317, -9.833126873177216, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.18036026635324287, 0.173123936892006, 0.6038823023290261], 0.010016593230124706, 0.4401491209134364), [14.946809903378847, 0.0, 0.0, 0.0, -14.889338356696868, 0.1483895783560294, 4.026318082371973, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.072210006218703, 0.3521154604071077, 0.4644130786564624], 0.0037743609975635275, 0.17728847529212788), [15.085750970541683, 0.0, 0.0, 0.0, -19.61109590484976, -9.907966126632697, 6.262829492967415, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]), (Main.Body{Float64}([0.8247874340282866, 0.5795916665384359, 0.8038668590137469], 0.0035401668870093193, 0.6409979037657155), [14.872272809760988, 0.0, 0.0, 0.0, 3.9248367357842517, 7.73617997006026, 12.068889746971752, 0.0, 0.0, 0.0 … 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0])], Val{5}(), 50), StaticArraysCore.SVector{2, Int32}[], UnitRange{Int64}[1:14, 1:14, 1:14, 1:14, 1:14, 1:14, 1:14, 1:14, 15:32, 15:32 … 79:86, 79:86, 87:100, 87:100, 87:100, 87:100, 87:100, 87:100, 87:100, 87:100], UnitRange{Int64}[1:13, 14:23, 24:40, 41:57, 58:71, 72:82, 83:89, 90:100, 1:13, 14:23 … 83:89, 90:100, 1:13, 14:23, 24:40, 41:57, 58:71, 72:82, 83:89, 90:100])
Settings
This document was generated with Documenter.jl version 1.7.0 on Saturday 2 November 2024. Using Julia version 1.11.1.