Diffusion constraint
In [ ]:
Copied!
from timeit import default_timer as timer
import matplotlib.pyplot as plt
import numpy as np
import gropt
print(gropt.__file__)
from timeit import default_timer as timer
import matplotlib.pyplot as plt
import numpy as np
import gropt
print(gropt.__file__)
In [ ]:
Copied!
gparams = gropt.GroptParams()
gparams.diff_init()
gparams.add_gmax(.03)
gparams.add_smax(100)
gparams.add_moment(0,0.0)
gparams.add_moment(1,0.0)
gparams.add_moment(2,0.0)
gparams.add_bvalue(106,1)
start_t = timer()
result = gropt.solve(gparams, max_iter=5000)
out = result.X
stop_t = timer()
print(f'Converged: {result.converged} Solve time: {1000*(stop_t-start_t):.1f} ms')
plt.figure(figsize=(6,3))
tt_ms = np.arange(out.size)*gparams.dt*1e3
plt.plot(tt_ms, out)
plt.show()
gparams = gropt.GroptParams()
gparams.diff_init()
gparams.add_gmax(.03)
gparams.add_smax(100)
gparams.add_moment(0,0.0)
gparams.add_moment(1,0.0)
gparams.add_moment(2,0.0)
gparams.add_bvalue(106,1)
start_t = timer()
result = gropt.solve(gparams, max_iter=5000)
out = result.X
stop_t = timer()
print(f'Converged: {result.converged} Solve time: {1000*(stop_t-start_t):.1f} ms')
plt.figure(figsize=(6,3))
tt_ms = np.arange(out.size)*gparams.dt*1e3
plt.plot(tt_ms, out)
plt.show()
In [ ]:
Copied!