Using Coala within Shamrock to solve the Smoluchowski equation#

Imports

 9 import os
10
11 import numpy as np
12 import shamrock.external.coala as coala
13 from matplotlib import pyplot as plt
14
15 import shamrock

Where is coala located?

19 print(f"coala path : {coala.__file__}")
coala path : /usr/local/lib/python3.10/dist-packages/shamrock/external/coala/__init__.py

Use shamrock documentation style for matplotlib

23 shamrock.matplotlib.set_shamrock_mpl_style()

Parameters of the dust distribution & evolution

28 nbins = 20
29
30 massmax = 1e6
31 massmin = 1e-3
32 K0 = 1.0
33 Q = 5
34 eps = 1e-20
35 coeff_CFL = 0.3
36 t0 = 0.0

Function to run the tests for a given kernel

 41 def run_kernel_case(kernel):
 42
 43     cases = {
 44         "order k=0": {
 45             "kpol": 0,
 46         },
 47         "order k=1": {
 48             "kpol": 1,
 49         },
 50         "order k=2": {
 51             "kpol": 2,
 52         },
 53         "order k=3": {
 54             "kpol": 3,
 55         },
 56         # "order k=4": {
 57         #     "kpol": 4,
 58         # },
 59         # "order k=5": {
 60         #     "kpol": 5,
 61         # },
 62     }
 63
 64     if kernel == 0:
 65         dthydro = 100
 66         ndthydro = 300
 67     elif kernel == 1:
 68         dthydro = 1e-2
 69         ndthydro = 300
 70     elif kernel == 2:
 71         dthydro = 1e-1
 72         ndthydro = 500
 73     elif kernel == 3:
 74         dthydro = 1e-1
 75         ndthydro = 500
 76     else:
 77         raise ValueError("need to choose a kernel")
 78
 79     if kernel == 0:
 80         print("Test coala for kconst")
 81     elif kernel == 1:
 82         print("Test coala for kadd")
 83     elif kernel == 2:
 84         print("Test coala for k_Br")
 85     else:
 86         print("Test coala for k_dv")
 87
 88     massgrid, massbins = coala.init_grid_log(nbins, massmax, massmin)
 89
 90     for case in cases:
 91         kpol = cases[case]["kpol"]
 92         print("")
 93         print("Computing coala solver for k=%d" % (kpol))
 94         match kernel:
 95             case 0 | 1 | 2:
 96                 gij_init, gij, time_coag = coala.iterate_coag(
 97                     kernel,
 98                     K0,
 99                     nbins,
100                     kpol,
101                     dthydro,
102                     ndthydro,
103                     coeff_CFL,
104                     Q,
105                     eps,
106                     massgrid,
107                     massbins,
108                 )
109
110             case 3:
111                 # Brownian motion dv with constant approximation
112                 dv_Br = np.zeros((nbins, nbins))
113                 massmeanlog = np.sqrt(massgrid[0:nbins] * massgrid[1:])
114                 for i in range(nbins):
115                     for j in range(nbins):
116                         dv_Br[i, j] = np.sqrt(1.0 / massmeanlog[i] + 1.0 / massmeanlog[j])
117
118                 gij_init, gij, time_coag = coala.iterate_coag_kdv(
119                     kernel,
120                     K0,
121                     nbins,
122                     kpol,
123                     dthydro,
124                     ndthydro,
125                     coeff_CFL,
126                     Q,
127                     eps,
128                     massgrid,
129                     massbins,
130                     dv_Br,
131                 )
132
133             case _:
134                 print("Need to choose available kernel in kernel_collision.py.")
135
136         cases[case]["massgrid"] = massgrid
137         cases[case]["massbins"] = massbins
138         cases[case]["gij_init"] = gij_init
139         cases[case]["gij_end"] = gij
140         cases[case]["time"] = [t0, time_coag]
141
142     # compute ref solutions when needed
143     match kernel:
144         case 2:
145             # dv Brownian with analytic formula
146             nbins_ref = 100
147             massgrid_ref, massbins_ref = coala.init_grid_log(nbins_ref, massmax, massmin)
148
149             print("")
150             print("Computing coala solver for k_Br (k=0), ref solution")
151             gij_init_ref, gij_ref, time_coag_ref = coala.iterate_coag(
152                 kernel,
153                 K0,
154                 nbins_ref,
155                 0,
156                 dthydro,
157                 ndthydro,
158                 coeff_CFL,
159                 Q,
160                 eps,
161                 massgrid_ref,
162                 massbins_ref,
163             )
164
165         case 3:
166             # Brownian motion dv with constant approximation
167             nbins_ref = 100
168             massgrid_ref, massbins_ref = coala.init_grid_log(nbins_ref, massmax, massmin)
169
170             massmeanlog_ref = np.sqrt(massgrid_ref[0:nbins_ref] * massgrid_ref[1:])
171             dv_Br_ref = np.sqrt(1.0 / massmeanlog_ref[:, None] + 1.0 / massmeanlog_ref[None, :])
172
173             print("")
174             print("Computing coala solver for k_dv (k=0), ref solution")
175             gij_init_ref, gij_ref, time_coag_ref = coala.iterate_coag_kdv(
176                 kernel,
177                 K0,
178                 nbins_ref,
179                 0,
180                 dthydro,
181                 ndthydro,
182                 coeff_CFL,
183                 Q,
184                 eps,
185                 massgrid_ref,
186                 massbins_ref,
187                 dv_Br_ref,
188             )
189
190     # Plotting
191     plt.rcParams["font.size"] = 16
192     plt.rcParams["lines.linewidth"] = 3
193     plt.rcParams["legend.columnspacing"] = 0.5
194
195     savefig_options = dict(bbox_inches="tight")
196
197     marker_style = dict(
198         marker="o", markersize=8, markerfacecolor="white", linestyle="", markeredgewidth=2
199     )
200
201     match kernel:
202         case 0:
203             str_kernel = "kconst"
204         case 1:
205             str_kernel = "kadd"
206         case 2:
207             str_kernel = "k_Br"
208         case 3:
209             str_kernel = "k_dv"
210         case _:
211             print("Need to choose a simple kernel in the list.")
212
213     x = np.logspace(np.log10(massmin), np.log10(massmax), num=100)
214
215     tend = cases["order k=0"]["time"][-1]
216     plt.figure(1)
217     if kernel < 2:
218         plt.loglog(x, coala.exact_sol_coag(kernel, x, 0.0), "--", c="C0", alpha=0.5)
219         plt.loglog(x, coala.exact_sol_coag(kernel, x, tend), "--", c="C0", label="Analytic")
220     else:
221         plt.loglog(massbins_ref, gij_init_ref, "--", c="C0", alpha=0.5)
222         plt.loglog(massbins_ref, gij_ref, "--", c="C0", label="ref %d bins" % (nbins_ref))
223
224     plt.loglog(
225         cases["order k=0"]["massbins"],
226         cases["order k=0"]["gij_init"],
227         markeredgecolor="black",
228         label="gij init",
229         **marker_style,
230         alpha=0.5,
231     )
232     for case in cases:
233         print("plotting case", case)
234
235         # if cases[case]["gij_end"][0] is a scalar
236         print("gij_end = ", type(cases[case]["gij_end"][0]))
237         if isinstance(cases[case]["gij_end"][0], np.float64):
238             print("gij_end is a scalar")
239             plt.loglog(cases[case]["massbins"], cases[case]["gij_end"], label=case, **marker_style)
240         else:
241             print("gij_end is an array")
242             plt.loglog(
243                 cases[case]["massbins"], cases[case]["gij_end"][:, 0], label=case, **marker_style
244             )
245         # print ("gij_end = ",type(cases[case]["gij_end"][0]))
246         # plt.loglog(cases[case]["massbins"],cases[case]["gij_end"],markeredgecolor='black',label=case,**marker_style)
247
248     plt.ylim(1.0e-15, 1.0e1)
249     plt.xlim(massmin, massmax)
250     plt.title(str_kernel + ", nbins=%d" % (nbins))
251     plt.xlabel(r"mass ")
252     plt.ylabel(r"mass density distribution g")
253     plt.legend(loc="lower left", ncol=1)
254     plt.tight_layout()

Run the tests (kconst)

259 run_kernel_case(0)
260 plt.show()
kconst, nbins=20
Test coala for kconst

Computing coala solver for k=0
Tensor tabflux generated in 0.13527 s
gij generated in 0.00021 s
gij t0 = [1.90527518e-03 5.34978592e-03 1.49200031e-02 4.08236317e-02
 1.05876532e-01 2.36603895e-01 3.53238069e-01 1.92536780e-01
 1.28210758e-02 7.88742300e-06 5.05922357e-15 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 429
total ndt = 269
total number time-steps = 698

gij tend = [6.71600230e-12 1.89619194e-11 5.36376952e-11 1.52666572e-10
 4.42014352e-10 1.33150816e-09 4.25831439e-09 1.32793559e-08
 3.87782455e-08 1.12441169e-07 3.24816715e-07 9.30532385e-07
 2.60287335e-06 6.80950280e-06 1.49230883e-05 2.16526482e-05
 1.45034809e-05 3.14337289e-06 1.73265197e-07 2.10043162e-09]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202388
diff M1 =  1.2212453270876722e-15
Time solver in 0.04827

Computing coala solver for k=1
Tensor tabflux tabintflux generated in 4.47939 s
gij generated in 0.00058 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04]
 [ 5.34978592e-03  2.53498952e-03]
 [ 1.49200031e-02  7.00550421e-03]
 [ 4.08236317e-02  1.86714390e-02]
 [ 1.05876532e-01  4.47777100e-02]
 [ 2.36603895e-01  7.68481264e-02]
 [ 3.53238069e-01  1.50847901e-02]
 [ 1.92536780e-01 -1.40538593e-01]
 [ 1.28210758e-02 -1.28210758e-02]
 [ 7.88742300e-06 -7.88742300e-06]
 [ 5.05922357e-15 -5.05921357e-15]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 424
total ndt = 260
total number time-steps = 684

gij tend = [[ 9.08739021e-12  4.32990254e-12]
 [ 2.56210283e-11  1.22038314e-11]
 [ 7.22233057e-11  3.43990293e-11]
 [ 2.03600738e-10  9.69786292e-11]
 [ 5.74175517e-10  2.73513777e-10]
 [ 1.62161042e-09  7.71868442e-10]
 [ 4.60664870e-09  2.18528668e-09]
 [ 1.32536962e-08  6.34652065e-09]
 [ 3.70147049e-08  1.78129806e-08]
 [ 1.03428322e-07  4.96983195e-08]
 [ 2.88363419e-07  1.38224875e-07]
 [ 7.99643836e-07  3.80548485e-07]
 [ 2.18375171e-06  1.01834375e-06]
 [ 5.71460131e-06  2.51196161e-06]
 [ 1.32895116e-05  4.84925294e-06]
 [ 2.24681425e-05  3.57289104e-06]
 [ 1.71690351e-05 -6.21601221e-06]
 [ 2.59367847e-06 -2.59367847e-06]
 [ 3.50895039e-08 -3.50895039e-08]
 [ 4.28413480e-11 -4.28413480e-11]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202366
diff M1 =  -9.992007221626409e-16
Time solver in 0.55749

Computing coala solver for k=2
Tensor tabflux tabintflux generated in 19.39482 s
gij generated in 0.00398 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04 -5.49509960e-07]
 [ 5.34978592e-03  2.53498952e-03 -4.34223153e-06]
 [ 1.49200031e-02  7.00550421e-03 -3.39884114e-05]
 [ 4.08236317e-02  1.86714390e-02 -2.59000879e-04]
 [ 1.05876532e-01  4.47777100e-02 -1.82867015e-03]
 [ 2.36603895e-01  7.68481264e-02 -1.03458457e-02]
 [ 3.53238069e-01  1.50847901e-02 -2.89427354e-02]
 [ 1.92536780e-01 -1.40538593e-01  1.94501341e-02]
 [ 1.28210758e-02 -2.10736118e-02  1.68642939e-02]
 [ 7.88742300e-06 -1.01855598e-05  1.31438063e-05]
 [ 5.05922357e-15 -6.34995441e-15  8.54561595e-15]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 434
total ndt = 264
total number time-steps = 698

gij tend = [[ 8.61296901e-12  4.10381168e-12  3.82709695e-18]
 [ 2.42829914e-11  1.15662380e-11  3.12260672e-17]
 [ 6.84481214e-11  3.25991151e-11  2.55283634e-16]
 [ 1.92930537e-10  9.18850880e-11  2.05772065e-15]
 [ 5.43835171e-10  2.59033579e-10  1.68785159e-14]
 [ 1.53334524e-09  7.30577711e-10  1.58999521e-13]
 [ 4.32659496e-09  2.06313922e-09  2.12869702e-12]
 [ 1.22381686e-08  5.84949862e-09  2.28061007e-11]
 [ 3.44657967e-08  1.64643900e-08  7.07318793e-11]
 [ 9.69080757e-08  4.61999158e-08  1.56710304e-10]
 [ 2.71902818e-07  1.29306089e-07  3.27584038e-10]
 [ 7.58964475e-07  3.58447154e-07  6.38737886e-11]
 [ 2.08796621e-06  9.66898795e-07 -6.23684199e-09]
 [ 5.51499763e-06  2.41063627e-06 -6.24642561e-08]
 [ 1.30058543e-05  4.72704799e-06 -4.20140045e-07]
 [ 2.25081445e-05  3.44428693e-06 -1.59813299e-06]
 [ 1.76019294e-05 -7.64816778e-06 -3.07456793e-07]
 [ 2.46217029e-06 -3.83173351e-06  2.18177126e-06]
 [ 3.04938580e-08 -4.33007982e-08  4.79549291e-08]
 [ 3.31784451e-10 -3.74798607e-10  5.83292416e-10]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202375
diff M1 =  -1.1102230246251565e-16
Time solver in 6.25480

Computing coala solver for k=3
Tensor tabflux tabintflux generated in 51.67647 s
gij generated in 0.00393 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04 -5.49509960e-07  1.49930663e-10]
 [ 5.34978592e-03  2.53498952e-03 -4.34223153e-06  3.34102550e-09]
 [ 1.49200031e-02  7.00550421e-03 -3.39884114e-05  7.38262831e-08]
 [ 4.08236317e-02  1.86714390e-02 -2.59000879e-04  1.59300983e-06]
 [ 1.05876532e-01  4.47777100e-02 -1.82867015e-03  3.21378086e-05]
 [ 2.36603895e-01  7.68481264e-02 -1.03458457e-02  5.35173800e-04]
 [ 3.53238069e-01  1.50847901e-02 -2.89427354e-02  5.06383102e-03]
 [ 1.92536780e-01 -1.40538593e-01  1.94501341e-02  5.03190777e-03]
 [ 1.28210758e-02 -2.13264427e-02  1.70666234e-02 -8.56125651e-03]
 [ 7.88742300e-06 -8.86780238e-06  1.14433256e-05 -1.04629462e-05]
 [ 5.05922357e-15 -5.35814132e-15  7.21085774e-15 -6.91192999e-15]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 434
total ndt = 261
total number time-steps = 695

gij tend = [[ 8.58190950e-12  4.08901095e-12  3.32598078e-18 -9.32076598e-21]
 [ 2.41954044e-11  1.15245077e-11  2.72382806e-17  1.11835724e-19]
 [ 6.82010910e-11  3.24813744e-11  2.23365770e-16  4.41779966e-19]
 [ 1.92233124e-10  9.15522312e-11  1.79848437e-15  1.24247212e-18]
 [ 5.41860314e-10  2.58087502e-10  1.43522044e-14 -5.90228353e-18]
 [ 1.52770115e-09  7.27852848e-10  1.13835684e-13 -9.84660186e-16]
 [ 4.30981343e-09  2.05503553e-09  8.89859202e-13 -8.95207452e-14]
 [ 1.21799797e-08  5.82101344e-09  7.19079036e-12 -2.77686538e-12]
 [ 3.42746188e-08  1.63461459e-08  4.09213471e-11  4.33718250e-12]
 [ 9.64008979e-08  4.58957678e-08  7.68306254e-11  1.26000830e-11]
 [ 2.70595445e-07  1.28510819e-07  1.06447252e-10  4.82331670e-11]
 [ 7.55672274e-07  3.56414662e-07 -5.48175904e-10  1.19382420e-10]
 [ 2.08001088e-06  9.61942211e-07 -7.89403917e-09  3.66045445e-10]
 [ 5.49774985e-06  2.39998251e-06 -6.67672814e-08  1.77926825e-09]
 [ 1.29786486e-05  4.71068069e-06 -4.30552805e-07  1.87764710e-08]
 [ 2.25012456e-05  3.42917431e-06 -1.61885283e-06  2.01436300e-07]
 [ 1.76422697e-05 -7.71901969e-06 -2.24206026e-07  5.83871307e-07]
 [ 2.47282804e-06 -3.87782349e-06  2.42050159e-06 -8.03737276e-07]
 [ 2.31434354e-08 -2.83195055e-08  3.48844906e-08 -2.97084206e-08]
 [ 9.94854007e-11 -7.04079178e-11  1.10464067e-10 -1.39541550e-10]]
M1 t0 =  0.9999988304202376
M1 tend =  0.999998830420235
diff M1 =  -2.6645352591003757e-15
Time solver in 7.22259
plotting case order k=0
gij_end =  <class 'numpy.float64'>
gij_end is a scalar
plotting case order k=1
gij_end =  <class 'numpy.ndarray'>
gij_end is an array
plotting case order k=2
gij_end =  <class 'numpy.ndarray'>
gij_end is an array
plotting case order k=3
gij_end =  <class 'numpy.ndarray'>
gij_end is an array

Run the tests (kadd)

264 run_kernel_case(1)
265 plt.show()
kadd, nbins=20
Test coala for kadd

Computing coala solver for k=0
Tensor tabflux generated in 0.13803 s
gij generated in 0.00019 s
gij t0 = [1.90527518e-03 5.34978592e-03 1.49200031e-02 4.08236317e-02
 1.05876532e-01 2.36603895e-01 3.53238069e-01 1.92536780e-01
 1.28210758e-02 7.88742300e-06 5.05922357e-15 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 300
total ndt = 227
total number time-steps = 527

gij tend = [9.46923595e-05 2.65043632e-04 7.32678756e-04 1.95693839e-03
 4.76890398e-03 9.28871278e-03 1.15251017e-02 7.84524840e-03
 4.18790882e-03 2.15758465e-03 1.11809027e-03 5.73274221e-04
 2.79582274e-04 1.24810694e-04 4.80539799e-05 1.45278618e-05
 3.02547109e-06 3.71308293e-07 2.26007997e-08 5.67256497e-10]
M1 t0 =  0.9999988304202376
M1 tend =  0.999998830420237
diff M1 =  -6.661338147750939e-16
Time solver in 0.03636

Computing coala solver for k=1
Tensor tabflux tabintflux generated in 4.50094 s
gij generated in 0.00054 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04]
 [ 5.34978592e-03  2.53498952e-03]
 [ 1.49200031e-02  7.00550421e-03]
 [ 4.08236317e-02  1.86714390e-02]
 [ 1.05876532e-01  4.47777100e-02]
 [ 2.36603895e-01  7.68481264e-02]
 [ 3.53238069e-01  1.50847901e-02]
 [ 1.92536780e-01 -1.40538593e-01]
 [ 1.28210758e-02 -1.28210758e-02]
 [ 7.88742300e-06 -7.88742300e-06]
 [ 5.05922357e-15 -5.05921357e-15]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 201
total ndt = 254
total number time-steps = 455

gij tend = [[ 9.46748867e-05  4.49313443e-05]
 [ 2.64905195e-04  1.24935394e-04]
 [ 7.31591213e-04  3.38957363e-04]
 [ 1.94859122e-03  8.57842302e-04]
 [ 4.70971706e-03  1.78004402e-03]
 [ 8.97837560e-03  2.02344363e-03]
 [ 1.09628859e-02 -3.93487186e-04]
 [ 8.44513302e-03 -1.48433949e-03]
 [ 5.14873253e-03 -1.06071864e-03]
 [ 3.03683434e-03 -6.13512395e-04]
 [ 1.77279721e-03 -3.39368817e-04]
 [ 1.00204189e-03 -2.09442170e-04]
 [ 5.04192232e-04 -1.41730972e-04]
 [ 1.86341177e-04 -8.79482101e-05]
 [ 3.25424160e-05 -2.82716732e-05]
 [ 1.23991390e-06 -1.23991390e-06]
 [ 1.01484523e-08 -1.01484523e-08]
 [ 2.08646952e-11 -2.08646952e-11]
 [ 6.75735584e-15 -6.75734584e-15]
 [ 3.27695741e-19 -3.17695741e-19]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202378
diff M1 =  2.220446049250313e-16
Time solver in 0.36863

Computing coala solver for k=2
Tensor tabflux tabintflux generated in 19.32643 s
gij generated in 0.00396 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04 -5.49509960e-07]
 [ 5.34978592e-03  2.53498952e-03 -4.34223153e-06]
 [ 1.49200031e-02  7.00550421e-03 -3.39884114e-05]
 [ 4.08236317e-02  1.86714390e-02 -2.59000879e-04]
 [ 1.05876532e-01  4.47777100e-02 -1.82867015e-03]
 [ 2.36603895e-01  7.68481264e-02 -1.03458457e-02]
 [ 3.53238069e-01  1.50847901e-02 -2.89427354e-02]
 [ 1.92536780e-01 -1.40538593e-01  1.94501341e-02]
 [ 1.28210758e-02 -2.10736118e-02  1.68642939e-02]
 [ 7.88742300e-06 -1.01855598e-05  1.31438063e-05]
 [ 5.05922357e-15 -6.34995441e-15  8.54561595e-15]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 197
total ndt = 271
total number time-steps = 468

gij tend = [[ 9.46740930e-05  4.49306564e-05 -5.30725953e-08]
 [ 2.64898939e-04  1.24930186e-04 -4.16260358e-07]
 [ 7.31542559e-04  3.38921500e-04 -3.19048882e-06]
 [ 1.94822620e-03  8.57669602e-04 -2.29199278e-05]
 [ 4.70720297e-03  1.78056407e-03 -1.37297806e-04]
 [ 8.96373187e-03  2.04516882e-03 -4.95078148e-04]
 [ 1.09001508e-02 -2.95227344e-04 -3.90237343e-04]
 [ 8.36656837e-03 -1.65208521e-03  2.89923760e-04]
 [ 5.25686775e-03 -1.25407691e-03  2.62553011e-04]
 [ 3.16148600e-03 -7.64386129e-04  1.75976220e-04]
 [ 1.87293760e-03 -4.28005126e-04  8.32321583e-05]
 [ 1.06532175e-03 -2.58924824e-04  3.24894494e-05]
 [ 5.33049416e-04 -1.78936288e-04  1.85477876e-05]
 [ 1.85170566e-04 -1.14608901e-04  1.94401344e-05]
 [ 2.57319638e-05 -3.31284417e-05  1.23865040e-05]
 [ 6.36584472e-07 -1.08681430e-06  7.43906502e-07]
 [ 1.38512136e-08 -2.12361893e-08  2.02956586e-08]
 [ 2.95845862e-10 -3.62377036e-10  5.05016610e-10]
 [ 9.06693425e-13 -1.01043556e-12  1.60078727e-12]
 [ 1.91516589e-16 -2.08222215e-16  3.40579088e-16]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202398
diff M1 =  2.220446049250313e-15
Time solver in 3.77221

Computing coala solver for k=3
Tensor tabflux tabintflux generated in 52.24841 s
gij generated in 0.00406 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04 -5.49509960e-07  1.49930663e-10]
 [ 5.34978592e-03  2.53498952e-03 -4.34223153e-06  3.34102550e-09]
 [ 1.49200031e-02  7.00550421e-03 -3.39884114e-05  7.38262831e-08]
 [ 4.08236317e-02  1.86714390e-02 -2.59000879e-04  1.59300983e-06]
 [ 1.05876532e-01  4.47777100e-02 -1.82867015e-03  3.21378086e-05]
 [ 2.36603895e-01  7.68481264e-02 -1.03458457e-02  5.35173800e-04]
 [ 3.53238069e-01  1.50847901e-02 -2.89427354e-02  5.06383102e-03]
 [ 1.92536780e-01 -1.40538593e-01  1.94501341e-02  5.03190777e-03]
 [ 1.28210758e-02 -2.13264427e-02  1.70666234e-02 -8.56125651e-03]
 [ 7.88742300e-06 -8.86780238e-06  1.14433256e-05 -1.04629462e-05]
 [ 5.05922357e-15 -5.35814132e-15  7.21085774e-15 -6.91192999e-15]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 196
total ndt = 265
total number time-steps = 461

gij tend = [[ 9.46740366e-05  4.49306065e-05 -5.30804851e-08  3.52580998e-11]
 [ 2.64898494e-04  1.24929793e-04 -4.16322177e-07  7.79431590e-10]
 [ 7.31539100e-04  3.38918475e-04 -3.19097755e-06  1.68399414e-08]
 [ 1.94820032e-03  8.57647496e-04 -2.29246820e-05  3.41121421e-07]
 [ 4.70702822e-03  1.78042512e-03 -1.37395709e-04  5.76899248e-06]
 [ 8.96280034e-03  2.04461819e-03 -4.97860693e-04  5.91801922e-05]
 [ 1.08965112e-02 -2.94834645e-04 -4.21488542e-04  1.54439962e-04]
 [ 8.35754022e-03 -1.65216016e-03  2.83491778e-04 -3.84833538e-05]
 [ 5.25990832e-03 -1.27869607e-03  3.04106896e-04 -6.12690152e-05]
 [ 3.16670106e-03 -7.72133507e-04  2.06773491e-04 -4.67570716e-05]
 [ 1.88178967e-03 -4.31702815e-04  9.46284184e-05 -1.75245250e-05]
 [ 1.07321353e-03 -2.60765144e-04  2.71770505e-05  9.80743107e-06]
 [ 5.37048763e-04 -1.81852718e-04  1.25032214e-05  1.19632552e-05]
 [ 1.85513328e-04 -1.17368267e-04  1.90749723e-05  4.26202961e-06]
 [ 2.50437045e-05 -3.32540338e-05  1.45276303e-05 -2.22739771e-06]
 [ 5.02994604e-07 -9.23647364e-07  8.46431472e-07 -4.25778712e-07]
 [ 4.37691758e-09 -5.38792852e-09  7.29931100e-09 -6.28830007e-09]
 [ 3.53097659e-11 -2.53915401e-11  3.91831042e-11 -4.91013301e-11]
 [ 2.75641665e-14 -1.76061225e-14  2.83932579e-14 -3.83512918e-14]
 [ 6.83806670e-19 -4.19571032e-19  6.86499070e-19 -9.40734708e-19]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202364
diff M1 =  -1.2212453270876722e-15
Time solver in 4.36910
plotting case order k=0
gij_end =  <class 'numpy.float64'>
gij_end is a scalar
plotting case order k=1
gij_end =  <class 'numpy.ndarray'>
gij_end is an array
plotting case order k=2
gij_end =  <class 'numpy.ndarray'>
gij_end is an array
plotting case order k=3
gij_end =  <class 'numpy.ndarray'>
gij_end is an array

Run the tests (k_Br)

269 run_kernel_case(2)
270 plt.show()
k_Br, nbins=20
Test coala for k_Br

Computing coala solver for k=0
Tensor tabflux generated in 0.17276 s
gij generated in 0.00019 s
gij t0 = [1.90527518e-03 5.34978592e-03 1.49200031e-02 4.08236317e-02
 1.05876532e-01 2.36603895e-01 3.53238069e-01 1.92536780e-01
 1.28210758e-02 7.88742300e-06 5.05922357e-15 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 1171
total ndt = 62
total number time-steps = 1233

gij tend = [1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 2.18267012e-17 8.76110393e-12 2.38970552e-08 2.63187075e-06
 4.02788007e-05 2.01063032e-04 5.08211257e-04 7.76730349e-04
 6.77968419e-04 2.75660442e-04 4.23126198e-05 2.11243724e-06
 2.92268205e-08 7.94458645e-11 2.24149265e-14 3.25785636e-19]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202382
diff M1 =  5.551115123125783e-16
Time solver in 0.08606

Computing coala solver for k=1
Tensor tabflux tabintflux generated in 5.33595 s
gij generated in 0.00053 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04]
 [ 5.34978592e-03  2.53498952e-03]
 [ 1.49200031e-02  7.00550421e-03]
 [ 4.08236317e-02  1.86714390e-02]
 [ 1.05876532e-01  4.47777100e-02]
 [ 2.36603895e-01  7.68481264e-02]
 [ 3.53238069e-01  1.50847901e-02]
 [ 1.92536780e-01 -1.40538593e-01]
 [ 1.28210758e-02 -1.28210758e-02]
 [ 7.88742300e-06 -7.88742300e-06]
 [ 5.05922357e-15 -5.05921357e-15]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 1267
total ndt = 0
total number time-steps = 1267

gij tend = [[ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 3.80230108e-17  3.80130108e-17]
 [ 1.04180553e-11  1.04180553e-11]
 [ 2.12413654e-08  2.12413654e-08]
 [ 2.06724569e-06  2.06724569e-06]
 [ 3.10464534e-05  2.90532609e-05]
 [ 1.62931733e-04  1.01215568e-04]
 [ 4.53992185e-04  1.78760265e-04]
 [ 8.06415263e-04  1.58315087e-04]
 [ 8.32672678e-04 -9.66040083e-05]
 [ 3.07474733e-04 -2.23852212e-04]
 [ 1.72056018e-05 -1.72056018e-05]
 [ 1.05089007e-07 -1.05089007e-07]
 [ 9.68657332e-11 -9.68657332e-11]
 [ 9.67982125e-15 -9.67981125e-15]
 [ 4.18978458e-20 -3.18978458e-20]
 [ 1.06525473e-20 -1.15813627e-22]]
M1 t0 =  0.9999988304202376
M1 tend =  0.999998830420237
diff M1 =  -6.661338147750939e-16
Time solver in 1.00229

Computing coala solver for k=2
Tensor tabflux tabintflux generated in 22.67073 s
gij generated in 0.00381 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04 -5.49509960e-07]
 [ 5.34978592e-03  2.53498952e-03 -4.34223153e-06]
 [ 1.49200031e-02  7.00550421e-03 -3.39884114e-05]
 [ 4.08236317e-02  1.86714390e-02 -2.59000879e-04]
 [ 1.05876532e-01  4.47777100e-02 -1.82867015e-03]
 [ 2.36603895e-01  7.68481264e-02 -1.03458457e-02]
 [ 3.53238069e-01  1.50847901e-02 -2.89427354e-02]
 [ 1.92536780e-01 -1.40538593e-01  1.94501341e-02]
 [ 1.28210758e-02 -2.10736118e-02  1.68642939e-02]
 [ 7.88742300e-06 -1.01855598e-05  1.31438063e-05]
 [ 5.05922357e-15 -6.34995441e-15  8.54561595e-15]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 1288
total ndt = 0
total number time-steps = 1288

gij tend = [[ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 9.22208090e-17  1.58362261e-16  1.04181528e-16]
 [ 1.55852582e-11  2.68125034e-11  1.73917717e-11]
 [ 2.30770837e-08  3.99233413e-08  2.19542593e-08]
 [ 1.89388839e-06  2.57926898e-06  8.29683532e-07]
 [ 2.88378714e-05  2.72740676e-05  3.23635140e-06]
 [ 1.56063878e-04  9.66208486e-05 -1.80099983e-06]
 [ 4.45077215e-04  1.74480400e-04 -1.88426189e-05]
 [ 8.09068396e-04  1.56377273e-04 -4.40736262e-05]
 [ 8.54982165e-04 -1.25893224e-04 -4.23787533e-05]
 [ 3.07395706e-04 -2.91974962e-04  7.34073631e-05]
 [ 1.40341901e-05 -2.30819823e-05  1.84348556e-05]
 [ 2.56644181e-07 -3.36332127e-07  4.24453007e-07]
 [ 3.81182804e-09 -4.26127215e-09  6.72339455e-09]
 [ 6.04965637e-12 -6.54949009e-12  1.07719159e-11]
 [ 2.55429966e-16 -2.74953300e-16  4.55518909e-16]
 [ 1.19659328e-20 -2.13780177e-21  3.49612660e-21]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202403
diff M1 =  2.6645352591003757e-15
Time solver in 9.72381

Computing coala solver for k=3
Tensor tabflux tabintflux generated in 61.65492 s
gij generated in 0.00415 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04 -5.49509960e-07  1.49930663e-10]
 [ 5.34978592e-03  2.53498952e-03 -4.34223153e-06  3.34102550e-09]
 [ 1.49200031e-02  7.00550421e-03 -3.39884114e-05  7.38262831e-08]
 [ 4.08236317e-02  1.86714390e-02 -2.59000879e-04  1.59300983e-06]
 [ 1.05876532e-01  4.47777100e-02 -1.82867015e-03  3.21378086e-05]
 [ 2.36603895e-01  7.68481264e-02 -1.03458457e-02  5.35173800e-04]
 [ 3.53238069e-01  1.50847901e-02 -2.89427354e-02  5.06383102e-03]
 [ 1.92536780e-01 -1.40538593e-01  1.94501341e-02  5.03190777e-03]
 [ 1.28210758e-02 -2.13264427e-02  1.70666234e-02 -8.56125651e-03]
 [ 7.88742300e-06 -8.86780238e-06  1.14433256e-05 -1.04629462e-05]
 [ 5.05922357e-15 -5.35814132e-15  7.21085774e-15 -6.91192999e-15]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 1280
total ndt = 0
total number time-steps = 1280

gij tend = [[ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 8.52146370e-17  1.38556444e-16  1.12501540e-16  5.91497329e-17]
 [ 1.57006374e-11  2.74694330e-11  2.15444370e-11  9.77564138e-12]
 [ 2.27035339e-08  4.00991816e-08  2.32631231e-08  5.86747547e-09]
 [ 1.86907655e-06  2.54442510e-06  8.08662871e-07  2.67193405e-08]
 [ 2.85296449e-05  2.69644526e-05  3.08493750e-06 -5.50352445e-07]
 [ 1.54989521e-04  9.58265619e-05 -2.07678362e-06 -8.12861815e-07]
 [ 4.43401379e-04  1.73331212e-04 -1.95939812e-05  1.59499681e-06]
 [ 8.08479191e-04  1.55118521e-04 -4.58068152e-05  6.12312721e-06]
 [ 8.57350856e-04 -1.29199008e-04 -4.29762047e-05  1.41726686e-05]
 [ 3.09003556e-04 -2.96895810e-04  8.62901531e-05 -6.34592624e-06]
 [ 1.36308359e-05 -2.36389740e-05  2.22505254e-05 -1.22423874e-05]
 [ 1.21688562e-07 -1.15791446e-07  1.67370558e-07 -1.73267674e-07]
 [ 6.27436608e-10 -4.05017808e-10  6.56279204e-10 -8.78698004e-10]
 [ 2.99832945e-13 -1.82897250e-13  3.02028250e-13 -4.18963935e-13]
 [ 2.34273549e-18 -1.40962219e-18  2.34079638e-18 -3.26390969e-18]
 [ 1.06610069e-20 -1.21683304e-22  5.07009915e-24  5.51739347e-23]]
M1 t0 =  0.9999988304202376
M1 tend =  0.99999883042024
diff M1 =  2.3314683517128287e-15
Time solver in 13.04927

Computing coala solver for k_Br (k=0), ref solution
Tensor tabflux generated in 19.64510 s
gij generated in 0.00014 s
gij t0 = [1.11388714e-03 1.37002748e-03 1.68496775e-03 2.07215484e-03
 2.54808441e-03 3.13297862e-03 3.85160744e-03 4.73428037e-03
 5.81803832e-03 7.14807753e-03 8.77943753e-03 1.07789822e-02
 1.32276937e-02 1.62232810e-02 1.98830708e-02 2.43470927e-02
 2.97811797e-02 3.63797645e-02 4.43678399e-02 5.40012432e-02
 6.55639905e-02 7.93607924e-02 9.57021315e-02 1.14878385e-01
 1.37118570e-01 1.62528657e-01 1.91004643e-01 2.22117704e-01
 2.54974381e-01 2.88065996e-01 3.19140358e-01 3.45155652e-01
 3.62406408e-01 3.66929683e-01 3.55276350e-01 3.25626224e-01
 2.79008160e-01 2.20098059e-01 1.56889049e-01 9.87692499e-02
 5.34071317e-02 2.39766001e-02 8.57583753e-03 2.32454889e-03
 4.49417507e-04 5.75867858e-05 4.47365473e-06 1.89022325e-07
 3.80222577e-09 3.08903326e-11 8.26626301e-14 5.65758942e-17
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20]
M1 t0 =  0.9999995003330115
Time solver in progress

total nsub = 1413
total ndt = 0
total number time-steps = 1413

gij tend = [1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.58151373e-20 6.71134607e-19 2.01567949e-17
 4.42248870e-16 7.29294865e-15 9.27340771e-14 9.30410820e-13
 7.52030394e-12 4.99007337e-11 2.76538360e-10 1.30028384e-09
 5.26370138e-09 1.85954802e-08 5.80605476e-08 1.62114128e-07
 4.09211290e-07 9.43160357e-07 2.00290113e-06 3.95100281e-06
 7.29300900e-06 1.26797680e-05 2.08876101e-05 3.27760988e-05
 4.92285262e-05 7.10843594e-05 9.90739851e-05 1.33764011e-04
 1.75516976e-04 2.24463942e-04 2.80483688e-04 3.43179298e-04
 4.11842202e-04 4.85395420e-04 5.62311440e-04 6.40506227e-04
 7.17219736e-04 7.88906211e-04 8.51175400e-04 8.98848040e-04
 9.26211113e-04 9.27568947e-04 8.98163776e-04 8.35453947e-04
 7.40563329e-04 6.19462096e-04 4.83203238e-04 3.46533816e-04
 2.24682747e-04 1.29144513e-04 6.43336204e-05 2.70728417e-05
 9.35565793e-06 2.57595808e-06 5.48084180e-07 8.76105830e-08
 1.02989152e-08 8.82936803e-10 5.58011088e-11 2.68014562e-12
 1.01776045e-13 3.15322804e-15 8.08351891e-17 1.72365410e-18
 4.18655966e-20 1.25510281e-20 1.19688112e-20 1.17831580e-20
 1.16049241e-20 1.14363246e-20 1.12834293e-20 1.11501313e-20
 1.10371865e-20 1.09425110e-20 1.08624092e-20 1.07930443e-20
 1.07314405e-20 1.06757281e-20 1.06248605e-20 1.05782242e-20]
M1 t0 =  0.9999995003330115
M1 tend =  0.9999995003330108
diff M1 =  -7.771561172376096e-16
Time solver in 4.15078
plotting case order k=0
gij_end =  <class 'numpy.float64'>
gij_end is a scalar
plotting case order k=1
gij_end =  <class 'numpy.ndarray'>
gij_end is an array
plotting case order k=2
gij_end =  <class 'numpy.ndarray'>
gij_end is an array
plotting case order k=3
gij_end =  <class 'numpy.ndarray'>
gij_end is an array

Run the tests (k_dv)

274 run_kernel_case(3)
275 plt.show()
k_dv, nbins=20
Test coala for k_dv

Computing coala solver for k=0
Tensor tabflux generated in 0.14986 s
gij generated in 0.00028 s
gij t0 = [1.90527518e-03 5.34978592e-03 1.49200031e-02 4.08236317e-02
 1.05876532e-01 2.36603895e-01 3.53238069e-01 1.92536780e-01
 1.28210758e-02 7.88742300e-06 5.05922357e-15 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 1206
total ndt = 48
total number time-steps = 1254

gij tend = [1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.31892386e-17 6.38032582e-12 1.94799381e-08 2.28200883e-06
 3.62269061e-05 1.84425482e-04 4.70169142e-04 7.25605636e-04
 6.50272254e-04 2.78866711e-04 4.62995766e-05 2.55881283e-06
 4.07228839e-08 1.35651760e-10 5.05782277e-14 9.94500806e-19]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202355
diff M1 =  -2.1094237467877974e-15
Time solver in 0.17591

Computing coala solver for k=1
Tensor tabflux tabintflux generated in 4.70329 s
gij generated in 0.00056 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04]
 [ 5.34978592e-03  2.53498952e-03]
 [ 1.49200031e-02  7.00550421e-03]
 [ 4.08236317e-02  1.86714390e-02]
 [ 1.05876532e-01  4.47777100e-02]
 [ 2.36603895e-01  7.68481264e-02]
 [ 3.53238069e-01  1.50847901e-02]
 [ 1.92536780e-01 -1.40538593e-01]
 [ 1.28210758e-02 -1.28210758e-02]
 [ 7.88742300e-06 -7.88742300e-06]
 [ 5.05922357e-15 -5.05921357e-15]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 1288
total ndt = 0
total number time-steps = 1288

gij tend = [[ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00]
 [ 9.70510916e-19 -9.60510916e-19]
 [ 1.15559032e-12 -1.11713699e-12]
 [ 6.06315559e-09 -5.31576522e-09]
 [ 1.05076481e-06 -7.24461756e-07]
 [ 2.20606788e-05 -9.96948261e-06]
 [ 1.38916479e-04 -3.23630902e-05]
 [ 4.22334257e-04 -2.66024954e-05]
 [ 7.79715862e-04 -8.59487083e-06]
 [ 8.21791842e-04 -1.53219455e-04]
 [ 3.12568877e-04 -2.27842536e-04]
 [ 1.85690653e-05 -1.85690653e-05]
 [ 1.21676131e-07 -1.21676131e-07]
 [ 1.21500409e-10 -1.21500409e-10]
 [ 1.42205022e-14 -1.42204922e-14]
 [ 6.75962801e-20 -5.75962801e-20]
 [ 1.06563712e-20 -1.15006299e-22]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202383
diff M1 =  6.661338147750939e-16
Time solver in 3.29229

Computing coala solver for k=2
Tensor tabflux tabintflux generated in 20.64112 s
gij generated in 0.00377 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04 -5.49509960e-07]
 [ 5.34978592e-03  2.53498952e-03 -4.34223153e-06]
 [ 1.49200031e-02  7.00550421e-03 -3.39884114e-05]
 [ 4.08236317e-02  1.86714390e-02 -2.59000879e-04]
 [ 1.05876532e-01  4.47777100e-02 -1.82867015e-03]
 [ 2.36603895e-01  7.68481264e-02 -1.03458457e-02]
 [ 3.53238069e-01  1.50847901e-02 -2.89427354e-02]
 [ 1.92536780e-01 -1.40538593e-01  1.94501341e-02]
 [ 1.28210758e-02 -2.10736118e-02  1.68642939e-02]
 [ 7.88742300e-06 -1.01855598e-05  1.31438063e-05]
 [ 5.05922357e-15 -6.34995441e-15  8.54561595e-15]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 1319
total ndt = 0
total number time-steps = 1319

gij tend = [[ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00]
 [ 6.03955483e-19 -6.79190415e-19  3.02038994e-19]
 [ 8.44411506e-13 -8.68834247e-13  3.60246560e-13]
 [ 4.88239401e-09 -4.55035263e-09  1.84002152e-09]
 [ 8.95896782e-07 -6.64076140e-07  2.50588309e-07]
 [ 2.00841079e-05 -9.84202472e-06  3.12937577e-06]
 [ 1.31743516e-04 -3.39237292e-05  9.13527658e-06]
 [ 4.13574868e-04 -3.27552343e-05  6.28468658e-06]
 [ 7.86792549e-04 -1.94431772e-05 -1.31262293e-05]
 [ 8.50342352e-04 -1.94549244e-04 -1.53957116e-05]
 [ 3.11818644e-04 -3.00267310e-04  7.92599760e-05]
 [ 1.46536032e-05 -2.41768426e-05  1.91132197e-05]
 [ 2.71229057e-07 -3.56859592e-07  4.47625235e-07]
 [ 4.25136962e-09 -4.75980169e-09  7.49516979e-09]
 [ 7.59616740e-12 -8.22592641e-12  1.35246133e-11]
 [ 3.51440554e-16 -3.78492459e-16  6.26660010e-16]
 [ 1.25349075e-20 -2.73868351e-21  4.51622697e-21]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202372
diff M1 =  -4.440892098500626e-16
Time solver in 15.64346

Computing coala solver for k=3
Tensor tabflux tabintflux generated in 55.00851 s
gij generated in 0.00420 s
gij t0 = [[ 1.90527518e-03  9.05725016e-04 -5.49509960e-07  1.49930663e-10]
 [ 5.34978592e-03  2.53498952e-03 -4.34223153e-06  3.34102550e-09]
 [ 1.49200031e-02  7.00550421e-03 -3.39884114e-05  7.38262831e-08]
 [ 4.08236317e-02  1.86714390e-02 -2.59000879e-04  1.59300983e-06]
 [ 1.05876532e-01  4.47777100e-02 -1.82867015e-03  3.21378086e-05]
 [ 2.36603895e-01  7.68481264e-02 -1.03458457e-02  5.35173800e-04]
 [ 3.53238069e-01  1.50847901e-02 -2.89427354e-02  5.06383102e-03]
 [ 1.92536780e-01 -1.40538593e-01  1.94501341e-02  5.03190777e-03]
 [ 1.28210758e-02 -2.13264427e-02  1.70666234e-02 -8.56125651e-03]
 [ 7.88742300e-06 -8.86780238e-06  1.14433256e-05 -1.04629462e-05]
 [ 5.05922357e-15 -5.35814132e-15  7.21085774e-15 -6.91192999e-15]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]]
M1 t0 =  0.9999988304202376
Time solver in progress

total nsub = 1310
total ndt = 0
total number time-steps = 1310

gij tend = [[ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 1.00000000e-20  0.00000000e+00  0.00000000e+00  0.00000000e+00]
 [ 5.68101941e-19 -6.41124819e-19  2.96165723e-19 -9.53975237e-20]
 [ 8.11587057e-13 -8.37390651e-13  3.58304026e-13 -1.08172248e-13]
 [ 4.75488584e-09 -4.44359728e-09  1.85407011e-09 -5.66819237e-10]
 [ 8.78880882e-07 -6.53030844e-07  2.52414909e-07 -7.61154442e-08]
 [ 1.98187128e-05 -9.77979876e-06  3.14393063e-06 -7.57682312e-07]
 [ 1.30647875e-04 -3.39731553e-05  8.95910294e-06 -1.43917565e-06]
 [ 4.11907821e-04 -3.35572617e-05  5.66810249e-06  4.63738218e-07]
 [ 7.86745815e-04 -2.10938293e-05 -1.44335915e-05  5.32080213e-06]
 [ 8.53644536e-04 -1.98925364e-04 -1.49290197e-05  1.10159604e-05]
 [ 3.13382392e-04 -3.06095800e-04  9.29522346e-05 -7.86946230e-06]
 [ 1.41566100e-05 -2.48440953e-05  2.31358535e-05 -1.24483682e-05]
 [ 1.25809728e-07 -1.22116648e-07  1.75644275e-07 -1.79337355e-07]
 [ 6.82890022e-10 -4.41998579e-10  7.15956795e-10 -9.56848238e-10]
 [ 3.68615890e-13 -2.24938390e-13  3.71385035e-13 -5.15062526e-13]
 [ 3.32434318e-18 -2.00379596e-18  3.32662772e-18 -4.63717494e-18]
 [ 1.06612138e-20 -1.21818590e-22  3.13339746e-24  6.13463787e-23]]
M1 t0 =  0.9999988304202376
M1 tend =  0.9999988304202422
diff M1 =  4.551914400963142e-15
Time solver in 22.44401

Computing coala solver for k_dv (k=0), ref solution
Tensor tabflux generated in 17.47249 s
gij generated in 0.00016 s
gij t0 = [1.11388714e-03 1.37002748e-03 1.68496775e-03 2.07215484e-03
 2.54808441e-03 3.13297862e-03 3.85160744e-03 4.73428037e-03
 5.81803832e-03 7.14807753e-03 8.77943753e-03 1.07789822e-02
 1.32276937e-02 1.62232810e-02 1.98830708e-02 2.43470927e-02
 2.97811797e-02 3.63797645e-02 4.43678399e-02 5.40012432e-02
 6.55639905e-02 7.93607924e-02 9.57021315e-02 1.14878385e-01
 1.37118570e-01 1.62528657e-01 1.91004643e-01 2.22117704e-01
 2.54974381e-01 2.88065996e-01 3.19140358e-01 3.45155652e-01
 3.62406408e-01 3.66929683e-01 3.55276350e-01 3.25626224e-01
 2.79008160e-01 2.20098059e-01 1.56889049e-01 9.87692499e-02
 5.34071317e-02 2.39766001e-02 8.57583753e-03 2.32454889e-03
 4.49417507e-04 5.75867858e-05 4.47365473e-06 1.89022325e-07
 3.80222577e-09 3.08903326e-11 8.26626301e-14 5.65758942e-17
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20]
M1 t0 =  0.9999995003330115
Time solver in progress

total nsub = 1414
total ndt = 0
total number time-steps = 1414

gij tend = [1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.00000000e-20 1.00000000e-20 1.00000000e-20
 1.00000000e-20 1.54753101e-20 6.57978620e-19 1.97964719e-17
 4.35043591e-16 7.18473259e-15 9.14817747e-14 9.18984647e-13
 7.43637744e-12 4.93948931e-11 2.73991816e-10 1.28939477e-09
 5.22354647e-09 1.84659328e-08 5.76898601e-08 1.61161575e-07
 4.06988198e-07 9.38400928e-07 1.99347088e-06 3.93357308e-06
 7.26274189e-06 1.26300575e-05 2.08099117e-05 3.26598542e-05
 4.90611619e-05 7.08513224e-05 9.87587721e-05 1.33348172e-04
 1.74980100e-04 2.23783683e-04 2.79635940e-04 3.42138664e-04
 4.10582967e-04 4.83893253e-04 5.60546080e-04 6.38465406e-04
 7.14904488e-04 7.86337515e-04 8.48401646e-04 8.95952097e-04
 9.23314730e-04 9.24831068e-04 8.95768646e-04 8.33585557e-04
 7.39366252e-04 6.18995834e-04 4.83406407e-04 3.47220379e-04
 2.25586233e-04 1.30002646e-04 6.49748304e-05 2.74547665e-05
 9.53508080e-06 2.64103287e-06 5.65829996e-07 9.11516206e-08
 1.08043064e-08 9.33935830e-10 5.94665317e-11 2.87354069e-12
 1.09615554e-13 3.40776928e-15 8.76091178e-17 1.87199758e-18
 4.45145178e-20 1.25894115e-20 1.19700598e-20 1.17842427e-20
 1.16061795e-20 1.14376235e-20 1.12846341e-20 1.11511427e-20
 1.10379676e-20 1.09430830e-20 1.08628263e-20 1.07933632e-20
 1.07317020e-20 1.06759545e-20 1.06250617e-20 1.05784049e-20]
M1 t0 =  0.9999995003330115
M1 tend =  0.9999995003330124
diff M1 =  8.881784197001252e-16
Time solver in 17.29790
plotting case order k=0
gij_end =  <class 'numpy.float64'>
gij_end is a scalar
plotting case order k=1
gij_end =  <class 'numpy.ndarray'>
gij_end is an array
plotting case order k=2
gij_end =  <class 'numpy.ndarray'>
gij_end is an array
plotting case order k=3
gij_end =  <class 'numpy.ndarray'>
gij_end is an array

Total running time of the script: (7 minutes 50.381 seconds)

Estimated memory usage: 177 MB

Gallery generated by Sphinx-Gallery