mooonpy.molspace.reaxff module

class mooonpy.molspace.reaxff.ReaxFF(topofile=None)[source]

Bases: object

Class for reading Reax force feild .ffield files, and computing bond orders from Molspace objects.

Initalizes a ReaxFF object and dataclass, read a file if argument given. Currently does not support Angle or Dihedral parameter storage

BO_average(series, base=None, remove_single=False, remove_H2=False, steps=None, cutoff=3, periodicity='ppp')[source]

Read in series of dump files to compute average Bond orders, create bonds above 0.3 BO, return final topology series is intended for use with .dump files, .data files must already be loaded as Molspace, not input as path

base should be a Molspace, used to update or overwrite atom types and elements not in the series remove single deletes non-bonded atoms from final file remove_H2 removes H2 atoms from final file steps (list) controls which steps from the dump are used cutoff is pairwise distance limit used in BO. 3 Angstroms is used as a default for CHON systems, larger may be needed for heavier atoms. periodicity can be ‘ppp’ for periodic systems.

correct_BO(BO_prime, delta_prime1, delta_prime2, delta_boc1, delta_boc2, ele1, ele2)[source]

Functions to apply bond order correction equations Based on LAMMPS implimentation, Not perfect match Not the same notation as used in the 2017 Reax Manual

pair_bo_prime(ele1, ele2, dist)[source]

Compute inital bond order from elements and distance Not Final corrected bond order

read(topofile: Path | str | None)[source]

Read a .ffield file Currently does not support reading Angle or Dihedral parameters

sort_ele(in_list)[source]

Sorts input elements in order of file elements, ie C H O N Internal indexing and lookup uses this order TODO:: update for use in N>2 odering Usage: bond_key = tuple(reax.sort_ele([atom1.element, atom2.element]))