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

Dispersion of magnonic crystal #142

Open
Ayers6991 opened this issue Jun 10, 2021 · 13 comments
Open

Dispersion of magnonic crystal #142

Ayers6991 opened this issue Jun 10, 2021 · 13 comments
Labels
awaiting response Needs feedback from person who opened issue feature request question General question

Comments

@Ayers6991
Copy link

Hello,
Is it possible to calculate dispersion of magnonic crystal via Ubermag?
Thanks,

@marijanbeg marijanbeg transferred this issue from ubermag/workshop Jun 10, 2021
@marijanbeg
Copy link
Member

Hi @Ayers6991, thank you for your question and for using Ubermag. I transferred your issue to our help repository (https://github.com/ubermag/help). This is the repository we monitor regularly and where you can get support from others in the community. Therefore, we would encourage you to raise future issues in this repository.

@marijanbeg
Copy link
Member

Could you please point us to a reference (e.g. a paper) where the procedure you want to follow is described?

@Ayers6991
Copy link
Author

Ayers6991 commented Jun 10, 2021 via email

@marijanbeg
Copy link
Member

Hi @Ayers6991, thank you for the clarification. Yes, this is possible to do in Ubermag.

Please note that using Ubermag you can perform micromagnetic simulations and obtain results. After that, postprocessing is done using some of the packages from the Python's ecosystem. Please try to write the code and we will help you on the way.

@lang-m lang-m added the question General question label Jun 18, 2021
@marijanbeg
Copy link
Member

Hi @Ayers6991, we think it would be great if we could work on this together with you. We could start by you sharing the Jupyter notebook where you outline the requirements, share equations, and attempt computing the dispersion. After that, we could exchange the notebook several times until we get the solution you need. Besides, we can identify if there are any functionalities we can move to Ubermag to make this computation easier, and we can use your notebook as a tutorial for other users and acknowledge you as a contributor to Ubermag.

@marijanbeg marijanbeg added awaiting response Needs feedback from person who opened issue feature request labels Jul 9, 2021
@lang-m lang-m added the stale No response on the issue - may be closed soon. label Sep 29, 2021
@CarpCarpKing
Copy link

Thank you for your answer. To do so, I have to know the m-components in each cell in each time step.
Could I obtain that data from ubermag?

@marijanbeg
Copy link
Member

Hi @CarpCarpKing, yes, this data is saved during simulations and can be accessed using micromagneticdata package. You can have a look at: https://ubermag.github.io/workshop/tutorials/vortex-dynamics.html

Please have a go, and let us know if you need help at any stage :)

@fangohr
Copy link
Member

fangohr commented Oct 19, 2021

This may also be useful (some scripts related to the publication kindly mentioned by @Ayers6991 ): http://www.ee.iitm.ac.in/exporedmine/projects/mag-public/wiki/Spin_wave_standard_problem

@samjrholt
Copy link
Member

@CarpCarpKing I have previously been looking into performing Fourier transforms on spatially resolved data and I think something along the lines of the following might be a good starting point for you

drive = mic_d.Drive(name='standard_problem', number=?)
time_ft_field = []
for field in drive:
    time_ft_field.append(field.fftn.array)
f = np.fft.rfft(time_ft_field, axis=0)

@CarpCarpKing
Copy link

Thank you for your kind comments. Before applying it to my samples, I just wanted to simulate the sample of the paper mentioned by @Ayers6991. Finally, I could obtain the dispersion curve by using avf2odt in OOMMF as postprocessing. Thank you again for your help!

@marijanbeg
Copy link
Member

Hi @CarpCarpKing, thank you for the update. If I understand correctly, you did not use Ubermag in the end? Is that correct?

@CarpCarpKing
Copy link

The simulation was operated in Ubermag. But I could not find the method to gain each m-component.
So, by using OOMMF I was able to obtain the data from each TimeDriver-Magnetisation.omf file.
The code which I tried is below

import micromagneticdata as md

data = md.Data(name=system.name)
data.info
drive = data[1] (data[1] is TimeDriver)
drive.table

Then there are only average m-components in drive.table.

@marijanbeg
Copy link
Member

Thank you for the clarification. Individual magnetisation fields can be accessed as:

data = md.Data(name=system.name)
drive = data[1]
drive[n]  # n is the time step (0, 1, 2, 3, 4, 5,...)

@github-actions github-actions bot removed the stale No response on the issue - may be closed soon. label Nov 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting response Needs feedback from person who opened issue feature request question General question
Projects
None yet
Development

No branches or pull requests

6 participants