Open xianshine opened 7 months ago
Electrostatic interactions (especially dipolar) and Ewald summation are definitely somewhere in the roadmap. I never fully dived into the technical details of implementing the Ewald summation in Monte Carlo simulations (although I saw some papers on the topic), but I imagine one would just add additional energy terms in all places in the Packing
class where the energy is computed. As for engineering the distribution of dipoles/charges, I would add the methods returning their placement in the Interaction
interface in a similar fashion to Interaction::getInteractionCentres()
. The support for defining the dipoles/charges could be then either hard-coded into selected existing Shape
classes or an adapted class could be devised, say ChargedShape
, which would take any existing shape and add a custom charge distribution. Probably both.
If you have some experience with the Ewald summation, you can contribute. I will happily help with the technicalities regarding the integration with the existing codebase in a general fashion.
Is it possible to implement the simulation of particles with partial charges, e.g. coarse graind molecules with partial charges? I think we only need to add these features:
If it is possible to implement these, what's the easiest way?