# Topology Schema¶

A full description of the overall molecule its geometry, fragments, and charges.

## Required Keys¶

The following properties are required for a topology.

Key Name Description Field Type symbols (nat, ) atom symbols in title case. array[string] geometry (3 * nat, ) vector of XYZ coordinates [a0] of the atoms. array[number] schema_name No description provided. string schema_version No description provided. integer

## Optional Keys¶

The following keys are optional for the topology specification.

Key Name Description Field Type molecular_charge The overall charge of the molecule. number molecular_multiplicity The overall multiplicity of the molecule. number fix_com Whether translation of geometry is allowed (fix F) or disallowed (fix T). boolean real (nat, ) list describing if atoms are real (T) or ghost (F). array[boolean] connectivity A list describing bonds within a molecule. Each element is a (atom1, atom2, order) tuple. array[array] fix_orientation Whether rotation of geometry is allowed (fix F) or disallowed (fix T). boolean atom_labels (nat, ) atom labels with any user tagging information. array[string] fragment_multiplicities (nfr, ) list of multiplicities associated with each fragment tuple. array[number] fix_symmetry Maximal point group symmetry at which geometry should be treated. Lowercase. string fragment_charges (nfr, ) list of charges associated with each fragment tuple. array[number] mass_numbers (nat, ) mass numbers for atoms, if known isotope, else -1. array[number] name The name of the molecule. string masses (nat, ) atom masses [u]; canonical weights assumed if not given. array[number] comment Any additional comment one would attach to the molecule. string provenance #/definitions/provenance object fragments (nfr, <varies>) list of indices (0-indexed) grouping atoms into molecular fragments within the topology. array[array] atomic_numbers (nat, ) atomic numbers, nuclear charge for atoms. Ghostedness should be indicated through ‘real’ field, not zeros here. array[number]