GROMACSSystem

pydantic model openff.interchange.interop.gromacs.models.models.GROMACSSystem[source]

Bases: DefaultModel

A GROMACS system. Adapted from Intermol.

Fields
field positions: openff.models.types.ArrayQuantity | None = None
field box: openff.models.types.ArrayQuantity | None = None
field name: str = ''
field nonbonded_function: int = 1

The nonbonded function.

Constraints
  • minimum = 1

  • maximum = 1

field combination_rule: int = 2

The combination rule.

Constraints
  • minimum = 1

  • maximum = 3

field gen_pairs: bool = True

Whether or not to generate pairs.

field vdw_14: float = 0.5

The 1-4 scaling factor for dispersion interactions.

field coul_14: float = 0.833333

The 1-4 scaling factor for electrostatic interactions.

field atom_types: dict[str, LennardJonesAtomType] = {}

Atom types, keyed by name.

field molecule_types: dict[str, GROMACSMolecule] = {}

Molecule types, keyed by name.

field molecules: dict[str, int] = {}

The number of each molecule type in the system, keyed by the name of each molecule.

classmethod from_files(top_file, gro_file)[source]

Parse a GROMACS topology file.

to_files(prefix: str, decimal: int = 3)[source]

Write a GROMACS topology file.

to_top(file: str)[source]

Write a GROMACS topology file.

to_gro(file: str, decimal: int = 3)[source]

Write a GROMACS coordinate file.

remove_molecule_type(molecule_name: str, n_copies: int = 1)[source]

Remove a molecule type from the system.

add_molecule_type(molecule: GROMACSMolecule, n_copies: int)[source]

Add a molecule type to the system.