Beispiel #1
0
def relax_system_stage1():

    mesh = CuboidMesh(nx=140 , ny=140, nz=1)

    sim = Sim(mesh, name='relax', driver='llg')
    #sim.set_options(dt=1e-14, gamma=const.gamma, k_B=const.k_B)
    sim.alpha = 0.5
    sim.do_precession = False
    sim.gamma = const.gamma
    sim.mu_s = spatial_mu

    sim.set_m(init_m)

    J = 50 * const.k_B
    exch = UniformExchange(J)
    sim.add(exch)

    D = 0.27 * J
    dmi = DMI(D)
    sim.add(dmi)

    zeeman = Zeeman(spatial_H)
    sim.add(zeeman)

    sim.relax(dt=1e-14, stopping_dmdt=1e10, max_steps=1000,
              save_m_steps=100, save_vtk_steps=10)

    np.save('skx.npy', sim.spin)
    plot_m(mesh, 'skx.npy', comp='z')
Beispiel #2
0
def excite_system(T=0.1, H=0.15):

    mesh = CuboidMesh(nx=28 * 3, ny=16 * 5, nz=1, pbc='2d')

    sim = Sim(mesh, name='dyn', driver='sllg')
    sim.set_options(dt=1e-14, gamma=const.gamma, k_B=const.k_B)
    sim.alpha = 0.1
    sim.mu_s = const.mu_s_1

    sim.set_m(random_m)

    J = 50 * const.k_B
    exch = UniformExchange(J)
    sim.add(exch)

    D = 0.5 * J
    dmi = DMI(D)
    sim.add(dmi)

    Hz = H * J / const.mu_s_1
    zeeman = Zeeman([0, 0, Hz])
    sim.add(zeeman)

    sim.T = J / const.k_B * T

    ts = np.linspace(0, 5e-11, 51)
    for t in ts:
        sim.run_until(t)
        # sim.save_vtk()

    np.save('m.npy', sim.spin)
    plot_m(mesh, 'm.npy', comp='z')