You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi,
Is it possible to include a time-dependent energy term in the equation? As shown in the attached code, I am using a constant exchange and anisotropy energy. However, in my experiment, the exchange energy, and anisotropy energy amplitude vary as a function of time and I have the data. Is there a way to include it in the UBERMAG simulation?
One way I think of doing it is to use a for loop and update the energy values for the LLG equation after measuring the magnetization dynamics for each time step. But, I haven't tried it yet.
After defining the energy term, I am driving current-induced dynamics to study SOT-induced magnetization switching with a gaussian current pulse as the following:
I'm also interested in this question, because I study laser-induced spin waves, which associated with time-dependent Zeeman field or, for example, time-dependent anisotropy constant.
I simulate laser excitation of spin waves using multiple time drives in Ubermag and the direct change of energy terms between them.
Example:
tPumpInc = 100e-12 # time of the incidence of pump pulse (s)
tRelax = 10e-9 # relaxation time after pump pulse incidence (s)
td.drive(system, t=tPumpInc, n=10, n_threads=12, verbose=2)
system.energy -= mm.UniaxialAnisotropy(K=Ku, u=u, name='uniaxial')
system.energy += mm.UniaxialAnisotropy(K=Kupump, u=u, name='uniaxial')
td.drive(system, t=tRelax, n=20000, n_threads=12, verbose=2)
OOMMF according to its documentation currently does not support time-dependent energy terms (apart from Zeeman). The only possibility is therefore to split the simulation into multiple short simulations with fixed constants as you both do already.
Hi,
Is it possible to include a time-dependent energy term in the equation? As shown in the attached code, I am using a constant exchange and anisotropy energy. However, in my experiment, the exchange energy, and anisotropy energy amplitude vary as a function of time and I have the data. Is there a way to include it in the UBERMAG simulation?
One way I think of doing it is to use a for loop and update the energy values for the LLG equation after measuring the magnetization dynamics for each time step. But, I haven't tried it yet.
system.energy = mm.Exchange(A=A) + mm.Zeeman(H=H) + mm.UniaxialAnisotropy(K=K1, u=(0,0,1)) + mm.Demag()
After defining the energy term, I am driving current-induced dynamics to study SOT-induced magnetization switching with a gaussian current pulse as the following:
system.dynamics = mm.Precession(gamma0=gamma0) + mm.Damping(alpha=alpha) + mm.Slonczewski(J = Jc1, mp = (0, dirc, 0), P = P, Lambda = L, eps_prime = ep_imag,func=time_func,dt=2e-13)
td = oc.TimeDriver()
td.drive(system, t=pulse_duration1, n=N1)
The text was updated successfully, but these errors were encountered: