Monte-Carlo simulation with parallel Vampire

1,222 views
Skip to first unread message

Muftah Al-Mahdawi

unread,
May 30, 2015, 6:26:15 AM5/30/15
to vampir...@googlegroups.com
Dear Vampire developers and users,

It seems that the parallel version cannot be used with Monte-Carlo integrator. I could compile the parallel version on Ubuntu machine with gcc, but when I try to use it with MC it exits with this error: "Error - Monte Carlo Integrator unavailable for parallel execution". Can you replicate this error? The serial version works as expected.
Is it a missing feature, or a more fundamental limitation? What are the possible integrators/programs for parallel execution?

Best regards,
Miftah

    

Richard Evans

unread,
Jun 1, 2015, 9:29:12 AM6/1/15
to vampir...@googlegroups.com
Dear Miftah,

Yes that is correct, Monte Carlo simulations can only be done in serial at present. There are algorithms (using clusters or checkerboards) that may work, but I have yet to look at these in detail or implement them. It is hoped to implement these in a future version, but at the moment the llg-heun integrator works in parallel (and you also get the magnetization dynamics as a bonus). 

Best regards,

Richard

Muftah Al-Mahdawi

unread,
Jun 4, 2015, 10:13:01 PM6/4/15
to Richard Evans, vampir...@googlegroups.com
Dear Richard,

I tried to compare monte-carlo with llg-heun on the provided Curie temperature tutorial. llg-heun overestimates Tc. Changing equilibration steps or system size did not change result much. My simple understanding is that llg-heun adds a thermal-noise magnetic field, which leads to overestimation of Tc, unless proper renormalization of exchange coupling is taken into account [PRL 90,20,207201(2003)], is that also correct for atomistic LLG? If so, how can we do such a renormalization with Vampire?
Regarding my purposes, I want to look at spin dynamics of FM/AFM layer, so llg-heun is good. But is porting monte-carlo to a parallel version a doable task for a novice? or does it require more than porting?

Best wishes,
Miftah

On 2015年06月02日 10:10, Miftah Al-Mahdawi wrote:

Dear Richard,
Thanks for reply. I will try to compare results.
Best wishes,
Miftah

--
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.
For more options, visit https://groups.google.com/d/optout.

-- 
=============================================================
Postdoctoral fellow,
Crossing-Correlation Spin Electronics Lab (Sahashi group).
Dept. of Electronic Engineering, Tohoku University.

Research Center for Rare Metal and Green Innovation (RaMGI),
468-1, Aza-Aoba, Aramaki, Aoba-ku, Sendai 980-8579, JAPAN.
Tel/Fax: +81-22-752-2172
=============================================================
curie-test.png

richard....@gmail.com

unread,
Jun 5, 2015, 3:28:49 PM6/5/15
to vampir...@googlegroups.com, mift...@gmail.com, richar...@york.ac.uk
Dear Miftah,

Great question! 

So, the PRL you referred to applies to macroscopic micromagnetic simulations (such as those using OOMMF) where the definition of the exchange leads to the gross overestimation of Tc. For atomistic simulations which uses the Heisenberg form of the exchange the model is able to determine the Curie temperature in agreement with Monte Carlo simulations. However, there are some technical reasons for the behavior you observe. Firstly the temperature region in the vicinity of the Curie temperature is hard to integrate numerically, due to the still large magnetization causing large exchange fields and also larger thermal fluctuations (fields) due to the high temperature. Secondly, the longitudinal relaxation process slows down in the vicinity of Tc (critical slowing down) and so many more integration steps are required to achieve thermal equilibrium. Therefore, to obtain agreement between Monte Carlo and sLLG simulations you typically need to use an integration time-step of 10^-17 - 10^18 s and integration times around 100ps. What this means is that if you want to calculate Tc then Monte Carlo is much more computationally efficient, and so when I did the comparison the sLLG for nearly the same Curie temperature took around 5 times as long on 4 cores (20 times slower). The final result is attached, which shows that if you do this the results do agree. Depending on how accurately you need to have Tc, then higher timesteps (with a slightly higher apparent Tc as a result) may be OK (particularly for simulations at T << Tc). More details are given in the VAMPIRE review article:

R F L Evans et al 2014 J. Phys.: Condens. Matter 26 103202 (http://iopscience.iop.org/0953-8984/26/10/103202 ).

The parallelization of the MC algorithm is a bit complicated, as you need to deal with the nuts and bolts of determining non-interacting subsets of spins combined with the usual domain decomposition, and its tricky enough that I haven't got round to thinking exactly how that may be done. However, I also don't think the results for Monte Carlo simulations for hysteresis properties (and effects such as exchange bias) are particularly good due to the slow motion of the macroscopic magnetization (the sLLG is much better in this case).

All the best,

Richard




On Friday, June 5, 2015 at 3:13:01 AM UTC+1, Muftah Al-Mahdawi wrote:
Dear Richard,

I tried to compare monte-carlo with llg-heun on the provided Curie temperature tutorial. llg-heun overestimates Tc. Changing equilibration steps or system size did not change result much. My simple understanding is that llg-heun adds a thermal-noise magnetic field, which leads to overestimation of Tc, unless proper renormalization of exchange coupling is taken into account [PRL 90,20,207201(2003)], is that also correct for atomistic LLG? If so, how can we do such a renormalization with Vampire?
Regarding my purposes, I want to look at spin dynamics of FM/AFM layer, so llg-heun is good. But is porting monte-carlo to a parallel version a doable task for a novice? or does it require more than porting?

Best wishes,
Miftah

On 2015年06月02日 10:10, Miftah Al-Mahdawi wrote:

Dear Richard,
Thanks for reply. I will try to compare results.
Best wishes,
Miftah

On Jun 1, 2015 10:29 PM, "Richard Evans" <richar...@york.ac.uk> wrote:
Dear Miftah,

Yes that is correct, Monte Carlo simulations can only be done in serial at present. There are algorithms (using clusters or checkerboards) that may work, but I have yet to look at these in detail or implement them. It is hoped to implement these in a future version, but at the moment the llg-heun integrator works in parallel (and you also get the magnetization dynamics as a bonus). 

Best regards,

Richard

On Saturday, May 30, 2015 at 11:26:15 AM UTC+1, Muftah Al-Mahdawi wrote:
Dear Vampire developers and users,

It seems that the parallel version cannot be used with Monte-Carlo integrator. I could compile the parallel version on Ubuntu machine with gcc, but when I try to use it with MC it exits with this error: "Error - Monte Carlo Integrator unavailable for parallel execution". Can you replicate this error? The serial version works as expected.
Is it a missing feature, or a more fundamental limitation? What are the possible integrators/programs for parallel execution?

Best regards,
Miftah
--
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-users+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Muftah Al-Mahdawi

unread,
Jun 9, 2015, 2:11:50 AM6/9/15
to vampir...@googlegroups.com
Dear Richard,

Thanks for pointing your paper. I could not understand the relevant section before, so thanks for explanation.
I could also reproduce Tc with llg-heun using the following setup (figure attached):

sim:time-steps-increment=1
sim:equilibration-time-steps=1000000
sim:loop-time-steps=1000000

#sim:partial-time-steps=1000
sim:total-time-steps=10000000
sim:time-step=1.0E-17

One more question, that I could not get from the manual neither the mailing list. How does llg integrator proceeds in Tc program. Is it for each time step of equilibration and averaging loops, the llg integrator runs for total-time-steps with time-step step size? What is the meaning of partial-time-steps? I would be grateful if you can point where we can get the meaning of these different settings.

I have also a related question. You mentioned in the paper that thermal fluctuations are coloured with correlation time of <1e-15s, so llg is applicable to >1e-15s timescales, so with <1e-17s time steps, how should we understand the results of llg?

Best wishes,
Miftah
To unsubscribe from this group and stop receiving emails from it, send an email to vampire-user...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.
curie-test.png

richard....@gmail.com

unread,
Jun 14, 2015, 9:44:39 AM6/14/15
to vampir...@googlegroups.com, mift...@gmail.com
Dear Miftah,

I am glad your results between the different methods now agree. The Curie temperature program runs a loop of temperature, where for each fixed temperature it equilibrates the system for sim:equilibration-time-steps before calculating a running average magnetization for sim:loop-time-steps. sim:time-steps-increment is exactly the same as sim:partial-time (the latter is a bit more opaque as to its meaning) which is the number of time steps between sampling the statistics. For calculating averages time-steps-increment should be 1-5, depending on how you feel about correlated sampling.

Regarding the correlation in the thermal noise, at the moment only white noise is implemented in VAMPIRE. The assertion for correlation times < 1fs comes from the experimental observation of ultrafast demagnetization. Some studies have investigated correlated noise, and generally long correlation times lead to a much slower demagnetization, which would contradict experiment. My feeling at the moment is that the largest component of the damping in metallic magnetic systems likely comes from the electronic properties, which in general can respond very quickly to external changes. By extension it is this part which contributes the most to thermal fluctuations in the system, which may have very short correlation times. However, I think on these time scales (10^-18 -10^-16 s) we are pushing the boundaries of what the model is capable of describing, at least in its present form. From a practical point of view the problem really comes from numerical instability of the integrator, thus requiring very small changes in S to reach the correct solution of the LLG equation. It is probably possible to find a better integration scheme which is stable using larger timesteps, but I have yet to look at this in detail (any external contributions welcome!). 

So to summarize, if you want to study magnetization dynamics on the 1fs timescale, then when the system is hard to integrate (near Tc) using smaller timesteps to achieve the correct solution of the LLG is valid. If you want to study magnetization dynamics on timescales <1fs then we probably (but not necessarily) need to include more physics into the model. Hopefully that explains a bit better what I meant.

Best regards,

Richard

Muftah Al-Mahdawi

unread,
Jun 14, 2015, 11:49:27 PM6/14/15
to richard....@gmail.com, vampir...@googlegroups.com
Dear Richard,
Thanks.
Best wishes,
Miftah
To unsubscribe from this group and stop receiving emails from it, send an email to vampire-user...@googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Raza

unread,
Oct 13, 2015, 8:30:17 PM10/13/15
to Vampire Users
Dear Miftah can i have your email address please......Raza

Muftah Al-Mahdawi

unread,
Oct 14, 2015, 12:03:48 AM10/14/15
to vampir...@googlegroups.com
Dear Raza
If you have a job offer for me, I will gladly give it. :D
If it is some question, then everybody will be happy to hear. Even if you think it is simple, it might not be so.
Best wishes,
Miftah
--
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.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages