xnn.ffnn.common.frc.ForceField#
- class xnn.ffnn.common.frc.ForceField(name, file, version)[source]#
Bases:
objectOne resolved force-field variant: merged sections plus lookups.
Built by
FrcFile.forcefield(); not constructed directly.- Variables:
name (str) – The variant name (the
#define).file (FrcFile) – The file it was resolved from.
sections (dict) –
kind -> {key: Row}for every parameter section of the variant.columns (labels, modifiers, annotations,) – Per kind: the labels merged, the
@modifiers, the>annotations, and the value-column names.templates (dict) –
atom type -> {"smarts": [...], "description": str, "overrides": [...], "version": str}in file order (later templates take precedence when typing).fragments (dict) –
fragment name -> entry(SMARTS,atom types, optionalcharges).metadata (dict) – The
#metadataparameters (ff_form,charges, …).
- Parameters:
- equivalent(atom_type, term)[source]#
The equivalent type used for
term("nonbond","bond","angle","torsion","oop"); the type itself if none.
- nonbond(atom_type, kind='nonbond(12-6)')[source]#
Lennard-Jones parameters of an atom type,
(sigma [Å], epsilon [kcal/mol])fornonbond(12-6)((rmin, epsilon)fornonbond(9-6)).Every
@type/@unitsvariant a section may use was already normalised to this form when the file was read. Looks up the type, then its nonbond equivalent, then a*wildcard row;Noneif nothing matches.
- combination(kind='nonbond(12-6)')[source]#
The
@combinationrule of a nonbond section (default geometric).