Poisson equation over an L-shaped domain

The example is taken from here. We showcase define a PDE on an L-shaped domain

using ModelingToolkit, DomainSets, Optimization, OptimizationOptimJL, Zygote
using DomainSets: ×
using Sophon

@parameters x y
@variables u(..)
Dxx = Differential(x)^2
Dyy = Differential(y)^2

eq = Dxx(u(x,y)) + Dyy(u(x,y)) ~ -1.0
eqs = [eq => (-1..0) × (-1..0),
       eq => (-1..0) × (0..1),
       eq => (0..1) × (-1..0)]

bc = u(x,y) ~ 0.0
boundaries = [(-1 .. -1) × (-1..1),
              (-1..0) × (1..1),
              (0..0) × (0..1),
              (0..1) × (0..0),
              (1..1) × (-1..0),
              (-1..1) × (-1 .. -1)]

bcs = [bc => boundary for boundary in boundaries]

pde_system = Sophon.PDESystem(eqs, bcs, [x,y], [u(x,y)])
PDESystem
Equations: 
  Differential(y)(Differential(y)(u(x, y))) + Differential(x)(Differential(x)(u(x, y))) ~ -1.0 on (-1 .. 0) × (-1 .. 0)
  Differential(y)(Differential(y)(u(x, y))) + Differential(x)(Differential(x)(u(x, y))) ~ -1.0 on (-1 .. 0) × (0 .. 1)
  Differential(y)(Differential(y)(u(x, y))) + Differential(x)(Differential(x)(u(x, y))) ~ -1.0 on (0 .. 1) × (-1 .. 0)
Boundary Conditions: 
  u(x, y) ~ 0.0 on (-1 .. -1) × (-1 .. 1)
  u(x, y) ~ 0.0 on (-1 .. 0) × (1 .. 1)
  u(x, y) ~ 0.0 on (0 .. 0) × (0 .. 1)
  u(x, y) ~ 0.0 on (0 .. 1) × (0 .. 0)
  u(x, y) ~ 0.0 on (1 .. 1) × (-1 .. 0)
  u(x, y) ~ 0.0 on (-1 .. 1) × (-1 .. -1)
Dependent Variables: Symbolics.Num[u(x, y)]
Independent Variables: Symbolics.Num[x, y]
chain = FullyConnected((2,16,16,16,1), tanh)
pinn = PINN(chain)
sampler = QuasiRandomSampler(300, 30)
strategy = NonAdaptiveTraining()

prob = Sophon.discretize(pde_system, pinn, sampler, strategy)

@showprogress res = Optimization.solve(prob, BFGS(); maxiters=1000)

using CairoMakie

xs = -1:0.01:1
ys = -1:0.01:1

u_pred = [ifelse(x>0.0 && y>0.0, NaN, pinn.phi([x,y], res.u)[1]) for x in xs, y in ys]
fig, ax, hm = heatmap(xs, ys, u_pred, colormap=:jet)
Colorbar(fig[:, end+1], hm)
fig

0.1%┣                                         ┫ 1/1.0k [00:50<Inf:Inf, InfGs/it]

4.469203e+02 0.2%┣                             ┫ 2/1.0k [00:50<13:58:34, 50s/it]

3.494757e+02 0.3%┣                             ┫ 3/1.0k [00:50<06:59:23, 25s/it]

2.658717e+02 0.4%┣▏                            ┫ 4/1.0k [00:51<04:39:45, 17s/it]

1.509896e+02 0.5%┣▏                            ┫ 5/1.0k [00:51<03:29:53, 13s/it]

8.250277e+01 0.6%┣▏                            ┫ 6/1.0k [00:51<02:47:59, 10s/it]

1.899921e+01 0.8%┣▎                             ┫ 8/1.0k [00:51<01:59:53, 7s/it]

9.973183e+00 1.0%┣▎                            ┫ 10/1.0k [00:51<01:33:15, 6s/it]

5.704305e+00 1.2%┣▍                            ┫ 12/1.0k [00:51<01:16:16, 5s/it]

4.285807e+00 1.4%┣▍                            ┫ 14/1.0k [00:51<01:04:29, 4s/it]

2.776616e+00 1.6%┣▌                               ┫ 16/1.0k [00:51<55:50, 3s/it]

2.015711e+00 1.8%┣▋                               ┫ 18/1.0k [00:51<49:13, 3s/it]

1.720584e+00 2.0%┣▋                               ┫ 20/1.0k [00:51<44:00, 3s/it]

1.301804e+00 2.3%┣▊                               ┫ 23/1.0k [00:51<37:56, 2s/it]

1.074873e+00 2.5%┣▉                               ┫ 25/1.0k [00:51<34:44, 2s/it]

9.257289e-01 2.7%┣▉                               ┫ 27/1.0k [00:51<32:02, 2s/it]

7.389912e-01 3.0%┣█                               ┫ 30/1.0k [00:51<28:40, 2s/it]

6.097217e-01 3.2%┣█                               ┫ 32/1.0k [00:51<26:48, 2s/it]

5.378981e-01 3.5%┣█▏                              ┫ 35/1.0k [00:51<24:23, 2s/it]

4.330534e-01 3.7%┣█▏                              ┫ 37/1.0k [00:52<23:01, 1s/it]

3.855455e-01 4.0%┣█▎                              ┫ 40/1.0k [00:52<21:12, 1s/it]

3.256758e-01 4.3%┣█▍                              ┫ 43/1.0k [00:52<19:39, 1s/it]

2.778919e-01 4.5%┣█▍                              ┫ 45/1.0k [00:52<18:44, 1s/it]

2.339893e-01 4.7%┣█▌                              ┫ 47/1.0k [00:52<17:54, 1s/it]

2.049759e-01 4.9%┣█▋                              ┫ 49/1.0k [00:52<17:09, 1s/it]

1.724274e-01 5.1%┣█▋                              ┫ 51/1.0k [00:52<16:26, 1s/it]

1.361725e-01 5.4%┣█▊                              ┫ 54/1.0k [00:52<15:29, 1it/s]

1.196375e-01 5.6%┣█▉                              ┫ 56/1.0k [00:52<14:54, 1it/s]

9.908598e-02 5.9%┣█▉                              ┫ 59/1.0k [00:52<14:06, 1it/s]

7.888300e-02 6.2%┣██                              ┫ 62/1.0k [00:52<13:23, 1it/s]

5.960735e-02 6.4%┣██                              ┫ 64/1.0k [00:52<12:57, 1it/s]

4.662190e-02 6.7%┣██▏                             ┫ 67/1.0k [00:52<12:20, 1it/s]

3.945062e-02 7.0%┣██▎                             ┫ 70/1.0k [00:52<11:46, 1it/s]

3.258606e-02 7.3%┣██▍                             ┫ 73/1.0k [00:52<11:16, 1it/s]

2.552891e-02 7.6%┣██▍                             ┫ 76/1.0k [00:52<10:47, 1it/s]

2.090954e-02 7.9%┣██▌                             ┫ 79/1.0k [00:53<10:21, 1it/s]

1.700395e-02 8.2%┣██▋                             ┫ 82/1.0k [00:53<09:57, 2it/s]

1.370576e-02 8.5%┣██▊                             ┫ 85/1.0k [00:53<09:34, 2it/s]

1.183558e-02 8.8%┣██▉                             ┫ 88/1.0k [00:53<09:13, 2it/s]

1.043544e-02 9.1%┣███                             ┫ 91/1.0k [00:53<08:54, 2it/s]

9.559844e-03 9.4%┣███                             ┫ 94/1.0k [00:53<08:36, 2it/s]

8.987381e-03 9.7%┣███                             ┫ 97/1.0k [00:53<08:18, 2it/s]

8.408606e-03 10.0%┣███                           ┫ 100/1.0k [00:53<08:02, 2it/s]

7.598466e-03 10.3%┣███                           ┫ 103/1.0k [00:53<07:47, 2it/s]

6.816069e-03 10.6%┣███▏                          ┫ 106/1.0k [00:53<07:33, 2it/s]

6.198344e-03 10.9%┣███▎                          ┫ 109/1.0k [00:53<07:19, 2it/s]

5.720766e-03 11.2%┣███▍                          ┫ 112/1.0k [00:53<07:06, 2it/s]

5.381776e-03 11.5%┣███▌                          ┫ 115/1.0k [00:53<06:54, 2it/s]

4.879040e-03 11.8%┣███▌                          ┫ 118/1.0k [00:53<06:43, 2it/s]

4.523769e-03 12.1%┣███▋                          ┫ 121/1.0k [00:53<06:32, 2it/s]

4.290720e-03 12.4%┣███▊                          ┫ 124/1.0k [00:54<06:22, 2it/s]

4.122439e-03 12.7%┣███▉                          ┫ 127/1.0k [00:54<06:12, 2it/s]

3.855401e-03 13.0%┣████                          ┫ 130/1.0k [00:54<06:02, 2it/s]

3.596811e-03 13.3%┣████                          ┫ 133/1.0k [00:54<05:53, 2it/s]

3.373053e-03 13.6%┣████                          ┫ 136/1.0k [00:54<05:44, 3it/s]

3.181758e-03 13.9%┣████▏                         ┫ 139/1.0k [00:54<05:36, 3it/s]

2.981445e-03 14.2%┣████▎                         ┫ 142/1.0k [00:54<05:28, 3it/s]

2.763926e-03 14.5%┣████▍                         ┫ 145/1.0k [00:54<05:21, 3it/s]

2.605000e-03 14.8%┣████▍                         ┫ 148/1.0k [00:54<05:13, 3it/s]

2.496686e-03 15.1%┣████▌                         ┫ 151/1.0k [00:54<05:06, 3it/s]

2.396402e-03 15.4%┣████▋                         ┫ 154/1.0k [00:54<05:00, 3it/s]

2.272176e-03 15.7%┣████▊                         ┫ 157/1.0k [00:54<04:53, 3it/s]

2.179591e-03 16.0%┣████▉                         ┫ 160/1.0k [00:54<04:47, 3it/s]

2.121752e-03 16.3%┣████▉                         ┫ 163/1.0k [00:54<04:41, 3it/s]

2.003505e-03 16.6%┣█████                         ┫ 166/1.0k [00:54<04:35, 3it/s]

1.890543e-03 16.9%┣█████                         ┫ 169/1.0k [00:54<04:30, 3it/s]

1.842119e-03 17.2%┣█████▏                        ┫ 172/1.0k [00:55<04:24, 3it/s]

1.795916e-03 17.5%┣█████▎                        ┫ 175/1.0k [00:55<04:19, 3it/s]

1.751592e-03 17.8%┣█████▍                        ┫ 178/1.0k [00:55<04:14, 3it/s]

1.702364e-03 18.1%┣█████▍                        ┫ 181/1.0k [00:55<04:09, 3it/s]

1.655196e-03 18.4%┣█████▌                        ┫ 184/1.0k [00:55<04:05, 3it/s]

1.620793e-03 18.7%┣█████▋                        ┫ 187/1.0k [00:55<04:00, 3it/s]

1.596610e-03 19.0%┣█████▊                        ┫ 190/1.0k [00:55<03:56, 3it/s]

1.564743e-03 19.3%┣█████▉                        ┫ 193/1.0k [00:55<03:51, 3it/s]

1.547056e-03 19.5%┣█████▉                        ┫ 195/1.0k [00:55<03:49, 4it/s]

1.531133e-03 19.7%┣██████                        ┫ 197/1.0k [00:55<03:46, 4it/s]

1.515287e-03 19.9%┣██████                        ┫ 199/1.0k [00:55<03:43, 4it/s]

1.492301e-03 20.2%┣██████                        ┫ 202/1.0k [00:55<03:39, 4it/s]

1.481775e-03 20.4%┣██████▏                       ┫ 204/1.0k [00:55<03:37, 4it/s]

1.466065e-03 20.7%┣██████▏                       ┫ 207/1.0k [00:55<03:33, 4it/s]

1.455288e-03 20.9%┣██████▎                       ┫ 209/1.0k [00:55<03:31, 4it/s]

1.439439e-03 21.1%┣██████▎                       ┫ 211/1.0k [00:55<03:28, 4it/s]

1.415204e-03 21.4%┣██████▍                       ┫ 214/1.0k [00:55<03:25, 4it/s]

1.395265e-03 21.7%┣██████▌                       ┫ 217/1.0k [00:56<03:22, 4it/s]

1.385444e-03 21.9%┣██████▋                       ┫ 219/1.0k [00:56<03:19, 4it/s]

1.371850e-03 22.2%┣██████▋                       ┫ 222/1.0k [00:56<03:16, 4it/s]

1.361071e-03 22.4%┣██████▊                       ┫ 224/1.0k [00:56<03:14, 4it/s]

1.347183e-03 22.6%┣██████▊                       ┫ 226/1.0k [00:56<03:12, 4it/s]

1.328081e-03 22.9%┣██████▉                       ┫ 229/1.0k [00:56<03:09, 4it/s]

1.313390e-03 23.2%┣███████                       ┫ 232/1.0k [00:56<03:06, 4it/s]

1.300157e-03 23.5%┣███████                       ┫ 235/1.0k [00:56<03:03, 4it/s]

1.288137e-03 23.8%┣███████▏                      ┫ 238/1.0k [00:56<03:00, 4it/s]

1.280599e-03 24.0%┣███████▏                      ┫ 240/1.0k [00:56<02:59, 4it/s]

1.269476e-03 24.2%┣███████▎                      ┫ 242/1.0k [00:56<02:57, 4it/s]

1.249062e-03 24.5%┣███████▍                      ┫ 245/1.0k [00:56<02:54, 4it/s]

1.236844e-03 24.8%┣███████▍                      ┫ 248/1.0k [00:56<02:52, 4it/s]

1.229515e-03 25.0%┣███████▌                      ┫ 250/1.0k [00:56<02:50, 4it/s]

1.210382e-03 25.3%┣███████▋                      ┫ 253/1.0k [00:56<02:47, 4it/s]

1.197259e-03 25.6%┣███████▊                      ┫ 256/1.0k [00:56<02:45, 5it/s]

1.189354e-03 25.9%┣███████▊                      ┫ 259/1.0k [00:57<02:43, 5it/s]

1.181344e-03 26.2%┣███████▉                      ┫ 262/1.0k [00:57<02:40, 5it/s]

1.173129e-03 26.5%┣████████                      ┫ 265/1.0k [00:57<02:38, 5it/s]

1.163794e-03 26.7%┣████████                      ┫ 267/1.0k [00:57<02:36, 5it/s]

1.153673e-03 26.9%┣████████                      ┫ 269/1.0k [00:57<02:35, 5it/s]

1.140902e-03 27.2%┣████████▏                     ┫ 272/1.0k [00:57<02:33, 5it/s]

1.135899e-03 27.4%┣████████▏                     ┫ 274/1.0k [00:57<02:31, 5it/s]

1.128673e-03 27.6%┣████████▎                     ┫ 276/1.0k [00:57<02:30, 5it/s]

1.116309e-03 27.8%┣████████▎                     ┫ 278/1.0k [00:57<02:29, 5it/s]

1.102284e-03 28.1%┣████████▍                     ┫ 281/1.0k [00:57<02:27, 5it/s]

1.093715e-03 28.4%┣████████▌                     ┫ 284/1.0k [00:57<02:25, 5it/s]

1.078086e-03 28.7%┣████████▋                     ┫ 287/1.0k [00:57<02:23, 5it/s]

1.063131e-03 29.0%┣████████▊                     ┫ 290/1.0k [00:57<02:21, 5it/s]

1.050119e-03 29.3%┣████████▉                     ┫ 293/1.0k [00:57<02:19, 5it/s]

1.043622e-03 29.6%┣████████▉                     ┫ 296/1.0k [00:57<02:17, 5it/s]

1.034110e-03 29.9%┣█████████                     ┫ 299/1.0k [00:57<02:15, 5it/s]

1.023423e-03 30.2%┣█████████                     ┫ 302/1.0k [00:58<02:14, 5it/s]

1.015071e-03 30.5%┣█████████▏                    ┫ 305/1.0k [00:58<02:12, 5it/s]

1.008781e-03 30.8%┣█████████▎                    ┫ 308/1.0k [00:58<02:10, 5it/s]

1.003710e-03 31.1%┣█████████▎                    ┫ 311/1.0k [00:58<02:08, 5it/s]

1.000244e-03 31.3%┣█████████▍                    ┫ 313/1.0k [00:58<02:07, 5it/s]

9.938328e-04 31.6%┣█████████▌                    ┫ 316/1.0k [00:58<02:06, 5it/s]

9.900246e-04 31.9%┣█████████▋                    ┫ 319/1.0k [00:58<02:04, 5it/s]

9.868745e-04 32.2%┣█████████▋                    ┫ 322/1.0k [00:58<02:03, 6it/s]

9.802911e-04 32.5%┣█████████▊                    ┫ 325/1.0k [00:58<02:01, 6it/s]

9.721184e-04 32.8%┣█████████▉                    ┫ 328/1.0k [00:58<02:00, 6it/s]

9.641029e-04 33.1%┣██████████                    ┫ 331/1.0k [00:58<01:58, 6it/s]

9.591668e-04 33.4%┣██████████                    ┫ 334/1.0k [00:58<01:57, 6it/s]

9.542366e-04 33.6%┣██████████                    ┫ 336/1.0k [00:58<01:56, 6it/s]

9.505306e-04 33.8%┣██████████▏                   ┫ 338/1.0k [00:58<01:55, 6it/s]

9.436904e-04 34.1%┣██████████▏                   ┫ 341/1.0k [00:58<01:53, 6it/s]

9.417779e-04 34.3%┣██████████▎                   ┫ 343/1.0k [00:58<01:52, 6it/s]

9.355065e-04 34.6%┣██████████▍                   ┫ 346/1.0k [00:58<01:51, 6it/s]

9.285219e-04 34.8%┣██████████▍                   ┫ 348/1.0k [00:59<01:50, 6it/s]

9.188476e-04 35.1%┣██████████▌                   ┫ 351/1.0k [00:59<01:49, 6it/s]

9.132795e-04 35.4%┣██████████▋                   ┫ 354/1.0k [00:59<01:48, 6it/s]

9.091462e-04 35.6%┣██████████▊                   ┫ 356/1.0k [00:59<01:47, 6it/s]

9.020149e-04 35.9%┣██████████▊                   ┫ 359/1.0k [00:59<01:45, 6it/s]

8.940299e-04 36.2%┣██████████▉                   ┫ 362/1.0k [00:59<01:44, 6it/s]

8.883441e-04 36.5%┣███████████                   ┫ 365/1.0k [00:59<01:43, 6it/s]

8.777441e-04 36.8%┣███████████                   ┫ 368/1.0k [00:59<01:42, 6it/s]

8.612500e-04 37.1%┣███████████▏                  ┫ 371/1.0k [00:59<01:41, 6it/s]

8.508576e-04 37.4%┣███████████▏                  ┫ 374/1.0k [00:59<01:39, 6it/s]

8.404927e-04 37.7%┣███████████▎                  ┫ 377/1.0k [00:59<01:38, 6it/s]

8.344519e-04 38.0%┣███████████▍                  ┫ 380/1.0k [00:59<01:37, 6it/s]

8.298632e-04 38.3%┣███████████▌                  ┫ 383/1.0k [00:59<01:36, 6it/s]

8.246894e-04 38.6%┣███████████▋                  ┫ 386/1.0k [00:59<01:35, 6it/s]

8.197095e-04 38.9%┣███████████▋                  ┫ 389/1.0k [00:59<01:34, 7it/s]

8.140393e-04 39.2%┣███████████▊                  ┫ 392/1.0k [00:59<01:33, 7it/s]

8.041354e-04 39.5%┣███████████▉                  ┫ 395/1.0k [01:00<01:32, 7it/s]

7.907423e-04 39.8%┣████████████                  ┫ 398/1.0k [01:00<01:31, 7it/s]

7.824826e-04 40.1%┣████████████                  ┫ 401/1.0k [01:00<01:30, 7it/s]

7.758984e-04 40.3%┣████████████                  ┫ 403/1.0k [01:00<01:29, 7it/s]

7.635814e-04 40.6%┣████████████▏                 ┫ 406/1.0k [01:00<01:28, 7it/s]

7.554804e-04 40.9%┣████████████▎                 ┫ 409/1.0k [01:00<01:27, 7it/s]

7.484031e-04 41.2%┣████████████▍                 ┫ 412/1.0k [01:00<01:26, 7it/s]

7.407921e-04 41.5%┣████████████▍                 ┫ 415/1.0k [01:00<01:25, 7it/s]

7.277091e-04 41.8%┣████████████▌                 ┫ 418/1.0k [01:00<01:24, 7it/s]

7.212964e-04 42.1%┣████████████▋                 ┫ 421/1.0k [01:00<01:23, 7it/s]

7.160091e-04 42.4%┣████████████▊                 ┫ 424/1.0k [01:00<01:22, 7it/s]

7.086035e-04 42.7%┣████████████▉                 ┫ 427/1.0k [01:00<01:21, 7it/s]

7.028174e-04 43.0%┣████████████▉                 ┫ 430/1.0k [01:00<01:20, 7it/s]

6.969744e-04 43.3%┣█████████████                 ┫ 433/1.0k [01:00<01:19, 7it/s]

6.933718e-04 43.5%┣█████████████                 ┫ 435/1.0k [01:00<01:19, 7it/s]

6.885939e-04 43.7%┣█████████████                 ┫ 437/1.0k [01:00<01:18, 7it/s]

6.812307e-04 44.0%┣█████████████▏                ┫ 440/1.0k [01:01<01:17, 7it/s]

6.706826e-04 44.3%┣█████████████▎                ┫ 443/1.0k [01:01<01:17, 7it/s]

6.644058e-04 44.6%┣█████████████▍                ┫ 446/1.0k [01:01<01:16, 7it/s]

6.592041e-04 44.9%┣█████████████▌                ┫ 449/1.0k [01:01<01:15, 7it/s]

6.532758e-04 45.2%┣█████████████▌                ┫ 452/1.0k [01:01<01:14, 7it/s]

6.493048e-04 45.4%┣█████████████▋                ┫ 454/1.0k [01:01<01:13, 7it/s]

6.374486e-04 45.7%┣█████████████▊                ┫ 457/1.0k [01:01<01:13, 7it/s]

6.298885e-04 46.0%┣█████████████▉                ┫ 460/1.0k [01:01<01:12, 8it/s]

6.248646e-04 46.3%┣█████████████▉                ┫ 463/1.0k [01:01<01:11, 8it/s]

6.212909e-04 46.5%┣██████████████                ┫ 465/1.0k [01:01<01:11, 8it/s]

6.164552e-04 46.8%┣██████████████                ┫ 468/1.0k [01:01<01:10, 8it/s]

6.079793e-04 47.1%┣██████████████▏               ┫ 471/1.0k [01:01<01:09, 8it/s]

6.014080e-04 47.4%┣██████████████▏               ┫ 474/1.0k [01:01<01:08, 8it/s]

5.925639e-04 47.7%┣██████████████▎               ┫ 477/1.0k [01:01<01:08, 8it/s]

5.840620e-04 48.0%┣██████████████▍               ┫ 480/1.0k [01:01<01:07, 8it/s]

5.782584e-04 48.3%┣██████████████▌               ┫ 483/1.0k [01:01<01:06, 8it/s]

5.738295e-04 48.6%┣██████████████▋               ┫ 486/1.0k [01:02<01:05, 8it/s]

5.711017e-04 48.8%┣██████████████▋               ┫ 488/1.0k [01:02<01:05, 8it/s]

5.652652e-04 49.1%┣██████████████▊               ┫ 491/1.0k [01:02<01:04, 8it/s]

5.601446e-04 49.4%┣██████████████▉               ┫ 494/1.0k [01:02<01:03, 8it/s]

5.545352e-04 49.7%┣███████████████               ┫ 497/1.0k [01:02<01:03, 8it/s]

5.513112e-04 50.0%┣███████████████               ┫ 500/1.0k [01:02<01:02, 8it/s]

5.489712e-04 50.1%┣███████████████               ┫ 502/1.0k [01:02<01:02, 8it/s]

5.445913e-04 50.4%┣███████████████▏              ┫ 505/1.0k [01:02<01:01, 8it/s]

5.401730e-04 50.6%┣███████████████▏              ┫ 507/1.0k [01:02<01:01, 8it/s]

5.339349e-04 50.9%┣███████████████▎              ┫ 510/1.0k [01:02<01:00, 8it/s]

5.313413e-04 51.2%┣███████████████▍              ┫ 513/1.0k [01:02<00:59, 8it/s]

5.286903e-04 51.4%┣███████████████▍              ┫ 515/1.0k [01:02<00:59, 8it/s]

5.249388e-04 51.6%┣███████████████▌              ┫ 517/1.0k [01:02<00:58, 8it/s]

5.173808e-04 51.9%┣███████████████▋              ┫ 520/1.0k [01:02<00:58, 8it/s]

5.102303e-04 52.2%┣███████████████▊              ┫ 523/1.0k [01:02<00:57, 8it/s]

5.087040e-04 52.4%┣███████████████▊              ┫ 525/1.0k [01:02<00:57, 8it/s]

5.050696e-04 52.7%┣███████████████▉              ┫ 528/1.0k [01:03<00:56, 8it/s]

4.996485e-04 53.0%┣████████████████              ┫ 531/1.0k [01:03<00:56, 8it/s]

4.949356e-04 53.3%┣████████████████              ┫ 534/1.0k [01:03<00:55, 9it/s]

4.921005e-04 53.5%┣████████████████              ┫ 536/1.0k [01:03<00:55, 9it/s]

4.889469e-04 53.8%┣████████████████▏             ┫ 539/1.0k [01:03<00:54, 9it/s]

4.872772e-04 54.0%┣████████████████▏             ┫ 541/1.0k [01:03<00:54, 9it/s]

4.836943e-04 54.3%┣████████████████▎             ┫ 544/1.0k [01:03<00:53, 9it/s]

4.811909e-04 54.5%┣████████████████▍             ┫ 546/1.0k [01:03<00:53, 9it/s]

4.779871e-04 54.8%┣████████████████▌             ┫ 549/1.0k [01:03<00:52, 9it/s]

4.739272e-04 55.1%┣████████████████▌             ┫ 552/1.0k [01:03<00:51, 9it/s]

4.692672e-04 55.4%┣████████████████▋             ┫ 555/1.0k [01:03<00:51, 9it/s]

4.675066e-04 55.6%┣████████████████▊             ┫ 557/1.0k [01:03<00:50, 9it/s]

4.652843e-04 55.8%┣████████████████▊             ┫ 559/1.0k [01:03<00:50, 9it/s]

4.620775e-04 56.1%┣████████████████▉             ┫ 562/1.0k [01:03<00:50, 9it/s]

4.583637e-04 56.4%┣█████████████████             ┫ 565/1.0k [01:03<00:49, 9it/s]

4.541677e-04 56.7%┣█████████████████             ┫ 568/1.0k [01:03<00:48, 9it/s]

4.475066e-04 57.0%┣█████████████████▏            ┫ 571/1.0k [01:03<00:48, 9it/s]

4.442797e-04 57.3%┣█████████████████▏            ┫ 574/1.0k [01:04<00:47, 9it/s]

4.406780e-04 57.6%┣█████████████████▎            ┫ 577/1.0k [01:04<00:47, 9it/s]

4.381412e-04 57.9%┣█████████████████▍            ┫ 580/1.0k [01:04<00:46, 9it/s]

4.358643e-04 58.1%┣█████████████████▍            ┫ 582/1.0k [01:04<00:46, 9it/s]

4.337559e-04 58.3%┣█████████████████▌            ┫ 584/1.0k [01:04<00:46, 9it/s]

4.308249e-04 58.5%┣█████████████████▋            ┫ 586/1.0k [01:04<00:45, 9it/s]

4.275706e-04 58.8%┣█████████████████▋            ┫ 589/1.0k [01:04<00:45, 9it/s]

4.263103e-04 59.0%┣█████████████████▊            ┫ 591/1.0k [01:04<00:44, 9it/s]

4.240579e-04 59.3%┣█████████████████▉            ┫ 594/1.0k [01:04<00:44, 9it/s]

4.206219e-04 59.6%┣██████████████████            ┫ 597/1.0k [01:04<00:43, 9it/s]

4.166386e-04 59.9%┣██████████████████            ┫ 600/1.0k [01:04<00:43, 9it/s]

4.138793e-04 60.2%┣██████████████████            ┫ 603/1.0k [01:04<00:42, 9it/s]

4.128575e-04 60.4%┣██████████████████▏           ┫ 605/1.0k [01:04<00:42, 9it/s]

4.119247e-04 60.6%┣██████████████████▏           ┫ 607/1.0k [01:04<00:42, 9it/s]

4.106903e-04 60.8%┣██████████████████▎           ┫ 609/1.0k [01:04<00:42, 9it/s]

4.074800e-04 61.1%┣██████████████████▍           ┫ 612/1.0k [01:04<00:41, 9it/s]

4.055371e-04 61.3%┣█████████████████▉           ┫ 614/1.0k [01:05<00:41, 10it/s]

4.032182e-04 61.6%┣█████████████████▉           ┫ 617/1.0k [01:05<00:40, 10it/s]

4.007856e-04 61.9%┣██████████████████           ┫ 620/1.0k [01:05<00:40, 10it/s]

3.988616e-04 62.1%┣██████████████████           ┫ 622/1.0k [01:05<00:39, 10it/s]

3.969215e-04 62.4%┣██████████████████           ┫ 625/1.0k [01:05<00:39, 10it/s]

3.958139e-04 62.6%┣██████████████████▏          ┫ 627/1.0k [01:05<00:39, 10it/s]

3.942465e-04 62.8%┣██████████████████▎          ┫ 629/1.0k [01:05<00:38, 10it/s]

3.912258e-04 63.1%┣██████████████████▎          ┫ 632/1.0k [01:05<00:38, 10it/s]

3.895129e-04 63.3%┣██████████████████▍          ┫ 634/1.0k [01:05<00:38, 10it/s]

3.871508e-04 63.6%┣██████████████████▌          ┫ 637/1.0k [01:05<00:37, 10it/s]

3.856087e-04 63.8%┣██████████████████▌          ┫ 639/1.0k [01:05<00:37, 10it/s]

3.822560e-04 64.0%┣██████████████████▋          ┫ 641/1.0k [01:05<00:37, 10it/s]

3.792074e-04 64.3%┣██████████████████▋          ┫ 644/1.0k [01:05<00:36, 10it/s]

3.778036e-04 64.5%┣██████████████████▊          ┫ 646/1.0k [01:05<00:36, 10it/s]

3.767300e-04 64.7%┣██████████████████▊          ┫ 648/1.0k [01:05<00:36, 10it/s]

3.746304e-04 65.0%┣██████████████████▉          ┫ 651/1.0k [01:05<00:35, 10it/s]

3.727605e-04 65.3%┣███████████████████          ┫ 654/1.0k [01:05<00:35, 10it/s]

3.712056e-04 65.5%┣███████████████████          ┫ 656/1.0k [01:06<00:35, 10it/s]

3.701763e-04 65.7%┣███████████████████          ┫ 658/1.0k [01:06<00:34, 10it/s]

3.681684e-04 65.9%┣███████████████████▏         ┫ 660/1.0k [01:06<00:34, 10it/s]

3.657678e-04 66.1%┣███████████████████▏         ┫ 662/1.0k [01:06<00:34, 10it/s]

3.628765e-04 66.4%┣███████████████████▎         ┫ 665/1.0k [01:06<00:33, 10it/s]

3.617221e-04 66.6%┣███████████████████▎         ┫ 667/1.0k [01:06<00:33, 10it/s]

3.606642e-04 66.8%┣███████████████████▍         ┫ 669/1.0k [01:06<00:33, 10it/s]

3.594033e-04 67.0%┣███████████████████▍         ┫ 671/1.0k [01:06<00:32, 10it/s]

3.582993e-04 67.2%┣███████████████████▌         ┫ 673/1.0k [01:06<00:32, 10it/s]

3.568558e-04 67.4%┣███████████████████▌         ┫ 675/1.0k [01:06<00:32, 10it/s]

3.546160e-04 67.6%┣███████████████████▋         ┫ 677/1.0k [01:06<00:32, 10it/s]

3.525801e-04 67.9%┣███████████████████▊         ┫ 680/1.0k [01:06<00:31, 10it/s]

3.517150e-04 68.1%┣███████████████████▊         ┫ 682/1.0k [01:06<00:31, 10it/s]

3.503307e-04 68.3%┣███████████████████▉         ┫ 684/1.0k [01:06<00:31, 10it/s]

3.481271e-04 68.5%┣███████████████████▉         ┫ 686/1.0k [01:06<00:31, 10it/s]

3.455396e-04 68.8%┣████████████████████         ┫ 689/1.0k [01:06<00:30, 10it/s]

3.437710e-04 69.0%┣████████████████████         ┫ 691/1.0k [01:06<00:30, 10it/s]

3.426317e-04 69.2%┣████████████████████         ┫ 693/1.0k [01:07<00:30, 10it/s]

3.415298e-04 69.4%┣████████████████████▏        ┫ 695/1.0k [01:07<00:29, 10it/s]

3.400285e-04 69.6%┣████████████████████▏        ┫ 697/1.0k [01:07<00:29, 10it/s]

3.375668e-04 69.8%┣████████████████████▎        ┫ 699/1.0k [01:07<00:29, 10it/s]

3.349978e-04 70.1%┣████████████████████▍        ┫ 702/1.0k [01:07<00:28, 11it/s]

3.308507e-04 70.4%┣████████████████████▍        ┫ 705/1.0k [01:07<00:28, 11it/s]

3.274812e-04 70.7%┣████████████████████▌        ┫ 708/1.0k [01:07<00:28, 11it/s]

3.256307e-04 71.0%┣████████████████████▋        ┫ 711/1.0k [01:07<00:27, 11it/s]

3.237652e-04 71.3%┣████████████████████▊        ┫ 714/1.0k [01:07<00:27, 11it/s]

3.220983e-04 71.5%┣████████████████████▊        ┫ 716/1.0k [01:07<00:27, 11it/s]

3.181173e-04 71.8%┣████████████████████▉        ┫ 719/1.0k [01:07<00:26, 11it/s]

3.144681e-04 72.1%┣█████████████████████        ┫ 722/1.0k [01:07<00:26, 11it/s]

3.118876e-04 72.4%┣█████████████████████        ┫ 725/1.0k [01:07<00:26, 11it/s]

3.092396e-04 72.7%┣█████████████████████        ┫ 728/1.0k [01:07<00:25, 11it/s]

3.075190e-04 73.0%┣█████████████████████▏       ┫ 731/1.0k [01:07<00:25, 11it/s]

3.064434e-04 73.2%┣█████████████████████▎       ┫ 733/1.0k [01:07<00:25, 11it/s]

3.038839e-04 73.5%┣█████████████████████▎       ┫ 736/1.0k [01:07<00:24, 11it/s]

3.028689e-04 73.7%┣█████████████████████▍       ┫ 738/1.0k [01:08<00:24, 11it/s]

2.998816e-04 74.0%┣█████████████████████▌       ┫ 741/1.0k [01:08<00:24, 11it/s]

2.983161e-04 74.3%┣█████████████████████▌       ┫ 744/1.0k [01:08<00:23, 11it/s]

2.967128e-04 74.6%┣█████████████████████▋       ┫ 747/1.0k [01:08<00:23, 11it/s]

2.955971e-04 74.8%┣█████████████████████▊       ┫ 749/1.0k [01:08<00:23, 11it/s]

2.938368e-04 75.0%┣█████████████████████▊       ┫ 751/1.0k [01:08<00:23, 11it/s]

2.911503e-04 75.3%┣█████████████████████▉       ┫ 754/1.0k [01:08<00:22, 11it/s]

2.900375e-04 75.6%┣██████████████████████       ┫ 757/1.0k [01:08<00:22, 11it/s]

2.888914e-04 75.9%┣██████████████████████       ┫ 760/1.0k [01:08<00:22, 11it/s]

2.876023e-04 76.2%┣██████████████████████       ┫ 763/1.0k [01:08<00:21, 11it/s]

2.867712e-04 76.4%┣██████████████████████▏      ┫ 765/1.0k [01:08<00:21, 11it/s]

2.858335e-04 76.7%┣██████████████████████▎      ┫ 768/1.0k [01:08<00:21, 11it/s]

2.850021e-04 76.9%┣██████████████████████▎      ┫ 770/1.0k [01:08<00:21, 11it/s]

2.843090e-04 77.1%┣██████████████████████▍      ┫ 772/1.0k [01:08<00:20, 11it/s]

2.837707e-04 77.3%┣██████████████████████▍      ┫ 774/1.0k [01:08<00:20, 11it/s]

2.830608e-04 77.5%┣██████████████████████▌      ┫ 776/1.0k [01:08<00:20, 11it/s]

2.820851e-04 77.7%┣██████████████████████▌      ┫ 778/1.0k [01:09<00:20, 11it/s]

2.809453e-04 77.9%┣██████████████████████▋      ┫ 780/1.0k [01:09<00:19, 11it/s]

2.791169e-04 78.2%┣██████████████████████▊      ┫ 783/1.0k [01:09<00:19, 11it/s]

2.770775e-04 78.5%┣██████████████████████▊      ┫ 786/1.0k [01:09<00:19, 11it/s]

2.759046e-04 78.8%┣██████████████████████▉      ┫ 789/1.0k [01:09<00:19, 11it/s]

2.750599e-04 79.0%┣███████████████████████      ┫ 791/1.0k [01:09<00:18, 11it/s]

2.737474e-04 79.2%┣███████████████████████      ┫ 793/1.0k [01:09<00:18, 11it/s]

2.726498e-04 79.4%┣███████████████████████      ┫ 795/1.0k [01:09<00:18, 12it/s]

2.720026e-04 79.6%┣███████████████████████      ┫ 797/1.0k [01:09<00:18, 12it/s]

2.713449e-04 79.8%┣███████████████████████▏     ┫ 799/1.0k [01:09<00:17, 12it/s]

2.704445e-04 80.0%┣███████████████████████▏     ┫ 801/1.0k [01:09<00:17, 12it/s]

2.693097e-04 80.3%┣███████████████████████▎     ┫ 804/1.0k [01:09<00:17, 12it/s]

2.684826e-04 80.6%┣███████████████████████▍     ┫ 807/1.0k [01:09<00:17, 12it/s]

2.678113e-04 80.8%┣███████████████████████▍     ┫ 809/1.0k [01:09<00:16, 12it/s]

2.671495e-04 81.0%┣███████████████████████▌     ┫ 811/1.0k [01:09<00:16, 12it/s]

2.660307e-04 81.2%┣███████████████████████▌     ┫ 813/1.0k [01:09<00:16, 12it/s]

2.648202e-04 81.4%┣███████████████████████▋     ┫ 815/1.0k [01:09<00:16, 12it/s]

2.639927e-04 81.6%┣███████████████████████▊     ┫ 817/1.0k [01:10<00:16, 12it/s]

2.629790e-04 81.8%┣███████████████████████▊     ┫ 819/1.0k [01:10<00:15, 12it/s]

2.615508e-04 82.1%┣███████████████████████▉     ┫ 822/1.0k [01:10<00:15, 12it/s]

2.600806e-04 82.4%┣████████████████████████     ┫ 825/1.0k [01:10<00:15, 12it/s]

2.591084e-04 82.6%┣████████████████████████     ┫ 827/1.0k [01:10<00:15, 12it/s]

2.571606e-04 82.9%┣████████████████████████     ┫ 830/1.0k [01:10<00:14, 12it/s]

2.546327e-04 83.2%┣████████████████████████▏    ┫ 833/1.0k [01:10<00:14, 12it/s]

2.535618e-04 83.5%┣████████████████████████▏    ┫ 836/1.0k [01:10<00:14, 12it/s]

2.524987e-04 83.7%┣████████████████████████▎    ┫ 838/1.0k [01:10<00:14, 12it/s]

2.510936e-04 84.0%┣████████████████████████▍    ┫ 841/1.0k [01:10<00:13, 12it/s]

2.504317e-04 84.2%┣████████████████████████▍    ┫ 843/1.0k [01:10<00:13, 12it/s]

2.495880e-04 84.5%┣████████████████████████▌    ┫ 846/1.0k [01:10<00:13, 12it/s]

2.486468e-04 84.7%┣████████████████████████▋    ┫ 848/1.0k [01:10<00:13, 12it/s]

2.478618e-04 84.9%┣████████████████████████▋    ┫ 850/1.0k [01:10<00:12, 12it/s]

2.464009e-04 85.1%┣████████████████████████▊    ┫ 852/1.0k [01:10<00:12, 12it/s]

2.443133e-04 85.3%┣████████████████████████▊    ┫ 854/1.0k [01:10<00:12, 12it/s]

2.419890e-04 85.6%┣████████████████████████▉    ┫ 857/1.0k [01:10<00:12, 12it/s]

2.400918e-04 85.9%┣█████████████████████████    ┫ 860/1.0k [01:11<00:12, 12it/s]

2.384133e-04 86.2%┣█████████████████████████    ┫ 863/1.0k [01:11<00:11, 12it/s]

2.368526e-04 86.5%┣█████████████████████████    ┫ 866/1.0k [01:11<00:11, 12it/s]

2.351261e-04 86.8%┣█████████████████████████▏   ┫ 869/1.0k [01:11<00:11, 12it/s]

2.336255e-04 87.1%┣█████████████████████████▎   ┫ 872/1.0k [01:11<00:10, 12it/s]

2.324937e-04 87.4%┣█████████████████████████▍   ┫ 875/1.0k [01:11<00:10, 12it/s]

2.309698e-04 87.7%┣█████████████████████████▍   ┫ 878/1.0k [01:11<00:10, 12it/s]

2.289891e-04 88.0%┣█████████████████████████▌   ┫ 881/1.0k [01:11<00:10, 12it/s]

2.277514e-04 88.2%┣█████████████████████████▋   ┫ 883/1.0k [01:11<00:10, 12it/s]

2.260493e-04 88.5%┣█████████████████████████▊   ┫ 886/1.0k [01:11<00:09, 12it/s]

2.245121e-04 88.7%┣█████████████████████████▊   ┫ 888/1.0k [01:11<00:09, 12it/s]

2.228720e-04 89.0%┣█████████████████████████▉   ┫ 891/1.0k [01:11<00:09, 12it/s]

2.218657e-04 89.2%┣█████████████████████████▉   ┫ 893/1.0k [01:11<00:09, 13it/s]

2.206617e-04 89.5%┣██████████████████████████   ┫ 896/1.0k [01:11<00:08, 13it/s]

2.199168e-04 89.8%┣██████████████████████████   ┫ 899/1.0k [01:11<00:08, 13it/s]

2.184991e-04 90.1%┣██████████████████████████▏  ┫ 902/1.0k [01:11<00:08, 13it/s]

2.169058e-04 90.3%┣██████████████████████████▏  ┫ 904/1.0k [01:12<00:08, 13it/s]

2.151914e-04 90.6%┣██████████████████████████▎  ┫ 907/1.0k [01:12<00:07, 13it/s]

2.142134e-04 90.8%┣██████████████████████████▍  ┫ 909/1.0k [01:12<00:07, 13it/s]

2.130748e-04 91.1%┣██████████████████████████▍  ┫ 912/1.0k [01:12<00:07, 13it/s]

2.114997e-04 91.4%┣██████████████████████████▌  ┫ 915/1.0k [01:12<00:07, 13it/s]

2.096920e-04 91.7%┣██████████████████████████▋  ┫ 918/1.0k [01:12<00:07, 13it/s]

2.076066e-04 92.0%┣██████████████████████████▊  ┫ 921/1.0k [01:12<00:06, 13it/s]

2.061857e-04 92.3%┣██████████████████████████▊  ┫ 924/1.0k [01:12<00:06, 13it/s]

2.055254e-04 92.6%┣██████████████████████████▉  ┫ 927/1.0k [01:12<00:06, 13it/s]

2.050400e-04 92.8%┣███████████████████████████  ┫ 929/1.0k [01:12<00:06, 13it/s]

2.042081e-04 93.0%┣███████████████████████████  ┫ 931/1.0k [01:12<00:05, 13it/s]

2.021609e-04 93.3%┣███████████████████████████  ┫ 934/1.0k [01:12<00:05, 13it/s]

2.006947e-04 93.6%┣███████████████████████████▏ ┫ 937/1.0k [01:12<00:05, 13it/s]

1.991490e-04 93.9%┣███████████████████████████▎ ┫ 940/1.0k [01:12<00:05, 13it/s]

1.978371e-04 94.2%┣███████████████████████████▎ ┫ 943/1.0k [01:12<00:04, 13it/s]

1.968840e-04 94.5%┣███████████████████████████▍ ┫ 946/1.0k [01:12<00:04, 13it/s]

1.958773e-04 94.7%┣███████████████████████████▌ ┫ 948/1.0k [01:12<00:04, 13it/s]

1.946775e-04 95.0%┣███████████████████████████▌ ┫ 951/1.0k [01:13<00:04, 13it/s]

1.941923e-04 95.2%┣███████████████████████████▋ ┫ 953/1.0k [01:13<00:04, 13it/s]

1.937193e-04 95.4%┣███████████████████████████▊ ┫ 955/1.0k [01:13<00:04, 13it/s]

1.931737e-04 95.6%┣███████████████████████████▊ ┫ 957/1.0k [01:13<00:03, 13it/s]

1.919803e-04 95.9%┣███████████████████████████▉ ┫ 960/1.0k [01:13<00:03, 13it/s]

1.911734e-04 96.1%┣███████████████████████████▉ ┫ 962/1.0k [01:13<00:03, 13it/s]

1.904044e-04 96.3%┣████████████████████████████ ┫ 964/1.0k [01:13<00:03, 13it/s]

1.897955e-04 96.5%┣████████████████████████████ ┫ 966/1.0k [01:13<00:03, 13it/s]

1.892028e-04 96.7%┣████████████████████████████ ┫ 968/1.0k [01:13<00:02, 13it/s]

1.884064e-04 96.9%┣████████████████████████████ ┫ 970/1.0k [01:13<00:02, 13it/s]

1.871408e-04 97.2%┣████████████████████████████▏┫ 973/1.0k [01:13<00:02, 13it/s]

1.857775e-04 97.5%┣████████████████████████████▎┫ 976/1.0k [01:13<00:02, 13it/s]

1.844294e-04 97.8%┣████████████████████████████▍┫ 979/1.0k [01:13<00:02, 13it/s]

1.836894e-04 98.1%┣████████████████████████████▌┫ 982/1.0k [01:13<00:01, 13it/s]

1.831779e-04 98.3%┣████████████████████████████▌┫ 984/1.0k [01:13<00:01, 13it/s]

1.826115e-04 98.5%┣████████████████████████████▋┫ 986/1.0k [01:13<00:01, 13it/s]

1.814151e-04 98.8%┣████████████████████████████▋┫ 989/1.0k [01:14<00:01, 13it/s]

1.808344e-04 99.0%┣████████████████████████████▊┫ 991/1.0k [01:14<00:01, 13it/s]

1.804076e-04 99.2%┣████████████████████████████▊┫ 993/1.0k [01:14<00:01, 13it/s]

1.793945e-04 99.5%┣████████████████████████████▉┫ 996/1.0k [01:14<00:00, 14it/s]

1.784290e-04 99.7%┣█████████████████████████████┫ 998/1.0k [01:14<00:00, 14it/s]

1.777598e-04 99.9%┣████████████████████████████┫ 1.0k/1.0k [01:14<00:00, 14it/s]

1.773681e-04 100.0%┣███████████████████████████┫ 1.0k/1.0k [01:14<00:00, 14it/s]