Simple example
In [ ]:
Copied!
from timeit import default_timer as timer
import matplotlib.pyplot as plt
import numpy as np
import gropt
from timeit import default_timer as timer
import matplotlib.pyplot as plt
import numpy as np
import gropt
In [ ]:
Copied!
gparams = gropt.GroptParams()
gparams.dt = 10e-6
gparams.N = 111
gparams.vec_init_simple()
gparams.add_gmax(.08)
gparams.add_smax(200)
gparams.add_moment(0,14.0)
gparams.add_moment(1,0.0)
start_t = timer()
result = gropt.solve(gparams)
out = result.X
stop_t = timer()
print(f'Converged: {result.converged} Solve time: {1000*(stop_t-start_t):.1f} ms')
gparams = gropt.GroptParams()
gparams.dt = 10e-6
gparams.N = 111
gparams.vec_init_simple()
gparams.add_gmax(.08)
gparams.add_smax(200)
gparams.add_moment(0,14.0)
gparams.add_moment(1,0.0)
start_t = timer()
result = gropt.solve(gparams)
out = result.X
stop_t = timer()
print(f'Converged: {result.converged} Solve time: {1000*(stop_t-start_t):.1f} ms')
In [16]:
Copied!
fig, ax = plt.subplots(figsize=(7,3), layout='constrained', dpi=200)
tt_ms = np.arange(out.size)*gparams.dt*1e3
plt.plot(tt_ms, out)
plt.xlabel('t [ms]')
plt.ylabel('G [T/m]')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.show()
fig, ax = plt.subplots(figsize=(7,3), layout='constrained', dpi=200)
tt_ms = np.arange(out.size)*gparams.dt*1e3
plt.plot(tt_ms, out)
plt.xlabel('t [ms]')
plt.ylabel('G [T/m]')
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.show()