Using Coala within Shamrock to solve the Smoluchowski equation#

Imports

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

Run the tests (kconst)

256 run_kernel_case(0)
257 plt.show()
kconst, nbins=20
Test coala for kconst

Computing coala solver for k=0
Tensor tabflux generated in 0.23952 s
gij generated in 0.00032 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.09433

Computing coala solver for k=1
Tensor tabflux tabintflux generated in 7.71286 s
gij generated in 0.00084 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 1.03179

Computing coala solver for k=2
Tensor tabflux tabintflux generated in 33.62428 s
gij generated in 0.00675 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 11.17701

Computing coala solver for k=3
Tensor tabflux tabintflux generated in 89.99339 s
gij generated in 0.00709 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.32076456e-21]
 [ 2.41954044e-11  1.15245077e-11  2.72382806e-17  1.11835712e-19]
 [ 6.82010910e-11  3.24813744e-11  2.23365770e-16  4.41780117e-19]
 [ 1.92233124e-10  9.15522312e-11  1.79848437e-15  1.24247229e-18]
 [ 5.41860314e-10  2.58087502e-10  1.43522044e-14 -5.90228399e-18]
 [ 1.52770115e-09  7.27852848e-10  1.13835684e-13 -9.84660185e-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.9999988304202356
diff M1 =  -1.9984014443252818e-15
Time solver in 13.13930
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)

261 run_kernel_case(1)
262 plt.show()
kadd, nbins=20
Test coala for kadd

Computing coala solver for k=0
Tensor tabflux generated in 0.24100 s
gij generated in 0.00035 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.07085

Computing coala solver for k=1
Tensor tabflux tabintflux generated in 7.86048 s
gij generated in 0.00085 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.67790

Computing coala solver for k=2
Tensor tabflux tabintflux generated in 34.23130 s
gij generated in 0.00671 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.9999988304202401
diff M1 =  2.4424906541753444e-15
Time solver in 6.81249

Computing coala solver for k=3
Tensor tabflux tabintflux generated in 92.26757 s
gij generated in 0.00719 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.9999988304202353
diff M1 =  -2.3314683517128287e-15
Time solver in 7.77393
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)

266 run_kernel_case(2)
267 plt.show()
k_Br, nbins=20
Test coala for k_Br

Computing coala solver for k=0
Tensor tabflux generated in 0.30650 s
gij generated in 0.00057 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.17133

Computing coala solver for k=1
Tensor tabflux tabintflux generated in 9.35736 s
gij generated in 0.00082 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.89339

Computing coala solver for k=2
Tensor tabflux tabintflux generated in 39.89590 s
gij generated in 0.00662 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 17.59792

Computing coala solver for k=3
Tensor tabflux tabintflux generated in 107.19242 s
gij generated in 0.00710 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.9999988304202384
diff M1 =  7.771561172376096e-16
Time solver in 22.57850

Computing coala solver for k_Br (k=0), ref solution
Tensor tabflux generated in 34.57367 s
gij generated in 0.00018 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 9.93499
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)

271 run_kernel_case(3)
272 plt.show()
k_dv, nbins=20
Test coala for k_dv

Computing coala solver for k=0
Tensor tabflux generated in 0.25729 s
gij generated in 0.00032 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.31254

Computing coala solver for k=1
Tensor tabflux tabintflux generated in 8.27928 s
gij generated in 0.00083 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 6.42304

Computing coala solver for k=2
Tensor tabflux tabintflux generated in 35.59829 s
gij generated in 0.00679 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.9999988304202353
diff M1 =  -2.3314683517128287e-15
Time solver in 28.41653

Computing coala solver for k=3
Tensor tabflux tabintflux generated in 96.50130 s
gij generated in 0.00706 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.9999988304202418
diff M1 =  4.218847493575595e-15
Time solver in 40.21354

Computing coala solver for k_dv (k=0), ref solution
Tensor tabflux generated in 30.06042 s
gij generated in 0.00019 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 27.67756
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: (13 minutes 46.587 seconds)

Estimated memory usage: 179 MB

Gallery generated by Sphinx-Gallery