# Dipoles on a sphere

Dear all,
is there a way to model point dipoles bounded to the surface of a spherical particle so that they can interact with each other, move on the surface, and stay in the radial direction (orthogonal to the surface)?

Thanks in advance,

Andrea

It should be possible when the spherical object is assembled from point particles with dipoles and its motion time integrated with fix rigid (or fix rigid/small). At least in theory. As for all complex operations in LAMMPS, it is strongly recommended to make some careful tests to confirm that the functionality performs as expected.

Dear Prof. Kohlmeyer, thanks for the answer.
My current strategy is the following:
The center of the sphere is a particle that interacts with the other centers via truncated LJ in order to simulate hard spheres.
In order to maintain the dipole orthogonal to the surface of the sphere (corresponding to the LJ cutoff of the central particle) I created a rigid body of a sphere with a dipole (initially radial and a particle near the central particle). This stick is then maintained in a radial position by bonding both extremities to the central particle, with harmonic bonds whose equilibrium distance is the initial one.
In such a way the dipoles are indeed radial and the spheres on which they are bounded are almost rigid. Also in this way, I should be able to include the torque on the dipoles.
However, in this model, the dipoles are maintained in position only harmonically. Furthermore, when I use 2 2 lj/cut/dipole/cut 1.0 0 1.0 5 for example, trying to get only a dipole-dipole interaction without any LJ contribution the dipoles seem to not repel each other at a small distance as expected. Is the LJ part necessary in simulating dipoles?
In the input file, I simulate 2 rigid spheres with two dipoles each, one with dipoles toward the center and one with dipoles toward the outside.
Any improvement to this model or alternative ways to approach the problem is appreciated.

Best,

Andrea

My input file

``````units		lj
atom_style      hybrid dipole full sphere
dimension	3

bond_style      harmonic
angle_style     harmonic
dihedral_style  none
improper_style  none

read_data       sfere1a.data

group            centralparticles  molecule 0
velocity	centralparticles create 0.1 87287 mom no rot no

group           externalparticles  subtract all centralparticles

mass	        1 10.0
mass            2 1.0
mass            3 1.0

fix             2  externalparticles  rigid/nvt/small molecule  temp 0.1 0.001 1

pair_style	hybrid/overlay lj/cut/dipole/cut 5 lj/cut 4.0
pair_coeff	* * lj/cut/dipole/cut 0.0 0.0 0.0
pair_coeff	2 2 lj/cut/dipole/cut 0.0 1.0
pair_coeff	* * lj/cut 0.0 0.0 0.0
pair_coeff     1 1 lj/cut 10.0 3.564

neighbor	0.3 bin
neigh_modify	delay 0

fix            1 centralparticles nvt/sphere update dipole temp 0.1 0.001 1

timestep	0.0005

compute        erot all erotate/sphere

thermo_style	custom step temp epair c_erot etotal press
thermo		1

dump		2 all custom 500 dump.sfere id type x y z mol mux muy muz radius q mass tqx tqy tqz
run		400000
``````

My data file

``````         10 atoms
8 bonds
0 angles
0 dihedrals
0 impropers

3 atom types
2 bond types
0 angle types
0 dihedral types
0 improper types

-5 5 xlo xhi
-5 5 ylo yhi
-5 5 zlo zhi

Bond Coeffs

1            10.0          0.1
2             10.0         1

Atoms

1     1      -2   0  0   0   0   0    0     0  0  4   10
2     2      -2   0 -1   0   0   0   -1     1   0 1 1
3     2      -2   0  1   0   0   0    1     2   0 1 1
4     3      -2   0 -0.1   0   0   0   0     1   0 1 1
5     3      -2   0 0.1   0   0   0  0     2   0 1 1
6     1      2   0  0   0   0   0    0     0  0  4   10
7     2      2   0 -1   0   0   0   1    3   0 1 1
8     2      2  0  1   0   0   0    -1     4   0 1 1
9     3      2   0 -0.1   0   0   0   0     3   0 1 1
10    3     2   0 0.1   0   0   0  0    4  0 1 1

Bonds

1     1           1        4
2     1           1        5
3     1           6        9
4     1           6        10
5     2           1        2
6     2           1        3
7     2           6        7
8     2           6        8
``````

This is a rather pointless setup. You are adding an lj/cut interaction to an interaction that already contains it.

What you are asking for is advice on your research and not really asking questions about LAMMPS itself. That makes this a topic for discussion with your adviser(s)/tutor(s)/colleague(s)/collaborator(s) that know (and care) about your research and renders it somewhat off-topic for this forum. This only becomes a LAMMPS issue, if LAMMPS does not behave like the documentation says, or you are having technical trouble applying the commands.