stopping simulation for dm/dt=0?

13 views
Skip to first unread message

Vinod Naik Bhukya

unread,
Apr 15, 2026, 9:00:56 AMApr 15
to Vampire Users
Is there a way in vampire that we can specify in the input file to check for dm/dt=0 instead of specifying the loop time steps. Based on the time step and the loop time steps, the simulation will end only after the specified time has elapsed, but I would like to stop the simulation once dm/dt=0. Is there a way?

gabo...@gmail.com

unread,
Apr 15, 2026, 11:27:30 PMApr 15
to Vampire Users
I believe "No" is currently the answer.

Is this in regards to a particular sim:program?

Page 47 (pdf page 48) in the VAMPIRE 7.0 manual [1] has:

sim:program = static-hysteresis-loop
...
At each field increment the system is integrated until either the maximum torque for any one spin is less than the tolerance value (10^−6 T), or if sim:loop-time-steps is reached.

You may need Dr. Evans to confirm, but to set dm/dt to stop at a value greater than 10^-6 T when using "sim:program = static-hysteresis-loop", it may be currently line 118 of the static_hysteresis.cpp file in the develop branch source code [2] that you should have to adjust and recompile:

line 118: if((torque<1.0e-6) && (sim::time-start_time>100)){
line 119: break;
line 120: }

Similarly for "sim:program = LaGrange-Multiplier", it's likely line 138 of lagrange.cpp [3] with:

line 138: if((torque<1.0e-6) && (sim::time-start_time>100)){

Hopefully that helps.


Kind Regards,
Gavin
VAMPIRE user

Vinod Naik Bhukya

unread,
Apr 16, 2026, 3:49:00 AMApr 16
to Vampire Users
Thank you for your reply. I need this in  sim: program=time-series. 


gabo...@gmail.com 在 2026年4月16日 星期四上午11:27:30 [UTC+8] 的信中寫道:

gabo...@gmail.com

unread,
Apr 17, 2026, 2:19:40 PM (13 days ago) Apr 17
to Vampire Users
In time_series.cpp [1], I'm not seeing any stopping criterion code for dm/dt.  On the other hand, it does look like a time stopping criterion is there on line 74:

Line 74:  while(sim::time<sim::equilibration_time+sim::total_time){

It looks like that will stop when the simulation time becomes larger than the sum of the equilibration time and total time.


Kind Regards,
Gavin
VAMPIRE user

Vinod Naik Bhukya

unread,
Apr 17, 2026, 8:04:00 PM (13 days ago) Apr 17
to Vampire Users
Thank you. I think it's not possible to stop when dm/dt=0 for time series.

gabo...@gmail.com 在 2026年4月18日 星期六凌晨2:19:40 [UTC+8] 的信中寫道:
Reply all
Reply to author
Forward
0 new messages