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

Implement Magnetostatics in TorchPME #133

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Implement Magnetostatics in TorchPME #133

wants to merge 1 commit into from

Conversation

E-Rum
Copy link
Contributor

@E-Rum E-Rum commented Dec 23, 2024

This branch is linked to #54 and introduces the initial implementation of magnetostatics in the existing TorchPME library. The commit provides a basic implementation for direct potential calculations along with a simple test case.

With this implementation, it’s a good time to start discussing how to structure the current magnetostatic functionality and align it with the broader scope of the library. Notable changes to the main library include:
1. Dipole Potential Components:
Unlike charge-based potentials (e.g., Coulomb), dipole potentials consist of two components: a scalar and a tensor part. Currently, these components are explicitly returned separately and later combined in the calculator. While this approach works for now, we should evaluate whether it remains viable as we transition to more complex Ewald-based calculators.
2. Calculator Structure for Dipoles:
The dipole calculator significantly differs from charge-based calculators, potentially necessitating a new base calculator tailored for magnetostatics. For now, the implementation resides in the calculators folder, but it may need restructuring.
Key differences include:
• Passing dipoles instead of charges.
• Utilizing neighbor vectors instead of neighbor distances.
• Returning potentials in a vectorial form, which appears more convenient from an ML perspective.


📚 Documentation preview 📚: https://torch-pme--133.org.readthedocs.build/en/133/

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.

1 participant