Equilibration of system

27 views
Skip to first unread message

Peela baradwaj naidu

unread,
Apr 14, 2026, 3:40:43 AMApr 14
to Vampire Users
Hello Vampire users , 
I am trying to equilibrate a domain wall system of size 600 nm x 10 nm x 11 nm for 1.5 ns and I notice that no matter how long I run , I have oscillatory behaviour in Sy , could this be attributed to small size in y dimension ?I am very certain that I need to adjust my system size but I am not sure on how to increase system size in y-dimension without blowing up the memory required for calculation of Dipole terms in the hamiltonian . I have already done tests on dipole solver parameters and calculated that any macro cell size aabove 1.6 nm will have large inaccuracy in dipole energy terms and thereby calculates effective anisotropy term inaccurately which turns my spins from easy axis orientation to easy plane orientation. Based on previous posts I read domain wall width is roughly sqrt(A/K) and total system size should roughly be 3x of this length . Considering an ideal case scenario of 300 nm x 20 nm x 11 nm system , dipole solvers would still need around 700 GB memory (roughly 1200 MB per CPU). I am running this program on a high performance cluster. But I could really use some advice on improving my system size and also not bottle necking memory to avoid large oscillatory behaviour in  Sx and Sy for (t < 350 ps)
Thank You. 
input_domain_wall
input_pulse
torque map.png
S map.png

Richard Evans

unread,
Apr 14, 2026, 8:30:51 AMApr 14
to Peela baradwaj naidu, Vampire Users
Hi Peela,

I would use Monte Carlo (at T = 0) to equilibrate the domain wall (or at least us critical damping (material[1]:damping-constant = 1.0) and then save a checkpoint for the equilibrated domain wall - this should get rid of the oscillations. You can then change damping or look at dynamics. 

Cheers,

Richard

--
You received this message because you are subscribed to the Google Groups "Vampire Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vampire-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/vampire-users/fe1e2a66-dcdd-4b97-a0a1-8d70005749den%40googlegroups.com.
<input_domain_wall><input_pulse><torque map.png><S map.png>

Peela baradwaj naidu

unread,
Apr 14, 2026, 12:23:05 PMApr 14
to Vampire Users
Hello Richard ,
Thanks for your reply , I do want to mention that I am using critical damping = 1. Also I would like to equilibrate at 10 K instead of 0K because by next part of the simulation uses a temperature pulse to simulate ultrafast demagnetization and in input_pulse file you can see that I set equilibration temperature to 10 K due to experimental conditions. I want to avoid sudden jumps in magnetization which would happen if we checkpoint at 0 K and start at 10 K. Moreover I would like for you take a look at my recent result. I equilibrated domain for 3 ns which should be more than enough to equilibrate but I tried a smaller system here (350 x 10 x 11 nm). If you compare this with my last post you can see Sx now has larger oscillations implying that these oscillaltion might be size effect and not arising due to inadequate equilibration time or Thermal noise.
Screenshot 2026-04-14 .png

Richard Evans

unread,
Apr 15, 2026, 3:52:06 AMApr 15
to Peela baradwaj naidu, Vampire Users
Hi Peela,

Yes indeed - for small sizes thermal noise can be a problem. So, the solution is a bigger cross-sectional area. However, I would still equilibrate at T=0K, then quickly warm up to the starting temperature with 

sim:preconditioning-steps = 1000

then maybe a 1ps equilibration. It ensures you have a dw profile that Is closer to what you would expect (over longer times it will oscillate around the starting position).

All the best,

RIchard

Peela baradwaj naidu

unread,
Apr 16, 2026, 1:29:10 PM (14 days ago) Apr 16
to Vampire Users
Hi Richard,
Thank You again for your suggestion and explanation, so far, I have implemented 0 K equilibration and then checkpoint loading to precondition for 1000 steps. I have used preconditioning steps a while ago and a major issue that always bother me is that when I start preconditioning , same check files iterated for 3 different pulses diverge to different initial states. I am attaching a plot of Sx Sy Sz If you compare with previous 2 posts , here you can see 3 distinct curves , my system diverges to different states even before my simulation begins . My suspicion is that precondition invokes a random boltzmann distribution and I guess there isn't a controlled random seed integer for this step therefore MC solver uses different seeds ? I am not sure about this, please let me know our thoughts because for me it is important demonstrate that I start all 3 pulses from same initial state. I have also attached my input files for reference.
input_domain_wall
map spin precon.png
input_thermal_B_pulse
Reply all
Reply to author
Forward
0 new messages