Commit 25568bdd authored by Joseph Rudzinski's avatar Joseph Rudzinski
Browse files

updates for atomistic parser

parent 51fbe2ca
Subproject commit 7a57120d6b4845f471577af75ad3e205ee503ea5
Subproject commit 9500c570bf46c6ad0cf97600535fc511339271e0
......@@ -27,6 +27,70 @@ from ..common import FastAccess
m_package = Package()
class AtomsGroup(MSection):
'''
Describes a group of atoms which may constitute a sub system as in the case of a
molecule.
'''
m_def = Section(validate=False)
label = Quantity(
type=str,
shape=[],
description='''
Label of the group.
''')
type = Quantity(
type=str,
shape=[],
description='''
Type of the group.
''')
index = Quantity(
type=int,
shape=[],
description='''
Index of the group with respect to its parent group.
''')
composition_formula = Quantity(
type=str,
shape=[],
description='''
The overall composition of the group with respect to its subgroups.
The syntax for a groups composed of X and Y with x and y components of each,
respectively, is X(x)Y(y).
''')
n_atoms = Quantity(
type=int,
shape=[],
description='''
The total number of atoms in the group.
''')
atom_indices = Quantity(
type=np.dtype(np.int32),
shape=['n_atoms'],
description='''
Indices of the atoms in the group with respect to the system.
''')
is_molecule = Quantity(
type=bool,
shape=[],
description='''
Denotes if the atoms in this group represent a molecule. That is, all atoms
in the group are connected via bonds, and no other atoms contain bonds
with these atoms.
''')
atoms_group = SubSection(sub_section=SectionProxy('AtomsGroup'), repeats=True)
class Atoms(MSection):
'''
Describes the atomic structure of the physical system. This includes the atom
......@@ -484,6 +548,8 @@ class System(MSection):
atoms = SubSection(sub_section=Atoms.m_def, categories=[FastAccess])
atoms_group = SubSection(sub_section=AtomsGroup.m_def, repeats=True)
chemical_composition = Quantity(
type=str,
shape=[],
......
......@@ -1331,6 +1331,58 @@ class MolecularDynamics(MSection):
Indicates if calculation contains thermodynamic data.
''')
ensemble_properties = SubSection(sub_section=SectionProxy('EnsembleProperties'), repeats=False)
class EnsembleProperties(MSection):
'''
Describes any observable calculated from an ensemble average.
'''
m_def = Section(validate=False)
label = Quantity(
type=str,
shape=[],
description='''
Label of the observable.
''')
types = Quantity(
type=np.dtype(str),
shape=[],
description='''
List of types for multi-component functions.
''')
variables_name = Quantity(
type=np.dtype(str),
shape=[],
description='''
Name/description of the independent variables along which the observable is defined.
''')
bins = Quantity(
type=np.dtype(np.float64),
shape=[],
description='''
Bins along which the observable is calculated (i.e., values of the variables).
''')
values = Quantity(
type=np.dtype(np.float64),
shape=[],
description='''
Values of the observables.
''')
n_smooth = Quantity(
type=int,
shape=[],
description='''
Number of bins over which the running average was computed for `values'.
''')
class SinglePoint(MSection):
'''
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment