Skip to content

Altermagnets#141

Merged
lamoreel merged 23 commits intodevfrom
altermagnets
Apr 17, 2026
Merged

Altermagnets#141
lamoreel merged 23 commits intodevfrom
altermagnets

Conversation

@lamoreel
Copy link
Copy Markdown
Contributor

This pull request adds support for simulating d-wave altermagnets through a new Altermagnet class. The main difference with Antiferromagnet is the removal of the ferromagnetic exchange field in favor of an anisotropic field. In principle, the user is still able to take both fields into account, but that's their responsibility 😊.

For the time being, only open boundaries and 2D magnets are supported in the anisotropic exchange.

@lamoreel lamoreel self-assigned this Apr 10, 2026
@lamoreel lamoreel added the enhancement New feature or request label Apr 10, 2026
Copy link
Copy Markdown
Contributor

@DiegoDeGusem DiegoDeGusem left a comment

Choose a reason for hiding this comment

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

Nice and very clean! Just one general comment. The altermagnets are not included on the website. They should be added in api.rst.

Comment thread test/test_full_magnetization.py
Copy link
Copy Markdown
Collaborator

@ilateur ilateur left a comment

Choose a reason for hiding this comment

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

I would still like to leverage the object-oriented approach by making the Altermagnet a child class of the Antiferromagnet. It has exactly the same functionality, but expanded. Even if physically these are totally different materials, the implementation of shared aspects is identical. Though I must admit, the amout of copy-pasting and function-tweaking is less bad than I expected.

Other than that, everything looks clean to me with some very nice tests.

Comment thread examples/spinwave_dispersion_atm.py Outdated
Comment thread examples/spinwave_dispersion_atm.py
Comment thread src/physics/mumaxworld.hpp Outdated
Comment thread src/physics/quantityevaluator.hpp
Comment thread src/bindings/wrap_altermagnet.cpp Outdated
Comment thread test/test_domain_wall_atm.py
Comment thread src/physics/altermagnet.cpp Outdated
Comment thread mumaxplus/altermagnet.py
Comment thread src/physics/atmexchange.cu
Comment thread src/physics/atmexchange.cu
ilateur

This comment was marked as low quality.

ilateur

This comment was marked as off-topic.

Comment thread test/test_domain_wall_atm.py
@ilateur ilateur added this to the v1.2.0 milestone Apr 15, 2026
Copy link
Copy Markdown
Collaborator

@ilateur ilateur left a comment

Choose a reason for hiding this comment

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

Make sure to resolve the merge conflicts as well

Comment thread mumaxplus/altermagnet.py Outdated
Comment thread examples/Bloch_wall_altermagnet.py
@lamoreel lamoreel requested a review from ilateur April 15, 2026 10:44
@lamoreel lamoreel merged commit 7df70a1 into dev Apr 17, 2026
@lamoreel lamoreel deleted the altermagnets branch April 17, 2026 08:20
@ilateur ilateur mentioned this pull request Apr 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants