Skip to content

Clarification on SubSystem specification #198

@ndaelman-hu

Description

@ndaelman-hu

Atm, it isn't very clear (on our side of the schema), wrt to which parent a subsystem is defined:

    particle_indices = Quantity(
        type=np.int32,
        shape=['*'],
        description="""
        Indices of the particles/atoms in the child with respect to its parent. Example:
            - We have SrTiO3, where `AtomicCell.labels = ['Sr', 'Ti', 'O', 'O', 'O']`. If
            we create a `model_system` child for the `'Ti'` atom only, then in that child
            `ModelSystem.sub_systems[0].particle_indices = [1]`. If now we want to refer both to
            the `'Ti'` and the last `'O'` atoms, `ModelSystem.sub_systems[0].particle_indices = [1, 4]`.
        """,
    )

Does this mean a) wrt to the direct parent, or b) the top-level parent. There are pros and cons to either:

  • In option a), it's easier to programmatically extract the direct parent.
  • In option b), theparticle_indices will be subsets of the top-level parent. Direct parent, meanwhile, may modify said indices, due to changed ordering.

Option b) seems more in line with what we have been doing atm. The particle_states, for example, are already well-defined at the top-level. The labels and particle_indices already manage the rest of the mapping.

Note: particle_indices kinda confused me with the naming. Maybe particle_label_mapping is more descriptive?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions