ubermag / help

Repository for raising issues and requesting help on Ubermag
BSD 2-Clause "Simplified" License
11 stars 3 forks source link

STT under finite temperature with constant current density as a pulse #250

Closed vinodnaikb closed 1 year ago

vinodnaikb commented 1 year ago

image image image

The first column of code refers to STT with current density J applied as a pulse, and as you can see from the last plot, the current density is indeed applied as a pulse.

The second column of code refers to STT with current density J applied as a pulse with finite temperature, but in this case, if we look a the last plot of J, it has been applied as constant all the time. Why hasn't the time function multiplied to J even though it has been mentioned in the dynamics code.?

swapneelap commented 1 year ago

Hello @vinodnaikb, thank you for the detailed description of the problem you are facing. Will you be able to copy paste here the contents of both <system-name>.mif files that were generated by ubermag in the simulation result folders? Thanks!

vinodnaikb commented 1 year ago

You may want to see this for the two cases if you don't mind. I can see that in the second case, the J_profile Time function is not there even though the time function is mentioned in the code.

case1:

Slonczewski evolver

Specify Oxs_SpinXferEvolve:evolver { alpha 0.02 gamma_G 221100.0 P 2 Lambda 1 eps_prime 1 J 700000000000.0 J_profile TimeFunction J_profile_args total_time mp {0 1 0} }

case 2:

Xf_ThermSpinXferEvolver

Specify Xf_ThermSpinXferEvolve:evolver { alpha 0.02 gamma_G 221100.0 P 2 Lambda 1 eps_prime 1 J 700000000000.0 mp {0 1 0} temperature 300 }

vinodnaikb commented 1 year ago

Hi @swapneelap please have a look

swapneelap commented 1 year ago

I can see that in the second case, the J_profile Time function is not there even though the time function is mentioned in the code.

Hello @vinodnaikb, yes that can be the problem. However, can you please copy paste the full mif files, so that I can be absolutely sure.

vinodnaikb commented 1 year ago

https://drive.google.com/drive/folders/1LBBillS617u9WyWpJaxPFNNwvzdXgihr?usp=sharing

Hi @swapneelap the files are too big to be pasted here, so I'm sharing the drive link here, in that folder the two .mif files are there

swapneelap commented 1 year ago

Many thanks @vinodnaikb for forwarding me the mif files! I'll open a PR soon to fix the bug.

Additionally, I would like to make a suggestion. For current densities/external fields varying as a step function in time, it is advisable to use multiple drives instead of defining the step function in time. This is especially true for external fields as per OOMMF documentation, since it fixes the internal time step of the simulation. Later, the data can be handled nicely by combining the drives (https://ubermag.github.io/documentation/notebooks/micromagneticdata/documentation.html#CombinedDrive).

vinodnaikb commented 1 year ago

Thank you @swapneelap. Could you please provide me an example of how to use multiple drives?

vinodnaikb commented 1 year ago

Hi @swapneelap when will the issue be resolved? Because I need to do the simulation and it's urgent for me

lang-m commented 1 year ago

You can follow this section in the documentation: https://ubermag.github.io/examples/notebooks/time-dependent-field-current.html#How-to-properly-simulate-this-field-pulse and replace the lines where Zeeman is added to/removed from the energy with lines where you add/remove current to/from the dynamics equation.