In [26]:
import numpy as np
from IPython.display import Image, display
import matplotlib.pyplot as plt
%matplotlib inline
%load_ext autoreload
%autoreload 2
The autoreload extension is already loaded. To reload it, use: %reload_ext autoreload
Dedalus¶
Dedalus is a Python package for solving PDEs using spectral methods
Very recently published (Burns et al Phys Rev Research 2019)
Idea: specify our PDE in a high-level symbolic language, and then Dedalus will automatically generate optimized code to solve it
Requires a few hardware configurations and dependencies
Other "high-level" PDE solvers exist, especially for finite-element methods (Ansys, COMSOL, etc), but Dedalus is high quality, actively maintained (difficult to find in academic software), and completely open-source
Installation¶
- Instructions here
- Dedalus has a lot of dependencies, so it's best to install it in a conda environment
- On my Apple Silicon laptop, I had to use the second set of instructions for custom conda installation here to install Dedalus
In [ ]:
The Kuramoto-Sivashinsky equation¶
- A nonlinear PDE that is a relative of Burgers' equation that describes the dynamics of flame fronts
$$ \frac{\partial u}{\partial t} + \frac{\partial^4 u}{\partial x^4}+ \nu \frac{\partial^2 u}{\partial x^2} + u \frac{\partial u}{\partial x} = 0 $$
In [27]:
import numpy as np
import matplotlib.pyplot as plt
import dedalus.public as d3
import logging
logger = logging.getLogger(__name__)
## Specify simulation parameters
Lx = 50
Nx = 1024
nu = 1e0
dealias = 3/2
stop_sim_time = 200
timestepper = d3.SBDF2
timestep = 2e-3
dtype = np.float64
## Set up bases
xcoord = d3.Coordinate('x')
dist = d3.Distributor(xcoord, dtype=dtype)
xbasis = d3.RealFourier(xcoord, size=Nx, bounds=(0, Lx), dealias=dealias) # periodic basis
## Define dynamical Fields
u = dist.Field(name='u', bases=xbasis)
## Define operators
dx = lambda A: d3.Differentiate(A, xcoord)
## State PDE Problem
problem = d3.IVP([u], namespace=locals())
problem.add_equation("dt(u) + dx(dx(dx(dx(u)))) + nu * dx(dx(u)) = -u*dx(u)")
## Make random initial conditions that vanish at the boundaries
x = dist.local_grid(xbasis)
from scipy.ndimage import gaussian_filter1d
ic = gaussian_filter1d(np.random.random(x.shape), 10) * np.sin(np.pi * x / x[-1] )
dx_val = (2 * np.pi)/len(u['g'])
u['g'] = ic / (np.sum(ic) * dx_val)
## Solver
solver = problem.build_solver(timestepper)
solver.stop_sim_time = stop_sim_time
## Main loop
u.change_scales(1)
u_list = [np.copy(u['g'])]
t_list = [solver.sim_time]
while solver.proceed:
solver.step(timestep)
if solver.iteration % 500 == 0:
logger.info('Iteration=%i, Time=%e, dt=%e' %(solver.iteration, solver.sim_time, timestep))
if solver.iteration % 50 == 0:
u.change_scales(1)
u_list.append(np.copy(u['g']))
t_list.append(solver.sim_time)
## Plotting
plt.figure(figsize=(12, 6))
plt.pcolormesh(np.array(t_list), x.ravel(), np.array(u_list).T, cmap='RdBu_r', shading='gouraud', rasterized=True)
plt.xlim(0, stop_sim_time)
plt.ylim(0, Lx)
plt.xlabel('t')
plt.ylabel('x')
plt.title(f'Kuramoto-Sivashinsky, nu={nu}')
plt.tight_layout()
2022-10-14 00:00:43,425 subsystems 0/1 INFO :: Building subproblem matrices 1/1 (~100%) Elapsed: 0s, Remaining: 0s, Rate: 4.2e+01/s 2022-10-14 00:00:43,556 __main__ 0/1 INFO :: Iteration=500, Time=1.000000e+00, dt=2.000000e-03 2022-10-14 00:00:43,686 __main__ 0/1 INFO :: Iteration=1000, Time=2.000000e+00, dt=2.000000e-03 2022-10-14 00:00:43,820 __main__ 0/1 INFO :: Iteration=1500, Time=3.000000e+00, dt=2.000000e-03 2022-10-14 00:00:43,952 __main__ 0/1 INFO :: Iteration=2000, Time=4.000000e+00, dt=2.000000e-03 2022-10-14 00:00:44,078 __main__ 0/1 INFO :: Iteration=2500, Time=5.000000e+00, dt=2.000000e-03 2022-10-14 00:00:44,205 __main__ 0/1 INFO :: Iteration=3000, Time=6.000000e+00, dt=2.000000e-03 2022-10-14 00:00:44,333 __main__ 0/1 INFO :: Iteration=3500, Time=7.000000e+00, dt=2.000000e-03 2022-10-14 00:00:44,467 __main__ 0/1 INFO :: Iteration=4000, Time=8.000000e+00, dt=2.000000e-03 2022-10-14 00:00:44,601 __main__ 0/1 INFO :: Iteration=4500, Time=9.000000e+00, dt=2.000000e-03 2022-10-14 00:00:44,736 __main__ 0/1 INFO :: Iteration=5000, Time=1.000000e+01, dt=2.000000e-03 2022-10-14 00:00:44,863 __main__ 0/1 INFO :: Iteration=5500, Time=1.100000e+01, dt=2.000000e-03 2022-10-14 00:00:44,989 __main__ 0/1 INFO :: Iteration=6000, Time=1.200000e+01, dt=2.000000e-03 2022-10-14 00:00:45,114 __main__ 0/1 INFO :: Iteration=6500, Time=1.300000e+01, dt=2.000000e-03 2022-10-14 00:00:45,239 __main__ 0/1 INFO :: Iteration=7000, Time=1.400000e+01, dt=2.000000e-03 2022-10-14 00:00:45,365 __main__ 0/1 INFO :: Iteration=7500, Time=1.500000e+01, dt=2.000000e-03 2022-10-14 00:00:45,488 __main__ 0/1 INFO :: Iteration=8000, Time=1.600000e+01, dt=2.000000e-03 2022-10-14 00:00:45,615 __main__ 0/1 INFO :: Iteration=8500, Time=1.700000e+01, dt=2.000000e-03 2022-10-14 00:00:45,742 __main__ 0/1 INFO :: Iteration=9000, Time=1.800000e+01, dt=2.000000e-03 2022-10-14 00:00:45,869 __main__ 0/1 INFO :: Iteration=9500, Time=1.900000e+01, dt=2.000000e-03 2022-10-14 00:00:45,999 __main__ 0/1 INFO :: Iteration=10000, Time=2.000000e+01, dt=2.000000e-03 2022-10-14 00:00:46,129 __main__ 0/1 INFO :: Iteration=10500, Time=2.100000e+01, dt=2.000000e-03 2022-10-14 00:00:46,255 __main__ 0/1 INFO :: Iteration=11000, Time=2.200000e+01, dt=2.000000e-03 2022-10-14 00:00:46,383 __main__ 0/1 INFO :: Iteration=11500, Time=2.300000e+01, dt=2.000000e-03 2022-10-14 00:00:46,512 __main__ 0/1 INFO :: Iteration=12000, Time=2.400000e+01, dt=2.000000e-03 2022-10-14 00:00:46,639 __main__ 0/1 INFO :: Iteration=12500, Time=2.500000e+01, dt=2.000000e-03 2022-10-14 00:00:46,766 __main__ 0/1 INFO :: Iteration=13000, Time=2.600000e+01, dt=2.000000e-03 2022-10-14 00:00:46,893 __main__ 0/1 INFO :: Iteration=13500, Time=2.700000e+01, dt=2.000000e-03 2022-10-14 00:00:47,016 __main__ 0/1 INFO :: Iteration=14000, Time=2.800000e+01, dt=2.000000e-03 2022-10-14 00:00:47,139 __main__ 0/1 INFO :: Iteration=14500, Time=2.900000e+01, dt=2.000000e-03 2022-10-14 00:00:47,264 __main__ 0/1 INFO :: Iteration=15000, Time=3.000000e+01, dt=2.000000e-03 2022-10-14 00:00:47,387 __main__ 0/1 INFO :: Iteration=15500, Time=3.100000e+01, dt=2.000000e-03 2022-10-14 00:00:47,510 __main__ 0/1 INFO :: Iteration=16000, Time=3.200000e+01, dt=2.000000e-03 2022-10-14 00:00:47,632 __main__ 0/1 INFO :: Iteration=16500, Time=3.300000e+01, dt=2.000000e-03 2022-10-14 00:00:47,756 __main__ 0/1 INFO :: Iteration=17000, Time=3.400000e+01, dt=2.000000e-03 2022-10-14 00:00:47,879 __main__ 0/1 INFO :: Iteration=17500, Time=3.500000e+01, dt=2.000000e-03 2022-10-14 00:00:48,003 __main__ 0/1 INFO :: Iteration=18000, Time=3.600000e+01, dt=2.000000e-03 2022-10-14 00:00:48,133 __main__ 0/1 INFO :: Iteration=18500, Time=3.700000e+01, dt=2.000000e-03 2022-10-14 00:00:48,261 __main__ 0/1 INFO :: Iteration=19000, Time=3.800000e+01, dt=2.000000e-03 2022-10-14 00:00:48,389 __main__ 0/1 INFO :: Iteration=19500, Time=3.900000e+01, dt=2.000000e-03 2022-10-14 00:00:48,518 __main__ 0/1 INFO :: Iteration=20000, Time=4.000000e+01, dt=2.000000e-03 2022-10-14 00:00:48,647 __main__ 0/1 INFO :: Iteration=20500, Time=4.100000e+01, dt=2.000000e-03 2022-10-14 00:00:48,774 __main__ 0/1 INFO :: Iteration=21000, Time=4.200000e+01, dt=2.000000e-03 2022-10-14 00:00:48,900 __main__ 0/1 INFO :: Iteration=21500, Time=4.300000e+01, dt=2.000000e-03 2022-10-14 00:00:49,027 __main__ 0/1 INFO :: Iteration=22000, Time=4.400000e+01, dt=2.000000e-03 2022-10-14 00:00:49,161 __main__ 0/1 INFO :: Iteration=22500, Time=4.500000e+01, dt=2.000000e-03 2022-10-14 00:00:49,291 __main__ 0/1 INFO :: Iteration=23000, Time=4.600000e+01, dt=2.000000e-03 2022-10-14 00:00:49,417 __main__ 0/1 INFO :: Iteration=23500, Time=4.700000e+01, dt=2.000000e-03 2022-10-14 00:00:49,543 __main__ 0/1 INFO :: Iteration=24000, Time=4.800000e+01, dt=2.000000e-03 2022-10-14 00:00:49,669 __main__ 0/1 INFO :: Iteration=24500, Time=4.900000e+01, dt=2.000000e-03 2022-10-14 00:00:49,795 __main__ 0/1 INFO :: Iteration=25000, Time=5.000000e+01, dt=2.000000e-03 2022-10-14 00:00:49,922 __main__ 0/1 INFO :: Iteration=25500, Time=5.100000e+01, dt=2.000000e-03 2022-10-14 00:00:50,044 __main__ 0/1 INFO :: Iteration=26000, Time=5.200000e+01, dt=2.000000e-03 2022-10-14 00:00:50,164 __main__ 0/1 INFO :: Iteration=26500, Time=5.300000e+01, dt=2.000000e-03 2022-10-14 00:00:50,286 __main__ 0/1 INFO :: Iteration=27000, Time=5.400000e+01, dt=2.000000e-03 2022-10-14 00:00:50,407 __main__ 0/1 INFO :: Iteration=27500, Time=5.500000e+01, dt=2.000000e-03 2022-10-14 00:00:50,526 __main__ 0/1 INFO :: Iteration=28000, Time=5.600000e+01, dt=2.000000e-03 2022-10-14 00:00:50,645 __main__ 0/1 INFO :: Iteration=28500, Time=5.700000e+01, dt=2.000000e-03 2022-10-14 00:00:50,772 __main__ 0/1 INFO :: Iteration=29000, Time=5.800000e+01, dt=2.000000e-03 2022-10-14 00:00:50,894 __main__ 0/1 INFO :: Iteration=29500, Time=5.900000e+01, dt=2.000000e-03 2022-10-14 00:00:51,014 __main__ 0/1 INFO :: Iteration=30000, Time=6.000000e+01, dt=2.000000e-03 2022-10-14 00:00:51,134 __main__ 0/1 INFO :: Iteration=30500, Time=6.100000e+01, dt=2.000000e-03 2022-10-14 00:00:51,254 __main__ 0/1 INFO :: Iteration=31000, Time=6.200000e+01, dt=2.000000e-03 2022-10-14 00:00:51,374 __main__ 0/1 INFO :: Iteration=31500, Time=6.300000e+01, dt=2.000000e-03 2022-10-14 00:00:51,495 __main__ 0/1 INFO :: Iteration=32000, Time=6.400000e+01, dt=2.000000e-03 2022-10-14 00:00:51,615 __main__ 0/1 INFO :: Iteration=32500, Time=6.500000e+01, dt=2.000000e-03 2022-10-14 00:00:51,735 __main__ 0/1 INFO :: Iteration=33000, Time=6.600000e+01, dt=2.000000e-03 2022-10-14 00:00:51,854 __main__ 0/1 INFO :: Iteration=33500, Time=6.700000e+01, dt=2.000000e-03 2022-10-14 00:00:51,974 __main__ 0/1 INFO :: Iteration=34000, Time=6.800000e+01, dt=2.000000e-03 2022-10-14 00:00:52,094 __main__ 0/1 INFO :: Iteration=34500, Time=6.900000e+01, dt=2.000000e-03 2022-10-14 00:00:52,214 __main__ 0/1 INFO :: Iteration=35000, Time=7.000000e+01, dt=2.000000e-03 2022-10-14 00:00:52,335 __main__ 0/1 INFO :: Iteration=35500, Time=7.100000e+01, dt=2.000000e-03 2022-10-14 00:00:52,453 __main__ 0/1 INFO :: Iteration=36000, Time=7.200000e+01, dt=2.000000e-03 2022-10-14 00:00:52,573 __main__ 0/1 INFO :: Iteration=36500, Time=7.300000e+01, dt=2.000000e-03 2022-10-14 00:00:52,692 __main__ 0/1 INFO :: Iteration=37000, Time=7.400000e+01, dt=2.000000e-03 2022-10-14 00:00:52,815 __main__ 0/1 INFO :: Iteration=37500, Time=7.500000e+01, dt=2.000000e-03 2022-10-14 00:00:52,936 __main__ 0/1 INFO :: Iteration=38000, Time=7.600000e+01, dt=2.000000e-03 2022-10-14 00:00:53,055 __main__ 0/1 INFO :: Iteration=38500, Time=7.700000e+01, dt=2.000000e-03 2022-10-14 00:00:53,173 __main__ 0/1 INFO :: Iteration=39000, Time=7.800000e+01, dt=2.000000e-03 2022-10-14 00:00:53,293 __main__ 0/1 INFO :: Iteration=39500, Time=7.900000e+01, dt=2.000000e-03 2022-10-14 00:00:53,412 __main__ 0/1 INFO :: Iteration=40000, Time=8.000000e+01, dt=2.000000e-03 2022-10-14 00:00:53,531 __main__ 0/1 INFO :: Iteration=40500, Time=8.100000e+01, dt=2.000000e-03 2022-10-14 00:00:53,650 __main__ 0/1 INFO :: Iteration=41000, Time=8.200000e+01, dt=2.000000e-03 2022-10-14 00:00:53,769 __main__ 0/1 INFO :: Iteration=41500, Time=8.300000e+01, dt=2.000000e-03 2022-10-14 00:00:53,888 __main__ 0/1 INFO :: Iteration=42000, Time=8.400000e+01, dt=2.000000e-03 2022-10-14 00:00:54,008 __main__ 0/1 INFO :: Iteration=42500, Time=8.500000e+01, dt=2.000000e-03 2022-10-14 00:00:54,126 __main__ 0/1 INFO :: Iteration=43000, Time=8.600000e+01, dt=2.000000e-03 2022-10-14 00:00:54,245 __main__ 0/1 INFO :: Iteration=43500, Time=8.700000e+01, dt=2.000000e-03 2022-10-14 00:00:54,363 __main__ 0/1 INFO :: Iteration=44000, Time=8.800000e+01, dt=2.000000e-03 2022-10-14 00:00:54,484 __main__ 0/1 INFO :: Iteration=44500, Time=8.900000e+01, dt=2.000000e-03 2022-10-14 00:00:54,602 __main__ 0/1 INFO :: Iteration=45000, Time=9.000000e+01, dt=2.000000e-03 2022-10-14 00:00:54,721 __main__ 0/1 INFO :: Iteration=45500, Time=9.100000e+01, dt=2.000000e-03 2022-10-14 00:00:54,839 __main__ 0/1 INFO :: Iteration=46000, Time=9.200000e+01, dt=2.000000e-03 2022-10-14 00:00:54,959 __main__ 0/1 INFO :: Iteration=46500, Time=9.300000e+01, dt=2.000000e-03 2022-10-14 00:00:55,080 __main__ 0/1 INFO :: Iteration=47000, Time=9.400000e+01, dt=2.000000e-03 2022-10-14 00:00:55,198 __main__ 0/1 INFO :: Iteration=47500, Time=9.500000e+01, dt=2.000000e-03 2022-10-14 00:00:55,317 __main__ 0/1 INFO :: Iteration=48000, Time=9.600000e+01, dt=2.000000e-03 2022-10-14 00:00:55,436 __main__ 0/1 INFO :: Iteration=48500, Time=9.700000e+01, dt=2.000000e-03 2022-10-14 00:00:55,554 __main__ 0/1 INFO :: Iteration=49000, Time=9.800000e+01, dt=2.000000e-03 2022-10-14 00:00:55,674 __main__ 0/1 INFO :: Iteration=49500, Time=9.900000e+01, dt=2.000000e-03 2022-10-14 00:00:55,794 __main__ 0/1 INFO :: Iteration=50000, Time=1.000000e+02, dt=2.000000e-03 2022-10-14 00:00:55,913 __main__ 0/1 INFO :: Iteration=50500, Time=1.010000e+02, dt=2.000000e-03 2022-10-14 00:00:56,030 __main__ 0/1 INFO :: Iteration=51000, Time=1.020000e+02, dt=2.000000e-03 2022-10-14 00:00:56,147 __main__ 0/1 INFO :: Iteration=51500, Time=1.030000e+02, dt=2.000000e-03 2022-10-14 00:00:56,266 __main__ 0/1 INFO :: Iteration=52000, Time=1.040000e+02, dt=2.000000e-03 2022-10-14 00:00:56,385 __main__ 0/1 INFO :: Iteration=52500, Time=1.050000e+02, dt=2.000000e-03 2022-10-14 00:00:56,503 __main__ 0/1 INFO :: Iteration=53000, Time=1.060000e+02, dt=2.000000e-03 2022-10-14 00:00:56,621 __main__ 0/1 INFO :: Iteration=53500, Time=1.070000e+02, dt=2.000000e-03 2022-10-14 00:00:56,740 __main__ 0/1 INFO :: Iteration=54000, Time=1.080000e+02, dt=2.000000e-03 2022-10-14 00:00:56,858 __main__ 0/1 INFO :: Iteration=54500, Time=1.090000e+02, dt=2.000000e-03 2022-10-14 00:00:56,976 __main__ 0/1 INFO :: Iteration=55000, Time=1.100000e+02, dt=2.000000e-03 2022-10-14 00:00:57,096 __main__ 0/1 INFO :: Iteration=55500, Time=1.110000e+02, dt=2.000000e-03 2022-10-14 00:00:57,215 __main__ 0/1 INFO :: Iteration=56000, Time=1.120000e+02, dt=2.000000e-03 2022-10-14 00:00:57,336 __main__ 0/1 INFO :: Iteration=56500, Time=1.130000e+02, dt=2.000000e-03 2022-10-14 00:00:57,456 __main__ 0/1 INFO :: Iteration=57000, Time=1.140000e+02, dt=2.000000e-03 2022-10-14 00:00:57,577 __main__ 0/1 INFO :: Iteration=57500, Time=1.150000e+02, dt=2.000000e-03 2022-10-14 00:00:57,697 __main__ 0/1 INFO :: Iteration=58000, Time=1.160000e+02, dt=2.000000e-03 2022-10-14 00:00:57,816 __main__ 0/1 INFO :: Iteration=58500, Time=1.170000e+02, dt=2.000000e-03 2022-10-14 00:00:57,936 __main__ 0/1 INFO :: Iteration=59000, Time=1.180000e+02, dt=2.000000e-03 2022-10-14 00:00:58,055 __main__ 0/1 INFO :: Iteration=59500, Time=1.190000e+02, dt=2.000000e-03 2022-10-14 00:00:58,175 __main__ 0/1 INFO :: Iteration=60000, Time=1.200000e+02, dt=2.000000e-03 2022-10-14 00:00:58,294 __main__ 0/1 INFO :: Iteration=60500, Time=1.210000e+02, dt=2.000000e-03 2022-10-14 00:00:58,415 __main__ 0/1 INFO :: Iteration=61000, Time=1.220000e+02, dt=2.000000e-03 2022-10-14 00:00:58,535 __main__ 0/1 INFO :: Iteration=61500, Time=1.230000e+02, dt=2.000000e-03 2022-10-14 00:00:58,654 __main__ 0/1 INFO :: Iteration=62000, Time=1.240000e+02, dt=2.000000e-03 2022-10-14 00:00:58,773 __main__ 0/1 INFO :: Iteration=62500, Time=1.250000e+02, dt=2.000000e-03 2022-10-14 00:00:58,893 __main__ 0/1 INFO :: Iteration=63000, Time=1.260000e+02, dt=2.000000e-03 2022-10-14 00:00:59,012 __main__ 0/1 INFO :: Iteration=63500, Time=1.270000e+02, dt=2.000000e-03 2022-10-14 00:00:59,130 __main__ 0/1 INFO :: Iteration=64000, Time=1.280000e+02, dt=2.000000e-03 2022-10-14 00:00:59,247 __main__ 0/1 INFO :: Iteration=64500, Time=1.290000e+02, dt=2.000000e-03 2022-10-14 00:00:59,366 __main__ 0/1 INFO :: Iteration=65000, Time=1.300000e+02, dt=2.000000e-03 2022-10-14 00:00:59,484 __main__ 0/1 INFO :: Iteration=65500, Time=1.310000e+02, dt=2.000000e-03 2022-10-14 00:00:59,601 __main__ 0/1 INFO :: Iteration=66000, Time=1.320000e+02, dt=2.000000e-03 2022-10-14 00:00:59,719 __main__ 0/1 INFO :: Iteration=66500, Time=1.330000e+02, dt=2.000000e-03 2022-10-14 00:00:59,836 __main__ 0/1 INFO :: Iteration=67000, Time=1.340000e+02, dt=2.000000e-03 2022-10-14 00:00:59,956 __main__ 0/1 INFO :: Iteration=67500, Time=1.350000e+02, dt=2.000000e-03 2022-10-14 00:01:00,077 __main__ 0/1 INFO :: Iteration=68000, Time=1.360000e+02, dt=2.000000e-03 2022-10-14 00:01:00,197 __main__ 0/1 INFO :: Iteration=68500, Time=1.370000e+02, dt=2.000000e-03 2022-10-14 00:01:00,317 __main__ 0/1 INFO :: Iteration=69000, Time=1.380000e+02, dt=2.000000e-03 2022-10-14 00:01:00,436 __main__ 0/1 INFO :: Iteration=69500, Time=1.390000e+02, dt=2.000000e-03 2022-10-14 00:01:00,554 __main__ 0/1 INFO :: Iteration=70000, Time=1.400000e+02, dt=2.000000e-03 2022-10-14 00:01:00,672 __main__ 0/1 INFO :: Iteration=70500, Time=1.410000e+02, dt=2.000000e-03 2022-10-14 00:01:00,789 __main__ 0/1 INFO :: Iteration=71000, Time=1.420000e+02, dt=2.000000e-03 2022-10-14 00:01:00,907 __main__ 0/1 INFO :: Iteration=71500, Time=1.430000e+02, dt=2.000000e-03 2022-10-14 00:01:01,027 __main__ 0/1 INFO :: Iteration=72000, Time=1.440000e+02, dt=2.000000e-03 2022-10-14 00:01:01,147 __main__ 0/1 INFO :: Iteration=72500, Time=1.450000e+02, dt=2.000000e-03 2022-10-14 00:01:01,266 __main__ 0/1 INFO :: Iteration=73000, Time=1.460000e+02, dt=2.000000e-03 2022-10-14 00:01:01,384 __main__ 0/1 INFO :: Iteration=73500, Time=1.470000e+02, dt=2.000000e-03 2022-10-14 00:01:01,502 __main__ 0/1 INFO :: Iteration=74000, Time=1.480000e+02, dt=2.000000e-03 2022-10-14 00:01:01,621 __main__ 0/1 INFO :: Iteration=74500, Time=1.490000e+02, dt=2.000000e-03 2022-10-14 00:01:01,739 __main__ 0/1 INFO :: Iteration=75000, Time=1.500000e+02, dt=2.000000e-03 2022-10-14 00:01:01,856 __main__ 0/1 INFO :: Iteration=75500, Time=1.510000e+02, dt=2.000000e-03 2022-10-14 00:01:01,974 __main__ 0/1 INFO :: Iteration=76000, Time=1.520000e+02, dt=2.000000e-03 2022-10-14 00:01:02,093 __main__ 0/1 INFO :: Iteration=76500, Time=1.530000e+02, dt=2.000000e-03 2022-10-14 00:01:02,211 __main__ 0/1 INFO :: Iteration=77000, Time=1.540000e+02, dt=2.000000e-03 2022-10-14 00:01:02,330 __main__ 0/1 INFO :: Iteration=77500, Time=1.550000e+02, dt=2.000000e-03 2022-10-14 00:01:02,448 __main__ 0/1 INFO :: Iteration=78000, Time=1.560000e+02, dt=2.000000e-03 2022-10-14 00:01:02,567 __main__ 0/1 INFO :: Iteration=78500, Time=1.570000e+02, dt=2.000000e-03 2022-10-14 00:01:02,684 __main__ 0/1 INFO :: Iteration=79000, Time=1.580000e+02, dt=2.000000e-03 2022-10-14 00:01:02,802 __main__ 0/1 INFO :: Iteration=79500, Time=1.590000e+02, dt=2.000000e-03 2022-10-14 00:01:02,919 __main__ 0/1 INFO :: Iteration=80000, Time=1.600000e+02, dt=2.000000e-03 2022-10-14 00:01:03,037 __main__ 0/1 INFO :: Iteration=80500, Time=1.610000e+02, dt=2.000000e-03 2022-10-14 00:01:03,155 __main__ 0/1 INFO :: Iteration=81000, Time=1.620000e+02, dt=2.000000e-03 2022-10-14 00:01:03,273 __main__ 0/1 INFO :: Iteration=81500, Time=1.630000e+02, dt=2.000000e-03 2022-10-14 00:01:03,392 __main__ 0/1 INFO :: Iteration=82000, Time=1.640000e+02, dt=2.000000e-03 2022-10-14 00:01:03,510 __main__ 0/1 INFO :: Iteration=82500, Time=1.650000e+02, dt=2.000000e-03 2022-10-14 00:01:03,628 __main__ 0/1 INFO :: Iteration=83000, Time=1.660000e+02, dt=2.000000e-03 2022-10-14 00:01:03,745 __main__ 0/1 INFO :: Iteration=83500, Time=1.670000e+02, dt=2.000000e-03 2022-10-14 00:01:03,862 __main__ 0/1 INFO :: Iteration=84000, Time=1.680000e+02, dt=2.000000e-03 2022-10-14 00:01:03,980 __main__ 0/1 INFO :: Iteration=84500, Time=1.690000e+02, dt=2.000000e-03 2022-10-14 00:01:04,098 __main__ 0/1 INFO :: Iteration=85000, Time=1.700000e+02, dt=2.000000e-03 2022-10-14 00:01:04,215 __main__ 0/1 INFO :: Iteration=85500, Time=1.710000e+02, dt=2.000000e-03 2022-10-14 00:01:04,333 __main__ 0/1 INFO :: Iteration=86000, Time=1.720000e+02, dt=2.000000e-03 2022-10-14 00:01:04,450 __main__ 0/1 INFO :: Iteration=86500, Time=1.730000e+02, dt=2.000000e-03 2022-10-14 00:01:04,568 __main__ 0/1 INFO :: Iteration=87000, Time=1.740000e+02, dt=2.000000e-03 2022-10-14 00:01:04,685 __main__ 0/1 INFO :: Iteration=87500, Time=1.750000e+02, dt=2.000000e-03 2022-10-14 00:01:04,802 __main__ 0/1 INFO :: Iteration=88000, Time=1.760000e+02, dt=2.000000e-03 2022-10-14 00:01:04,922 __main__ 0/1 INFO :: Iteration=88500, Time=1.770000e+02, dt=2.000000e-03 2022-10-14 00:01:05,041 __main__ 0/1 INFO :: Iteration=89000, Time=1.780000e+02, dt=2.000000e-03 2022-10-14 00:01:05,159 __main__ 0/1 INFO :: Iteration=89500, Time=1.790000e+02, dt=2.000000e-03 2022-10-14 00:01:05,277 __main__ 0/1 INFO :: Iteration=90000, Time=1.800000e+02, dt=2.000000e-03 2022-10-14 00:01:05,396 __main__ 0/1 INFO :: Iteration=90500, Time=1.810000e+02, dt=2.000000e-03 2022-10-14 00:01:05,515 __main__ 0/1 INFO :: Iteration=91000, Time=1.820000e+02, dt=2.000000e-03 2022-10-14 00:01:05,635 __main__ 0/1 INFO :: Iteration=91500, Time=1.830000e+02, dt=2.000000e-03 2022-10-14 00:01:05,755 __main__ 0/1 INFO :: Iteration=92000, Time=1.840000e+02, dt=2.000000e-03 2022-10-14 00:01:05,873 __main__ 0/1 INFO :: Iteration=92500, Time=1.850000e+02, dt=2.000000e-03 2022-10-14 00:01:05,992 __main__ 0/1 INFO :: Iteration=93000, Time=1.860000e+02, dt=2.000000e-03 2022-10-14 00:01:06,113 __main__ 0/1 INFO :: Iteration=93500, Time=1.870000e+02, dt=2.000000e-03 2022-10-14 00:01:06,233 __main__ 0/1 INFO :: Iteration=94000, Time=1.880000e+02, dt=2.000000e-03 2022-10-14 00:01:06,351 __main__ 0/1 INFO :: Iteration=94500, Time=1.890000e+02, dt=2.000000e-03 2022-10-14 00:01:06,471 __main__ 0/1 INFO :: Iteration=95000, Time=1.900000e+02, dt=2.000000e-03 2022-10-14 00:01:06,590 __main__ 0/1 INFO :: Iteration=95500, Time=1.910000e+02, dt=2.000000e-03 2022-10-14 00:01:06,708 __main__ 0/1 INFO :: Iteration=96000, Time=1.920000e+02, dt=2.000000e-03 2022-10-14 00:01:06,827 __main__ 0/1 INFO :: Iteration=96500, Time=1.930000e+02, dt=2.000000e-03 2022-10-14 00:01:06,946 __main__ 0/1 INFO :: Iteration=97000, Time=1.940000e+02, dt=2.000000e-03 2022-10-14 00:01:07,066 __main__ 0/1 INFO :: Iteration=97500, Time=1.950000e+02, dt=2.000000e-03 2022-10-14 00:01:07,186 __main__ 0/1 INFO :: Iteration=98000, Time=1.960000e+02, dt=2.000000e-03 2022-10-14 00:01:07,305 __main__ 0/1 INFO :: Iteration=98500, Time=1.970000e+02, dt=2.000000e-03 2022-10-14 00:01:07,422 __main__ 0/1 INFO :: Iteration=99000, Time=1.980000e+02, dt=2.000000e-03 2022-10-14 00:01:07,540 __main__ 0/1 INFO :: Iteration=99500, Time=1.990000e+02, dt=2.000000e-03 2022-10-14 00:01:07,659 __main__ 0/1 INFO :: Iteration=100000, Time=2.000000e+02, dt=2.000000e-03 2022-10-14 00:01:07,659 solvers 0/1 INFO :: Simulation stop time reached.