Setting orientations of BPM atoms


I’m using read_data and an input file to initialize a collection of hybridized bpm/sphere dipole particles. I’d like to include in the input file also the initial orientations of each atom, I have something like 1000 unique orientations and so do not want to set them all to the same orientation. (Though the particles are spherical, their orientation is important). If they were ellipsoidal, this would be easy, as there is an explicit way to do this via a section in the input file. I know I could use the “set” command in the main in. file, but at best I think I’d need 1000 separate commands, and this seems intractable. Is there another way to do this?

I am confused.

When you use atom_style hybrid bpm/sphere dipole you would have to provide charge and the dipole vector component already in the data file. So to what value do you set them? All zero?

Please note that the set command has the dipole/random option to set them all to different orientations.

I may be mistaken, but if I use a granular force fix that results in torques on the finite size particles, this will update their internal orientation, but this is independent of their dipole moment? Unless the moment rotates with the particles? I wrote a test script, and the quaternion of interacting particles changes in time but each particle’s dipole moment remains the same.

Don’t you think that you should be answering my question(s) first before asking new ones of yourself.

Yes. Time integrators do not know whether the dipole moment should be coupled to an extended particle’s orientation or would be independent (as a point dipole of a particle’s core). Please look for the “update” keyword in the corresponding documentation page.

Well I was in effect answering, by suggesting that whatever I was setting the dipole to didn’t seem to matter (I just set them all the same, and wasn’t using any fix yet to have dipole moments interact). The point of including the dipole style is to in the future constrain particles to not rotate independently of neighboring particles, currently I would just like to be able to set the quaternion of each particle to specific values which are dependent on the starting configuration of those particles (so the random option won’t help me here).

However, if I use the update keyword, then I suppose I could I switch the bpm type for just spheres, set the dipoles in the initial configuration file, and track the dipoles. I was worried that the way I would use the dipoles to constraint particles wouldn’t work for tracking their orientation as well, and wanted to use bpm to have a separate angle measurement, but it seems this should work just fine.