from __future__ import print_function
import numpy
import math
from kdv import KDV
if __name__ == '__main__':
nx = 1000
x_min = 0
x_max = 100.0
nt = 10001
t_max = 10.0
# "runge_kutta" (default), "euler", or "odeint"
algo = "runge_kutta"
# initialize
kdv = KDV(nx, x_min, x_max, nt, t_max)
# set initial condition
x = kdv.x
u0 = numpy.sin(x * (2.0 * math.pi / x_max))
kdv.u0 = u0
# solve equation
kdv.solve(algo)
# animation
t_skip = 100
kdv.save_animation(t_skip, ylim=[-1.5, 3.0], filename="kdv_sin.gif")
# kdv.save_animation(t_skip, ylim=[-1.5, 3.0])