def relax_system(mesh): sim = Sim(mesh, chi=1e-3, name='relax', driver='llbar_full') sim.driver.set_tols(rtol=1e-7, atol=1e-7) sim.Ms = 8.0e5 sim.driver.alpha = 0.1 sim.beta = 0 sim.driver.gamma = 2.211e5 sim.set_m((1, 0.25, 0.1)) # sim.set_m(np.load('m0.npy')) A = 1.3e-11 exch = UniformExchange(A=A) sim.add(exch) mT = 795.7747154594767 zeeman = Zeeman([-100 * mT, 4.3 * mT, 0], name='H') sim.add(zeeman, save_field=True) demag = Demag() sim.add(demag) ONE_DEGREE_PER_NS = 17453292.52 sim.relax(dt=1e-12, stopping_dmdt=0.01, max_steps=5000, save_m_steps=100, save_vtk_steps=50) np.save('m0.npy', sim.spin)
def relax_system(mesh): sim = Sim(mesh, chi=1e-3, name='relax', driver='llbar_full') sim.set_tols(rtol=1e-7, atol=1e-7) sim.Ms = 8.0e5 sim.alpha = 0.1 sim.beta = 0 sim.gamma = 2.211e5 sim.set_m((1, 0.25, 0.1)) # sim.set_m(np.load('m0.npy')) A = 1.3e-11 exch = UniformExchange(A=A) sim.add(exch) mT = 795.7747154594767 zeeman = Zeeman([-100 * mT, 4.3 * mT, 0], name='H') sim.add(zeeman, save_field=True) demag = Demag() sim.add(demag) ONE_DEGREE_PER_NS = 17453292.52 sim.relax(dt=1e-12, stopping_dmdt=0.01, max_steps=5000, save_m_steps=100, save_vtk_steps=50) np.save('m0.npy', sim.spin)
def excite_system(mesh, beta=0.0): # Specify the stt dynamics in the simulation sim = Sim(mesh, name='dyn_%g'%beta, driver='llg_stt_cpp') sim.driver.set_tols(rtol=1e-12, atol=1e-12) sim.driver.alpha = 0.1 sim.driver.gamma = 2.211e5 sim.Ms = 8.6e5 # sim.set_m(init_m) sim.set_m(np.load('m0.npy')) # Energies A = 1.3e-11 exch = UniformExchange(A=A) sim.add(exch) anis = UniaxialAnisotropy(5e4) sim.add(anis) # beta is the parameter in the STT torque sim.a_J = global_const*1e11 sim.p = (1,0,0) sim.beta = beta # The simulation will run for 5 ns and save # 500 snapshots of the system in the process ts = np.linspace(0, 0.5e-9, 21) xs=[] thetas=[] for t in ts: print('time', t) sim.run_until(t) spin = sim.spin.copy() x, theta = extract_dw(spin) xs.append(x) thetas.append(theta) sim.save_vtk() np.savetxt('dw_%g.txt'%beta,np.transpose(np.array([ts, xs,thetas])))
def excite_system(mesh, beta=0.0): # Specify the stt dynamics in the simulation sim = Sim(mesh, name='dyn_%g' % beta, driver='llg_stt_cpp') sim.driver.set_tols(rtol=1e-12, atol=1e-12) sim.driver.alpha = 0.1 sim.driver.gamma = 2.211e5 sim.Ms = 8.6e5 # sim.set_m(init_m) sim.set_m(np.load('m0.npy')) # Energies A = 1.3e-11 exch = UniformExchange(A=A) sim.add(exch) anis = UniaxialAnisotropy(5e4) sim.add(anis) # beta is the parameter in the STT torque sim.a_J = global_const * 1e11 sim.p = (1, 0, 0) sim.beta = beta # The simulation will run for 5 ns and save # 500 snapshots of the system in the process ts = np.linspace(0, 0.5e-9, 21) xs = [] thetas = [] for t in ts: print('time', t) sim.run_until(t) spin = sim.spin.copy() x, theta = extract_dw(spin) xs.append(x) thetas.append(theta) sim.save_vtk() np.savetxt('dw_%g.txt' % beta, np.transpose(np.array([ts, xs, thetas])))
def excite_system(mesh, time=5, snaps=501): # Specify the stt dynamics in the simulation sim = Sim(mesh, name='dyn', driver='llg_stt') # Set the simulation parameters sim.set_tols(rtol=1e-12, atol=1e-14) sim.alpha = 0.05 sim.gamma = 2.211e5 sim.Ms = 8.6e5 # Load the initial state from the npy file saved # in the realxation sim.set_m(np.load('m0.npy')) # Add the energies A = 1.3e-11 exch = UniformExchange(A=A) sim.add(exch) anis = UniaxialAnisotropy(5e4) sim.add(anis) # dmi = DMI(D=8e-4) # sim.add(dmi) # Set the current in the x direction, in A / m # beta is the parameter in the STT torque sim.jx = -1e12 sim.beta = 1 # The simulation will run for x ns and save # 'snaps' snapshots of the system in the process ts = np.linspace(0, time * 1e-9, snaps) for t in ts: print 'time', t sim.run_until(t) sim.save_vtk() sim.save_m()
def excite_system(mesh, time=5, snaps=501): # Specify the stt dynamics in the simulation sim = Sim(mesh, name='dyn', driver='llg_stt') # Set the simulation parameters sim.set_tols(rtol=1e-12, atol=1e-14) sim.alpha = 0.05 sim.gamma = 2.211e5 sim.Ms = 8.6e5 # Load the initial state from the npy file saved # in the realxation sim.set_m(np.load('m0.npy')) # Add the energies A = 1.3e-11 exch = UniformExchange(A=A) sim.add(exch) anis = UniaxialAnisotropy(5e4) sim.add(anis) # dmi = DMI(D=8e-4) # sim.add(dmi) # Set the current in the x direction, in A / m # beta is the parameter in the STT torque sim.jx = -1e12 sim.beta = 1 # The simulation will run for x ns and save # 'snaps' snapshots of the system in the process ts = np.linspace(0, time * 1e-9, snaps) for t in ts: print('time', t) sim.run_until(t) sim.save_vtk() sim.save_m()
def excite_system(mesh): sim = Sim(mesh, name='dyn', driver='llg_stt') sim.set_tols(rtol=1e-8, atol=1e-10) sim.alpha = 0.5 sim.gamma = 2.211e5 sim.Ms = 8.6e5 sim.set_m(np.load('m0.npy')) exch = UniformExchange(A=1.3e-11) sim.add(exch) dmi = DMI(D=-4e-3) sim.add(dmi) zeeman = Zeeman((0, 0, 4e5)) sim.add(zeeman, save_field=True) sim.jx = -5e12 sim.beta = 0 ts = np.linspace(0, 0.5e-9, 101) for t in ts: print 'time', t sim.run_until(t) sim.save_vtk()