Field cool with different temperature for every layer

275 views
Skip to first unread message

Olivia

unread,
Jun 19, 2017, 2:46:09 AM6/19/17
to Vampire Users
Dear Richard,

is it possible to simulate the field-cool program with different heat pulse peak-temperatures for every material layer?

Thank you in advance!

Kind regards,
Olivia

Richard Evans

unread,
Jun 25, 2017, 5:44:17 PM6/25/17
to Olivia, Vampire Users
Dear Olivia,

At the moment this is not possible, but I am working on new features for the code this week so I will add an option to enable this (probably something along the lines of material[1]:maximum-temperature = 700K etc). Alternatively we could implement a height dependent factor for the peak temperature, say exp(-z/z_0). Please let me know which would be better for you.

All the best,

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

Miftah Al-Mahdawi

unread,
Jun 27, 2017, 2:42:53 AM6/27/17
to Richard Evans, Olivia, Vampire Users
Dear Richard,
Sorry for hijacking the discussion, but in my personal opinion it would be difficult to cover all use cases. For example, I believe that spincaloritronics people would be interested in thermal gradients, etc. I see that the community can be more creative if you can encourage us to write the high-level calculation procedures. The examples in the "program" folder are not too difficult to read, even for a non-C++ developer. The API seems well-written and clean, so I believe that many in the Vampire community would be interested in using it outside of HAMR. It would help to have more documentation on the internal API, and the ability to supply time-dependent user-defined profiles of temperature, spins, current, anisotropy, etc, either by a function or an external file. Compile time is not long, so there is no need for a fancy IO module, we can write calculations procedures directly and it is possible to reiterate quickly. Checking the ltmp module, it seems you already established a temperature solver. It seems that changing "pump_power" to a matrix can generalize the solution.

To summarize, as a user I look at Vampire as (and hope for it to be) a general atomistic simulator (with a suitable set of bells and whistles) that can advance the knowledge in the field for many groups, not a rigid commercially-supported product. This is a personal opinion and if the developers and the others on this mailing list don't share my opinion, then it is better not to waste your effort on this suggestion.

Regarding the question of Olivia. Checking the programs: "temperature_pulse.cpp" and "field_cool.cpp", if we change one of the cooling functions to the next, would it work?

mp::material[0].temperature= T0 //some user temperature
mp::material[1].temperature= T1 //some user temperature

Best wishes,
Miftah

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.

--
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.

Richard Evans

unread,
Jun 28, 2017, 10:04:07 AM6/28/17
to Miftah Al-Mahdawi, Olivia, Vampire Users
Dear Miftah,

Thank you very much for sharing your thoughts. Indeed I would very much like the code to morph into a community project that can serve the needs of anyone using atomistic spin models. As you say, this means having a well defined API for the various main functional parts of the code so that expert users can just use it as an engine and use the high level functions within the program facility to do exactly what they want. Eventually I hope this will also be possible with a Python interface, which should make it very easy for computational physicists to drive in quite complex ways. 

However, I would also like to try and cater to less expert users or those who don’t use/like C++ or even coding in general, so that they can use the code for some problems. For example, doing something other than simple structures/interactions (via a ucf file) at the moment is quite challenging even for an expert user, and I would like to have certain things built in the code for ease of use. To some extent this is likely to be responsive, such as Olivia’s request, and in other cases proactive, where features are implemented on the basis of potential usefulness. 

So, I broadly agree with your suggestion of a better defined API with documentation. We are currently working on the next major release over the summer which includes things like CUDA/OpenCL support, as well as improvements to I/O, the dipole calculation and micromagnetic simulations. However, after that we can start working on tidying up the simulation part of the code to make it much easier for people to follow and also change things to suit different needs.

Cheers,

Richard

Miftah Al-Mahdawi

unread,
Jun 28, 2017, 10:51:10 AM6/28/17
to Richard Evans, Olivia, Vampire Users

Dear Richard,
Thank you all for your help and support.

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.

--
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.
Reply all
Reply to author
Forward
0 new messages