Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xf_ThermalXferEvolver #181

Open
Siyuanq opened this issue Oct 13, 2021 · 9 comments
Open

Xf_ThermalXferEvolver #181

Siyuanq opened this issue Oct 13, 2021 · 9 comments
Labels
documentation good first issue A good issue to start contributing to Ubermag. Please ask for help if you are interested. question General question

Comments

@Siyuanq
Copy link

Siyuanq commented Oct 13, 2021

I try to use Xf_ThermalXferEvolver in the ubermag but there's an error that"error in oommf run". It appears both on my local computer and the binder. The following is the error report.
Also, I am confused with the Xf_ThermalXferEvolver that, the spin current terms are both included in Slonczewski and Xf_ThermalXferEvolver. Should I include both term as I did in the screen cut or what is the right way to use the Xf_ThermalXferEvolver .
截屏2021-10-13 上午9 45 17

@lang-m
Copy link
Member

lang-m commented Oct 14, 2021

Hi @Siyuanq I think the error is related to duplication in the mif file. You don't have to specify all the parameters for Slonczewski twice. In detail:

  • evolver = oc.Xf_TherrmSpinXferEvolver() should be enough
  • alpha is taken from precession term
  • P, Lambda, J (J_direction), mp, and eps_prime (which can be omitted if it is zero) are taken from Slonczewski term
  • use system.T = T to set temperature
  • for other parameters, e.g. min_timestep, max_timestep, ... please refer to the original documentation (link is given on the website: https://ubermag.github.io/api/_autosummary/oommfc.Xf_ThermSpinXferEvolver.html

As you know, we haven't got an example in the documentation (https://ubermag.github.io/documentation/ipynb/oommfc/finite-temperature.html) yet. We would be very pleased if you would volunteer to also turn you notebook (maybe with a different set of material parameters, depending on what you are doing) into a tutorial that we could add to the relevant page linked above. Of course, your name would then be added to the list of contributor.

@lang-m lang-m added documentation good first issue A good issue to start contributing to Ubermag. Please ask for help if you are interested. question General question labels Oct 14, 2021
@Siyuanq
Copy link
Author

Siyuanq commented Oct 14, 2021

thank you. I will post my code as a sample after I finished my work.

@SeregaKR
Copy link

SeregaKR commented Sep 6, 2022

Hello.
My question is somewhat similar and refers to the answer you made here. I can't seem to find the answer anywhere else: in the code or docs.

My aim is to do the simulation at a finite temperature. In mumax3, there is the B_therm in the LLG equation - they work with the temperature this way basically. I can just set, e.g., temp = 293 to set the temperature to 293K. Or deal with the regions.
When you set system.T what exactly is happening? Is it somewhat similar?

The reference for mumax is here https://mumax.ugent.be/mumax3-workshop/tutorial3.pdf (with the example of the code)
And the article it's based on is here: https://aip.scitation.org/doi/10.1063/1.5003957

You also hinted at system.T in the issue #211

@Siyuanq
Copy link
Author

Siyuanq commented Sep 6, 2022

In oommf, I think it does not offer thermal effect so when I want to include the thermal effect, I have to use some external evolvers, the system.T is to transfer the temperature infomation to oommf. But I have limited infomation about mumax3 itself. It seems that mumax include thermal effect naturally. If so, I think if we set the temperature to nonzero, it will automatically include the temperature infomation. Till now, I have not look into thermal effect in mumax3 so I am not sure if my guess is right. I run one simulation just now, but it seems that purely change the system.T will not make any changes to the system. I will reply if I have more findings.

@lang-m
Copy link
Member

lang-m commented Sep 12, 2023

@Siyuanq If you are happy to share it with us, would we be able to get a copy of your code to use as an example in our documentation?

@Siyuanq
Copy link
Author

Siyuanq commented Sep 12, 2023 via email

@lang-m
Copy link
Member

lang-m commented Sep 13, 2023

Hi @Siyuanq thanks for your quick response. Unfortunately, the link requires a login and hence I cannot access the notebook. Can you maybe upload the notebook here (as zip) or send a different link?

@Siyuanq
Copy link
Author

Siyuanq commented Sep 13, 2023 via email

@SeregaKR
Copy link

SeregaKR commented Feb 16, 2024

Ok. Getting back to the question of the temperature. I took a look at the mumax3c code. I believe adding something like the following lines will add the support of the temperature for the simulations. Tried creating pull request.
file: ubermag/mumax3c/tree/master/mumax3c/scripts/driver.py

if system.T > 0:
        TK = system.T 
        mx3 += f"Temp = {TK}\n"

We can directly pass the value of system.T to mumax3 to deal with.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation good first issue A good issue to start contributing to Ubermag. Please ask for help if you are interested. question General question
Projects
None yet
Development

No branches or pull requests

3 participants