本文整理汇总了Python中fidimag.micro.Sim.stat方法的典型用法代码示例。如果您正苦于以下问题:Python Sim.stat方法的具体用法?Python Sim.stat怎么用?Python Sim.stat使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fidimag.micro.Sim
的用法示例。
在下文中一共展示了Sim.stat方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_sim_single_spin
# 需要导入模块: from fidimag.micro import Sim [as 别名]
# 或者: from fidimag.micro.Sim import stat [as 别名]
def test_sim_single_spin(do_plot=False):
mesh = CuboidMesh(nx=1, ny=1, nz=1)
sim = Sim(mesh, name='spin')
alpha = 0.1
gamma = 2.21e5
sim.alpha = alpha
sim.gamma = gamma
sim.mu_s = 1.0
sim.set_m((1, 0, 0))
H0 = 1e5
sim.add(Zeeman((0, 0, H0)))
ts = np.linspace(0, 1e-9, 101)
mx = []
my = []
mz = []
real_ts = []
for t in ts:
sim.run_until(t)
real_ts.append(sim.t)
print sim.t, abs(sim.spin_length()[0] - 1)
mx.append(sim.spin[0])
my.append(sim.spin[1])
mz.append(sim.spin[2])
mz = np.array(mz)
# print mz
a_mx, a_my, a_mz = single_spin(alpha, gamma, H0, ts)
print sim.stat()
if do_plot:
ts_ns = np.array(real_ts) * 1e9
plt.plot(ts_ns, mx, ".", label="mx", color='DarkGreen')
plt.plot(ts_ns, my, ".", label="my", color='darkslateblue')
plt.plot(ts_ns, mz, ".", label="mz", color='m')
plt.plot(ts_ns, a_mx, "--", label="analytical", color='b')
plt.plot(ts_ns, a_my, "--", color='b')
plt.plot(ts_ns, a_mz, "--", color='b')
plt.xlabel("time (ns)")
plt.ylabel("m")
plt.title("integrating a macrospin")
plt.legend()
plt.savefig("single_spin.pdf")
print("Max Deviation = {0}".format(
np.max(np.abs(mz - a_mz))))
assert np.max(np.abs(mz - a_mz)) < 5e-7