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

Dipole field calculation in parallel with direct sum #4626

Merged
merged 1 commit into from
Jun 13, 2023

Conversation

stekajack
Copy link
Contributor

@stekajack stekajack commented Dec 12, 2022

New feature: calculate and track the total dipole field for each particle, in parallel. This implementation is related to the recently merged magnetostatics actor DirectSumCpu that uses MPI and can use replicas to simulate open systems, with vacuum boundary conditions.

Description of changes:

  • added feature DIPOLE_FIELD_TRACKING which implies DIPOLES
  • in addition to LongRangeForce and LongRangeEnergy, there is now a LongRangeField, but only for DDS on CPU
  • added particle property called dip_fld if DIPOLE_FIELD_TRACKING is defined
    • call system.analysis.dipole_fields() to update the particle fields
    • or use espressomd.observables.ParticleDipoleFields()

@stekajack stekajack marked this pull request as ready for review December 12, 2022 16:31
@stekajack
Copy link
Contributor Author

@RudolfWeeber managed to fix the compilation issue and tested quickly again. There was a combination of #ifdef incompatibility, std:tie use seems to be replaced across the board, gather_particle_data() return changed. Don't know how to assign you as a reviewer, probably need write privileges to do that. Hopefully this is a good place to start.

@jngrad jngrad requested a review from RudolfWeeber December 13, 2022 19:39
@jngrad jngrad force-pushed the 4.3-dev_main branch 2 times, most recently from 06942e7 to 4385e6c Compare June 13, 2023 15:01
Introduce dipolar direct sum CPU kernels to compute the total dipole
field on magnetic particles.

Co-authored-by: Jean-Noël Grad <[email protected]>
@jngrad jngrad added this to the ESPResSo 4.3.0 milestone Jun 13, 2023
@jngrad jngrad added New Feature automerge Merge with kodiak labels Jun 13, 2023
@kodiakhq kodiakhq bot merged commit 44a4c14 into espressomd:python Jun 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge with kodiak New Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants