I'm trying to understand how "atom_style hybrid" and "create_atoms"
interact, specifically how each atom's "style" is determined when you
add a batch of new atoms using the random call or similar, both from a
conceptual point of view and in detail, to see how I would interact
with this using the library interface.
Conceptually, I can pose my question with an example. If I were to use:
atom_style hybrid sphere ellipsoid
create_atoms 1 random 500 1 NULL
what style would my 500 atoms have for interaction purposes? How would
I specify, and/or amend the ones that were wrong?
From the more detailed perspective, I can see from the docs that all
the atoms have the 'union of the attributes' allocated in RAM, which
is perfectly clear - the AtomVector just has all the arrays
initialised for all atoms in them. What I want to know is which
internal property (itype, image, mask, tag?) determines the particular
style for an individual atom/is used to determine how it interacts in
a timestep, etc?
I have tried to find out by reading the source myself, but I'm only
really familiar with C, so some of the type templating magic blocks my
understanding of where to go next (and, incidentally, confuses eclipse
into not indexing most of the classes..)