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

Add a rigid strain example #61

Open
wants to merge 6 commits into
base: dev
Choose a base branch
from
Open

Add a rigid strain example #61

wants to merge 6 commits into from

Conversation

DiegoDeGusem
Copy link
Contributor

This example is based on the simulation and experiment they did in Mechanism to transfer linear momentum from a Surface Acoustic Wave to a Magnetic Domain Wall.
Its a ferromagnet with a domain wall and by applying a time and space dependent strain (representing a SAW) coming from the right, the wall moves towards the left.
The example shows the initial and final magnetization and also shows a plot of the DW position (estimated by a linear interpolation using the average magnetization) in function of time.

@DiegoDeGusem DiegoDeGusem requested a review from ilateur January 21, 2025 09:48
@DiegoDeGusem DiegoDeGusem self-assigned this Jan 21, 2025
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
magnet.rigid_shear_strain.add_time_term(shear_strain_t_sin, mask=shear_strain_xyz_sin)

# Create a domain wall
magnet.magnetization = twodomain((1,0,0), (0,-1,0), (-1,0,0), nx*cx/2, 10*cx)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The magnetization should first relax before running, no?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It takes a long time :(

Copy link
Collaborator

@ilateur ilateur Jan 23, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And the domain wall tends to move fully to the side if placed too close to a boundary :/

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The system should relax before setting the strain (since at t = 0s the strain is non-zero). This should not take long...

examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
examples/rigid_strain.py Outdated Show resolved Hide resolved
@ilateur
Copy link
Collaborator

ilateur commented Jan 23, 2025

Perhaps use "squash and merge" for this branch instead of simply merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants