InterMol: a conversion tool for molecular dynamics simulations

PyPI status Build Status Test Coverage Documentation Status Gitter

Installation

Installation

Install with pip (coming soon!)

InterMol will be added to PyPI as soon as we get our first stable release up and running.

Install from source

$ git clone https://github.com/shirtsgroup/InterMol.git
$ cd InterMol
$ python setup.py install

Or if you plan on contributing something:

$ python setup.py develop

Dependencies

To use InterMol, the following libraries and software will need to be installed.

Linux, Mac OS X or Windows operating system
We develop mainly on 64-bit Mac and CentOS machines. TravisCI is currently only set up to perform testing on Debian.
Python == 2.7
Once our unit tests flesh out a bit more, we intend to add support for >=2.6.
NumPy >= 1.6.0
Numpy is the base package for numerical computing in python.
simtk.unit >= 0.1
Python unit classes for dimensional analysis and unit conversion.

Development

Contributing

Contributions are welcome and they are greatly appreciated! Every little bit helps and credit will always be given.

Bug Reports

If you find a bug, please file a detailed issue here and provide input files so that we can try to reproduce the problem.

Code Style

PEP8 describes the style guide for python code. Please try to follow it when reasonable, in particular the naming conventions (e.g. public methods should use lower_case_with_underscores instead of camelCase).

Two helpful tools for checking your code are flake8 and pylint. The latter is a lot pickier but generally, your code should pass most flake8 tests:

$ pip install flake8 pylint

Also some IDE’s like PyCharm will notify you of PEP8 violations as you code.

Note

Some older chunks of the code do not yet adhere to PEP8. If you find something easily fixable, please do so!

Running our tests

InterMol uses py.test for unit testing. To run them simply type run the following while in the base directory:

$ py.test

We need a LOT more tests so any help here is especially welcome!

To debug failing tests, you typically get a clearer output by running a subset of the tests, e.g.:

$ python test_gromacs.py --type unit

which prints out log files to intermol/tests/unit_test_outputs/from_gromacs/[system name]/debug.log. Re-running a single test is best done directly via the convert.py script, e.g.:

$ python convert.py --gro_in tests/gromacs/unit_tests/[system name]/[system name].{top,gro} --gromacs -e

Note

If you have any ideas or suggestions for streamlining the testing process please let us know by filing an issue or opening a pull request!

Git Flow

Because we are supporting multiple molecular dynamics engines that should all work independently, we try to keep development of each engine in a separate branch until the basics are working.

To this end, we’ve started working with the git flow branching model. The basic things to know are:

  1. The master branch is strictly used for releases.
  2. The develop branch is where (!!!) development happens.
  3. When we start working on a new engine, we create a feature branch. E.g., at the time of this writing, there are branches called feature/lammps and feature/desmond. Once the overall structure in this branch is fairly stable and has a good amounts of tests, we merge it into develop.

So what do you, the interested developer, need to know?

  1. Don’t make pull requests against master.
  2. Choose either develop or the appropriate feature/* branch to pull against.

For more reading and a neat tool to help with branching see:

http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/

https://github.com/nvie/gitflow

http://danielkummer.github.io/git-flow-cheatsheet/

API Reference

intermol package

Subpackages

intermol.forces package
Submodules
intermol.forces.abstract_2_virtual_type module
class intermol.forces.abstract_2_virtual_type.Abstract2VirtualType(bondingtype1, bondingtype2, bondingtype3)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
placeholder
intermol.forces.abstract_3_virtual_type module
class intermol.forces.abstract_3_virtual_type.Abstract3VirtualType(bondingtype1, bondingtype2, bondingtype3, bondingtype4)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
bondingtype3
bondingtype4
placeholder
intermol.forces.abstract_4_virtual_type module
class intermol.forces.abstract_4_virtual_type.Abstract4VirtualType(bondingtype1, bondingtype2, bondingtype3, bondingtype4, bondingtype5)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
bondingtype3
bondingtype4
intermol.forces.abstract_angle_type module
class intermol.forces.abstract_angle_type.AbstractAngleType(bondingtype1, bondingtype2, bondingtype3, c=False)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
bondingtype3
c
intermol.forces.abstract_atom_type module
class intermol.forces.abstract_atom_type.AbstractAtomType(atomtype, bondtype=None, atomic_number=None, mass=None, charge=None, ptype=None)[source]

Bases: intermol.forces.abstract_type.AbstractType

atomic_number
atomtype
bondtype
charge
mass
ptype
intermol.forces.abstract_bond_type module
class intermol.forces.abstract_bond_type.AbstractBondType(bondingtype1, bondingtype2, order=1, c=False)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
c
order
intermol.forces.abstract_dihedral_type module
class intermol.forces.abstract_dihedral_type.AbstractDihedralType(bondingtype1, bondingtype2, bondingtype3, bondingtype4, improper=False)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
bondingtype3
bondingtype4
improper
intermol.forces.abstract_nonbonded_type module
class intermol.forces.abstract_nonbonded_type.AbstractNonbondedType(atom1, atom2, type)[source]

Bases: intermol.forces.abstract_type.AbstractType

atom1
atom2
type
intermol.forces.abstract_pair_type module
class intermol.forces.abstract_pair_type.AbstractPairType(bondingtype1, bondingtype2, scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
long
scaleLJ
scaleQQ
intermol.forces.abstract_type module
class intermol.forces.abstract_type.AbstractType[source]

Bases: object

__repr__()[source]

Print the object and all of its non-magic attributes.

intermol.forces.atom_c_type module
class intermol.forces.atom_c_type.AtomCType(*args, **kwds)[source]

Bases: intermol.forces.abstract_atom_type.AbstractAtomType

intermol.forces.atom_sigeps_type module
class intermol.forces.atom_sigeps_type.AtomSigepsType(*args, **kwds)[source]

Bases: intermol.forces.abstract_atom_type.AbstractAtomType

intermol.forces.buckingham_nonbonded_type module
class intermol.forces.buckingham_nonbonded_type.BuckinghamNonbonded(atom1, atom2, bondingtype1=None, bondingtype2=None, a=Quantity(value=0.0, unit=kilojoule/mole), b=Quantity(value=0.0, unit=/nanometer), C6=Quantity(value=0.0, unit=nanometer**6*kilojoule/mole), type=False)[source]

Bases: intermol.forces.buckingham_nonbonded_type.BuckinghamNonbondedType

stub documentation

class intermol.forces.buckingham_nonbonded_type.BuckinghamNonbondedType(*args, **kwds)[source]

Bases: intermol.forces.abstract_nonbonded_type.AbstractNonbondedType

C6
a
b
type
intermol.forces.connection_bond_type module
class intermol.forces.connection_bond_type.ConnectionBond(atom1, atom2, bondingtype1=None, bondingtype2=None, order=1, c=False)[source]

Bases: intermol.forces.connection_bond_type.ConnectionBondType

stub documentation

class intermol.forces.connection_bond_type.ConnectionBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
order
intermol.forces.convert_dihedrals module
intermol.forces.convert_dihedrals.convert_dihedral_from_OPLS_to_RB(f)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_RB_to_OPLS(c)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_RB_to_trig(c)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_fourier_to_trig(f)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_proper_to_trig(p)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_trig_to_RB(fcs)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_trig_to_fourier(fcs)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_trig_to_proper(fcs, convention='0')[source]
intermol.forces.convert_dihedrals.convert_nothing(x)[source]

useful utility for not converting anything

intermol.forces.cosine_angle_type module
class intermol.forces.cosine_angle_type.CosineAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, k=Quantity(value=0.0, unit=kilojoule/mole), c=False)[source]

Bases: intermol.forces.cosine_angle_type.CosineAngleType

http://lammps.sandia.gov/doc/angle_cosine.html

class intermol.forces.cosine_angle_type.CosineAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
intermol.forces.cosine_squared_angle_type module
class intermol.forces.cosine_squared_angle_type.CosineSquaredAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, theta=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/mole), c=False)[source]

Bases: intermol.forces.cosine_squared_angle_type.CosineSquaredAngleType

stub documentation

class intermol.forces.cosine_squared_angle_type.CosineSquaredAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
theta
intermol.forces.cross_bond_angle_angle_type module
class intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, r1=Quantity(value=0.0, unit=nanometer), r2=Quantity(value=0.0, unit=nanometer), r3=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), c=False)[source]

Bases: intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngleType

stub documentation

class intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
r1
r2
r3
intermol.forces.cross_bond_bond_angle_type module
class intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, r1=Quantity(value=0.0, unit=nanometer), r2=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), c=False)[source]

Bases: intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngleType

stub documentation

class intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
r1
r2
intermol.forces.cubic_bond_type module
class intermol.forces.cubic_bond_type.CubicBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), C2=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), C3=Quantity(value=0.0, unit=kilojoule/(nanometer**3*mole)), order=1, c=False)[source]

Bases: intermol.forces.cubic_bond_type.CubicBondType

stub documentation

class intermol.forces.cubic_bond_type.CubicBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

C2
C3
c
length
order
intermol.forces.fene_bond_type module
class intermol.forces.fene_bond_type.FeneBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), kb=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), order=1, c=False)[source]

Bases: intermol.forces.fene_bond_type.FeneBondType

stub documentation

class intermol.forces.fene_bond_type.FeneBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
kb
length
order
intermol.forces.fene_expandable_bond_type module
class intermol.forces.fene_expandable_bond_type.FeneExpandableBond(atom1, atom2, bondingtype1=None, bondingtype2=None, k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), length=Quantity(value=0.0, unit=nanometer), epsilon=Quantity(value=0.0, unit=kilojoule/mole), sigma=Quantity(value=0.0, unit=nanometer), delta=Quantity(value=0.0, unit=nanometer), order=1, c=False)[source]

Bases: intermol.forces.fene_expandable_bond_type.FeneExpandableBondType

stub documentation

class intermol.forces.fene_expandable_bond_type.FeneExpandableBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
delta
epsilon
k
length
order
sigma
intermol.forces.forcedata module
intermol.forces.forcefunctions module
intermol.forces.forcefunctions.build_paramlist(program)[source]

Create a paramlist specific for a given program.

intermol.forces.forcefunctions.build_unitvars(program, paramlist, dumself=None)[source]

Takes a string program name (one of the supported programs), and a ‘self’ object it looks like the keyword is not being used, but it is used in the line eval(unit). The test name ‘dumself’ needs to match what is in the force data arrays. Currently only used for lammps.

intermol.forces.forcefunctions.capifyname(forcename)[source]

Return name of the class in camelCase.

intermol.forces.forcefunctions.create_kwd_dict(unitvars, paramlist, force_type_object, values, optvalues=None)[source]
intermol.forces.forcefunctions.create_kwds_from_entries(unitvars, paramlist, entries, force_type, offset=0)[source]

Create a keyword dictionary given an array of information from a file format

requires the master set of units, the master set of parameter lists, an object (either a force_class or force_type), the list of information to be converted into a keyword, and an offset.

Parameters:offset (int) – how far over from the first entry we translate
intermol.forces.forcefunctions.get_parameter_kwds_from_force(force, forceparams, paramlist)[source]
intermol.forces.forcefunctions.get_parameter_list_from_force(force, paramlist)[source]

Create a function that returns the paramters of a function type.

First, we need make some additions to the parameter list dictionary, which we do once when the forcedata script is imported. Useful to put the forces here as well. We won’t make this a function for now since it’s needed in this module.

intermol.forces.forcefunctions.get_parameter_list_from_kwds(force, kwds, paramlist)[source]
intermol.forces.forcefunctions.optforceparams(force_type, forcetype_object=None)[source]

Return the dictionary of optional paramters of an abstract force type.

If no object is given, we fill with blanks.

intermol.forces.forcefunctions.optparamkeylookup(force_type)[source]

Given a force_type object, determine the key associated with the optional parameters.

intermol.forces.forcefunctions.optparamlookup(force_type_object, object_default=False)[source]

A wrapper for optforceparams that takes a force_type object and returns the optional parameter dictionary.

intermol.forces.forcefunctions.specify(program_units, unitset, dumself=None, shouldEval=True)[source]

Takes the dict of units, and a set of dimensions and replaces the dimensions with the appropriate units.

intermol.forces.four_fdn_virtual_type module
class intermol.forces.four_fdn_virtual_type.FourFdnVirtual(atom1, atom2, atom3, atom4, atom5, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, bondingtype5=None, a=Quantity(value=0.0, unit=dimensionless), b=Quantity(value=0.0, unit=dimensionless), c=Quantity(value=0.0, unit=nanometer), placeholder=False)[source]

Bases: intermol.forces.four_fdn_virtual_type.FourFdnVirtualType

stub documentation

class intermol.forces.four_fdn_virtual_type.FourFdnVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_4_virtual_type.Abstract4VirtualType

a
b
c
placeholder
intermol.forces.fourier_dihedral_type module
class intermol.forces.fourier_dihedral_type.FourierDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, c1=Quantity(value=0.0, unit=kilojoule/mole), c2=Quantity(value=0.0, unit=kilojoule/mole), c3=Quantity(value=0.0, unit=kilojoule/mole), c4=Quantity(value=0.0, unit=kilojoule/mole), c5=Quantity(value=0.0, unit=kilojoule/mole), improper=False)[source]

Bases: intermol.forces.fourier_dihedral_type.FourierDihedralType

stub documentation

class intermol.forces.fourier_dihedral_type.FourierDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

c1
c2
c3
c4
c5
improper
intermol.forces.g96_bond_type module
class intermol.forces.g96_bond_type.G96Bond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**4*mole)), order=1, c=False)[source]

Bases: intermol.forces.g96_bond_type.G96BondType

stub documentation

class intermol.forces.g96_bond_type.G96BondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
k
length
order
intermol.forces.harmonic_angle_type module
class intermol.forces.harmonic_angle_type.HarmonicAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, theta=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/(mole*radian**2)), c=False)[source]

Bases: intermol.forces.harmonic_angle_type.HarmonicAngleType

stub documentation

class intermol.forces.harmonic_angle_type.HarmonicAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
theta
intermol.forces.harmonic_bond_type module
class intermol.forces.harmonic_bond_type.HarmonicBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), order=1, c=False)[source]

Bases: intermol.forces.harmonic_bond_type.HarmonicBondType

stub documentation

class intermol.forces.harmonic_bond_type.HarmonicBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
k
length
order
intermol.forces.harmonic_potential_bond_type module
class intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), order=1, c=False)[source]

Bases: intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBondType

stub documentation

class intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
k
length
order
intermol.forces.improper_harmonic_dihedral_type module
class intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, xi=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/(mole*radian**2)), improper=False)[source]

Bases: intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedralType

stub documentation

class intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

improper
k
xi
intermol.forces.lj_c_nonbonded_type module
class intermol.forces.lj_c_nonbonded_type.LjCNonbonded(atom1, atom2, bondingtype1=None, bondingtype2=None, C6=Quantity(value=0.0, unit=nanometer**6*kilojoule/mole), C12=Quantity(value=0.0, unit=nanometer**12*kilojoule/mole), type=False)[source]

Bases: intermol.forces.lj_c_nonbonded_type.LjCNonbondedType

stub documentation

class intermol.forces.lj_c_nonbonded_type.LjCNonbondedType(*args, **kwds)[source]

Bases: intermol.forces.abstract_nonbonded_type.AbstractNonbondedType

C12
C6
type
intermol.forces.lj_c_pair_type module
class intermol.forces.lj_c_pair_type.LjCPair(atom1, atom2, bondingtype1=None, bondingtype2=None, C6=Quantity(value=0.0, unit=nanometer**6*kilojoule/mole), C12=Quantity(value=0.0, unit=nanometer**12*kilojoule/mole), scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.lj_c_pair_type.LjCPairType

stub documentation

class intermol.forces.lj_c_pair_type.LjCPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

C12
C6
long
scaleLJ
scaleQQ
intermol.forces.lj_default_pair_type module
class intermol.forces.lj_default_pair_type.LjDefaultPair(atom1, atom2, bondingtype1=None, bondingtype2=None, scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.lj_default_pair_type.LjDefaultPairType

stub documentation

class intermol.forces.lj_default_pair_type.LjDefaultPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

long
scaleLJ
scaleQQ
intermol.forces.lj_sigeps_nonbonded_type module
class intermol.forces.lj_sigeps_nonbonded_type.LjSigepsNonbonded(atom1, atom2, bondingtype1=None, bondingtype2=None, sigma=Quantity(value=0.0, unit=nanometer), epsilon=Quantity(value=0.0, unit=kilojoule/mole), type=False)[source]

Bases: intermol.forces.lj_sigeps_nonbonded_type.LjSigepsNonbondedType

stub documentation

class intermol.forces.lj_sigeps_nonbonded_type.LjSigepsNonbondedType(*args, **kwds)[source]

Bases: intermol.forces.abstract_nonbonded_type.AbstractNonbondedType

epsilon
sigma
type
intermol.forces.lj_sigeps_pair_type module
class intermol.forces.lj_sigeps_pair_type.LjSigepsPair(atom1, atom2, bondingtype1=None, bondingtype2=None, sigma=Quantity(value=0.0, unit=nanometer), epsilon=Quantity(value=0.0, unit=kilojoule/mole), scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.lj_sigeps_pair_type.LjSigepsPairType

stub documentation

class intermol.forces.lj_sigeps_pair_type.LjSigepsPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

epsilon
long
scaleLJ
scaleQQ
sigma
intermol.forces.ljq_c_pair_type module
class intermol.forces.ljq_c_pair_type.LjqCPair(atom1, atom2, bondingtype1=None, bondingtype2=None, qi=Quantity(value=0.0, unit=elementary charge), qj=Quantity(value=0.0, unit=elementary charge), C6=Quantity(value=0.0, unit=nanometer**6*kilojoule/mole), C12=Quantity(value=0.0, unit=nanometer**12*kilojoule/mole), scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.ljq_c_pair_type.LjqCPairType

stub documentation

class intermol.forces.ljq_c_pair_type.LjqCPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

C12
C6
long
qi
qj
scaleLJ
scaleQQ
intermol.forces.ljq_default_pair_type module
class intermol.forces.ljq_default_pair_type.LjqDefaultPair(atom1, atom2, bondingtype1=None, bondingtype2=None, scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.ljq_default_pair_type.LjqDefaultPairType

stub documentation

class intermol.forces.ljq_default_pair_type.LjqDefaultPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

long
scaleLJ
scaleQQ
intermol.forces.ljq_sigeps_pair_type module
class intermol.forces.ljq_sigeps_pair_type.LjqSigepsPair(atom1, atom2, bondingtype1=None, bondingtype2=None, qi=Quantity(value=0.0, unit=elementary charge), qj=Quantity(value=0.0, unit=elementary charge), sigma=Quantity(value=0.0, unit=nanometer), epsilon=Quantity(value=0.0, unit=kilojoule/mole), scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.ljq_sigeps_pair_type.LjqSigepsPairType

stub documentation

class intermol.forces.ljq_sigeps_pair_type.LjqSigepsPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

epsilon
long
qi
qj
scaleLJ
scaleQQ
sigma
intermol.forces.make_forces module
intermol.forces.morse_bond_type module
class intermol.forces.morse_bond_type.MorseBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), D=Quantity(value=0.0, unit=kilojoule/mole), beta=Quantity(value=0.0, unit=/nanometer), order=1, c=False)[source]

Bases: intermol.forces.morse_bond_type.MorseBondType

stub documentation

class intermol.forces.morse_bond_type.MorseBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

D
beta
c
length
order
intermol.forces.nonlinear_bond_type module
class intermol.forces.nonlinear_bond_type.NonlinearBond(atom1, atom2, bondingtype1=None, bondingtype2=None, epsilon=Quantity(value=0.0, unit=kilojoule/mole), r0=Quantity(value=0.0, unit=nanometer), lamda=Quantity(value=0.0, unit=nanometer), order=1, c=False)[source]

Bases: intermol.forces.nonlinear_bond_type.NonlinearBondType

http://lammps.sandia.gov/doc/bond_nonlinear.html

class intermol.forces.nonlinear_bond_type.NonlinearBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
epsilon
lamda
order
r0
intermol.forces.proper_periodic_dihedral_type module
class intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, phi=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/mole), multiplicity=Quantity(value=0.0, unit=dimensionless), weight=Quantity(value=0.0, unit=dimensionless), improper=False)[source]

Bases: intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType

stub documentation

class intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

improper
k
multiplicity
phi
weight
intermol.forces.quartic_angle_type module
class intermol.forces.quartic_angle_type.QuarticAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, theta=Quantity(value=0.0, unit=degree), C0=Quantity(value=0.0, unit=kilojoule/mole), C1=Quantity(value=0.0, unit=kilojoule/(mole*radian)), C2=Quantity(value=0.0, unit=kilojoule/(mole*radian**2)), C3=Quantity(value=0.0, unit=kilojoule/(mole*radian**3)), C4=Quantity(value=0.0, unit=kilojoule/(mole*radian**4)), c=False)[source]

Bases: intermol.forces.quartic_angle_type.QuarticAngleType

stub documentation

class intermol.forces.quartic_angle_type.QuarticAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

C0
C1
C2
C3
C4
c
theta
intermol.forces.quartic_bond_type module
class intermol.forces.quartic_bond_type.QuarticBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), C2=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), C3=Quantity(value=0.0, unit=kilojoule/(nanometer**3*mole)), C4=Quantity(value=0.0, unit=kilojoule/(nanometer**4*mole)), order=1, c=False)[source]

Bases: intermol.forces.quartic_bond_type.QuarticBondType

stub documentation

class intermol.forces.quartic_bond_type.QuarticBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

C2
C3
C4
c
length
order
intermol.forces.quartic_breakable_bond_type module
class intermol.forces.quartic_breakable_bond_type.QuarticBreakableBond(atom1, atom2, bondingtype1=None, bondingtype2=None, k=Quantity(value=0.0, unit=kilojoule/(nanometer**4*mole)), B1=Quantity(value=0.0, unit=nanometer), B2=Quantity(value=0.0, unit=nanometer), Rc=Quantity(value=0.0, unit=nanometer), U0=Quantity(value=0.0, unit=kilojoule/mole), order=1, c=False)[source]

Bases: intermol.forces.quartic_breakable_bond_type.QuarticBreakableBondType

http://lammps.sandia.gov/doc/bond_quartic.html

class intermol.forces.quartic_breakable_bond_type.QuarticBreakableBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

B1
B2
Rc
U0
c
k
order
intermol.forces.rb_dihedral_type module
class intermol.forces.rb_dihedral_type.RbDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, C0=Quantity(value=0.0, unit=kilojoule/mole), C1=Quantity(value=0.0, unit=kilojoule/mole), C2=Quantity(value=0.0, unit=kilojoule/mole), C3=Quantity(value=0.0, unit=kilojoule/mole), C4=Quantity(value=0.0, unit=kilojoule/mole), C5=Quantity(value=0.0, unit=kilojoule/mole), C6=Quantity(value=0.0, unit=kilojoule/mole), improper=False)[source]

Bases: intermol.forces.rb_dihedral_type.RbDihedralType

stub documentation

class intermol.forces.rb_dihedral_type.RbDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

C0
C1
C2
C3
C4
C5
C6
improper
intermol.forces.settles module
class intermol.forces.settles.Settles(*args, **kwds)[source]

Bases: intermol.forces.abstract_type.AbstractType

intermol.forces.three_fad_virtual_type module
class intermol.forces.three_fad_virtual_type.ThreeFadVirtual(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, theta=Quantity(value=0.0, unit=degree), d=Quantity(value=0.0, unit=nanometer), placeholder=False)[source]

Bases: intermol.forces.three_fad_virtual_type.ThreeFadVirtualType

stub documentation

class intermol.forces.three_fad_virtual_type.ThreeFadVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_3_virtual_type.Abstract3VirtualType

d
placeholder
theta
intermol.forces.three_fd_virtual_type module
class intermol.forces.three_fd_virtual_type.ThreeFdVirtual(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, a=Quantity(value=0.0, unit=dimensionless), d=Quantity(value=0.0, unit=nanometer), placeholder=False)[source]

Bases: intermol.forces.three_fd_virtual_type.ThreeFdVirtualType

stub documentation

class intermol.forces.three_fd_virtual_type.ThreeFdVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_3_virtual_type.Abstract3VirtualType

a
d
placeholder
intermol.forces.three_linear_virtual_type module
class intermol.forces.three_linear_virtual_type.ThreeLinearVirtual(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, a=Quantity(value=0.0, unit=dimensionless), b=Quantity(value=0.0, unit=dimensionless), placeholder=False)[source]

Bases: intermol.forces.three_linear_virtual_type.ThreeLinearVirtualType

stub documentation

class intermol.forces.three_linear_virtual_type.ThreeLinearVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_3_virtual_type.Abstract3VirtualType

a
b
placeholder
intermol.forces.three_out_virtual_type module
class intermol.forces.three_out_virtual_type.ThreeOutVirtual(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, a=Quantity(value=0.0, unit=dimensionless), b=Quantity(value=0.0, unit=dimensionless), c=Quantity(value=0.0, unit=/nanometer), placeholder=False)[source]

Bases: intermol.forces.three_out_virtual_type.ThreeOutVirtualType

stub documentation

class intermol.forces.three_out_virtual_type.ThreeOutVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_3_virtual_type.Abstract3VirtualType

a
b
c
placeholder
intermol.forces.trig_dihedral_type module
class intermol.forces.trig_dihedral_type.TrigDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, phi=Quantity(value=0.0, unit=degree), fc0=Quantity(value=0.0, unit=kilojoule/mole), fc1=Quantity(value=0.0, unit=kilojoule/mole), fc2=Quantity(value=0.0, unit=kilojoule/mole), fc3=Quantity(value=0.0, unit=kilojoule/mole), fc4=Quantity(value=0.0, unit=kilojoule/mole), fc5=Quantity(value=0.0, unit=kilojoule/mole), fc6=Quantity(value=0.0, unit=kilojoule/mole), improper=False)[source]

Bases: intermol.forces.trig_dihedral_type.TrigDihedralType

stub documentation

class intermol.forces.trig_dihedral_type.TrigDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

fc0
fc1
fc2
fc3
fc4
fc5
fc6
improper
phi
intermol.forces.two_virtual_type module
class intermol.forces.two_virtual_type.TwoVirtual(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, a=Quantity(value=0.0, unit=dimensionless), placeholder=False)[source]

Bases: intermol.forces.two_virtual_type.TwoVirtualType

stub documentation

class intermol.forces.two_virtual_type.TwoVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_2_virtual_type.Abstract2VirtualType

a
placeholder
intermol.forces.urey_bradley_angle_type module
class intermol.forces.urey_bradley_angle_type.UreyBradleyAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, theta=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/(mole*radian**2)), r=Quantity(value=0.0, unit=nanometer), kUB=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), c=False)[source]

Bases: intermol.forces.urey_bradley_angle_type.UreyBradleyAngleType

stub documentation

class intermol.forces.urey_bradley_angle_type.UreyBradleyAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
kUB
r
theta
Module contents
intermol.gromacs package
Submodules
intermol.gromacs.grofile_parser module
class intermol.gromacs.grofile_parser.GromacsGroParser(gro_file)[source]

Bases: object

GromacsGroParser reads and writes Gromacs .gro files

A .gro file also contains some topological information, such as elements and residue names, but not enough to construct a full Topology object. This information is recorded and stored in the object’s public fields.

read()[source]
write(system)[source]

Write the system out in a Gromacs 4.6 format

Parameters:filename (str) – the file to write out to
intermol.gromacs.gromacs_driver module
intermol.gromacs.gromacs_driver.gromacs_energies(top=None, gro=None, mdp=None, gropath=None, grosuff=None, grompp_check=False)[source]

gropath = path to gromacs binaries grosuff = suffix of gromacs binaries, usually ‘’ or ‘_d’

intermol.gromacs.gromacs_driver.read_file(top_in, gro_in, gropath)[source]
intermol.gromacs.gromacs_driver.write_file(system, top_out, gro_out)[source]
intermol.gromacs.gromacs_parser module
class intermol.gromacs.gromacs_parser.GromacsParser(top_file, gro_file, system=None, include_dir=None, defines=None)[source]

Bases: object

A class containing methods required to read in a Gromacs(4.5.4) Topology File

class TopMoleculeType[source]

Bases: object

Inner class to store information about a molecule type.

GromacsParser.canonical_angle(params, angle, direction='into')[source]
Parameters:
  • params
  • angle
  • direction

Returns:

GromacsParser.canonical_bond(params, bond, direction='into')[source]
Parameters:
  • params
  • bond
  • direction

Returns:

GromacsParser.canonical_dihedral(params, dihedral, direction='into')[source]

We can fit everything into two types of dihedrals - dihedral_trig, and improper harmonic. Dihedral trig is of the form

fc0 + sum_i=1^6 fci (cos(nx-phi)

Proper dihedrals can be stored easily in this form, since they have only 1 n. Improper dihedrals can as well (flag as improper). RB can be stored as well, assuming phi = 0 or 180. Fourier can also be stored. A full dihedral trig can be decomposed into multiple proper dihedrals.

Will need to handle multiple dihedrals little differently in that we will need to add multiple 9 dihedrals together into a single dihedral_trig, as long as they have the same phi angle (seems to be always the case).

Parameters:
  • params
  • dihedral
  • direction

Returns:

GromacsParser.choose_parameter_kwds_from_forces(entries, n_atoms, force_type, gromacs_force)[source]

Extract a force’s parameters into a keyword dictionary.

Parameters:
  • entries (str) – The split() line being parsed.
  • n_atoms (int) – The number of atoms in the force.
  • force_type – The type of the force.
  • gromacs_force – The
Returns:

kwds – The force’s parameters, e.g.

{‘length’: Quantity(value=0.13, unit=nanometers),

‘k’: ...

}

Return type:

dict

GromacsParser.create_angle(angle)[source]
GromacsParser.create_atom(temp_atom)[source]
GromacsParser.create_bond(bond)[source]
GromacsParser.create_dihedral(dihedral)[source]

Create a dihedral object based on a [ dihedrals ] entry.

GromacsParser.create_exclusion(exclusion)[source]
GromacsParser.create_kwds_from_entries(entries, force_class, offset=0)[source]
GromacsParser.create_molecule(top_moltype, mol_name)[source]
GromacsParser.create_moleculetype(top_moltype, mol_name, mol_count)[source]
GromacsParser.create_pair(pair)[source]

Create a pair force object based on a [ pairs ] entry

GromacsParser.create_settle(settle)[source]
GromacsParser.directive_before_moleculetype()[source]
GromacsParser.find_dihedraltype(bondingtypes, improper)[source]

Determine the type of dihedral interaction between four atoms.

GromacsParser.find_forcetype(bondingtypes, types_of_kind)[source]
GromacsParser.get_parameter_kwds_from_force(force)[source]
GromacsParser.get_parameter_list_from_force(force)[source]
GromacsParser.gromacs_angle_types = {'1': <class 'intermol.forces.harmonic_angle_type.HarmonicAngleType'>, '3': <class 'intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngleType'>, '2': <class 'intermol.forces.cosine_squared_angle_type.CosineSquaredAngleType'>, '5': <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngleType'>, '4': <class 'intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngleType'>, '6': <class 'intermol.forces.quartic_angle_type.QuarticAngleType'>}
GromacsParser.gromacs_angles = {'1': <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>, '3': <class 'intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngle'>, '2': <class 'intermol.forces.cosine_squared_angle_type.CosineSquaredAngle'>, '5': <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>, '4': <class 'intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngle'>, '6': <class 'intermol.forces.quartic_angle_type.QuarticAngle'>}
GromacsParser.gromacs_bond_types = {'1': <class 'intermol.forces.harmonic_bond_type.HarmonicBondType'>, '3': <class 'intermol.forces.morse_bond_type.MorseBondType'>, '2': <class 'intermol.forces.g96_bond_type.G96BondType'>, '5': <class 'intermol.forces.connection_bond_type.ConnectionBondType'>, '4': <class 'intermol.forces.cubic_bond_type.CubicBondType'>, '7': <class 'intermol.forces.fene_bond_type.FeneBondType'>, '6': <class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBondType'>}
GromacsParser.gromacs_bonds = {'1': <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>, '3': <class 'intermol.forces.morse_bond_type.MorseBond'>, '2': <class 'intermol.forces.g96_bond_type.G96Bond'>, '5': <class 'intermol.forces.connection_bond_type.ConnectionBond'>, '4': <class 'intermol.forces.cubic_bond_type.CubicBond'>, '7': <class 'intermol.forces.fene_bond_type.FeneBond'>, '6': <class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>}
GromacsParser.gromacs_combination_rules = {'1': 'Multiply-C6C12', '3': 'Multiply-Sigeps', '2': 'Lorentz-Berthelot'}
GromacsParser.gromacs_dihedral_types = {'Trig': <class 'intermol.forces.trig_dihedral_type.TrigDihedralType'>, '1': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType'>, '3': <class 'intermol.forces.rb_dihedral_type.RbDihedralType'>, '2': <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedralType'>, '5': <class 'intermol.forces.fourier_dihedral_type.FourierDihedralType'>, '4': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType'>, '9': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType'>}
GromacsParser.gromacs_dihedrals = {'Trig': <class 'intermol.forces.trig_dihedral_type.TrigDihedral'>, '1': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>, '3': <class 'intermol.forces.rb_dihedral_type.RbDihedral'>, '2': <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>, '5': <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>, '4': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>, '9': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>}
GromacsParser.gromacs_pair_types = {'1A': <class 'intermol.forces.lj_c_pair_type.LjCPairType'>, '1C': <class 'intermol.forces.lj_default_pair_type.LjDefaultPairType'>, '1B': <class 'intermol.forces.lj_sigeps_pair_type.LjSigepsPairType'>, '2A': <class 'intermol.forces.ljq_c_pair_type.LjqCPairType'>, '2B': <class 'intermol.forces.ljq_sigeps_pair_type.LjqSigepsPairType'>, '2C': <class 'intermol.forces.ljq_default_pair_type.LjqDefaultPairType'>}
GromacsParser.gromacs_pairs = {'1A': <class 'intermol.forces.lj_c_pair_type.LjCPair'>, '1C': <class 'intermol.forces.lj_default_pair_type.LjDefaultPair'>, '1B': <class 'intermol.forces.lj_sigeps_pair_type.LjSigepsPair'>, '2A': <class 'intermol.forces.ljq_c_pair_type.LjqCPair'>, '2B': <class 'intermol.forces.ljq_sigeps_pair_type.LjqSigepsPair'>, '2C': <class 'intermol.forces.ljq_default_pair_type.LjqDefaultPair'>}
GromacsParser.invalid_line(line)[source]
GromacsParser.lookup_atom_atomtype(index, state=0)[source]
GromacsParser.lookup_atom_bondingtype(index)[source]
GromacsParser.lookup_gromacs_angles = {<class 'intermol.forces.quartic_angle_type.QuarticAngle'>: '6', <class 'intermol.forces.cosine_squared_angle_type.CosineSquaredAngle'>: '2', <class 'intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngle'>: '3', <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>: '1', <class 'intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngle'>: '4', <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>: '5'}
GromacsParser.lookup_gromacs_bonds = {<class 'intermol.forces.cubic_bond_type.CubicBond'>: '4', <class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>: '6', <class 'intermol.forces.connection_bond_type.ConnectionBond'>: '5', <class 'intermol.forces.g96_bond_type.G96Bond'>: '2', <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>: '1', <class 'intermol.forces.fene_bond_type.FeneBond'>: '7', <class 'intermol.forces.morse_bond_type.MorseBond'>: '3'}
GromacsParser.lookup_gromacs_combination_rules = {'Multiply-Sigeps': '3', 'Lorentz-Berthelot': '2', 'Multiply-C6C12': '1'}
GromacsParser.lookup_gromacs_dihedrals = {<class 'intermol.forces.rb_dihedral_type.RbDihedral'>: '3', <class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'Trig', <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>: '5', <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>: '2'}
GromacsParser.lookup_gromacs_pairs = {<class 'intermol.forces.lj_default_pair_type.LjDefaultPair'>: '1C', <class 'intermol.forces.ljq_default_pair_type.LjqDefaultPair'>: '2C', <class 'intermol.forces.ljq_c_pair_type.LjqCPair'>: '2A', <class 'intermol.forces.lj_sigeps_pair_type.LjSigepsPair'>: '1B', <class 'intermol.forces.ljq_sigeps_pair_type.LjqSigepsPair'>: '2B', <class 'intermol.forces.lj_c_pair_type.LjCPair'>: '1A'}
GromacsParser.paramlist = {'QuarticBreakableBond': ['k', 'B1', 'B2', 'Rc', 'U0'], 'fene_expandable_bond': ['k', 'length', 'epsilon', 'sigma', 'delta'], 'ThreeOutVirtualType': ['a', 'b', 'c'], 'LjDefaultPair': [], 'LjqDefaultPair': [], 'improper_harmonic_dihedral': ['xi', 'k'], 'cubic_bond': ['length', 'C2', 'C3'], 'ljq_c_pair': ['qi', 'qj', 'C6', 'C12'], 'ConnectionBond': [], 'BuckinghamNonbondedType': ['a', 'b', 'C6'], 'ConnectionBondType': [], 'ThreeOutVirtual': ['a', 'b', 'c'], 'FeneExpandableBond': ['k', 'length', 'epsilon', 'sigma', 'delta'], 'LjCPair': ['C6', 'C12'], 'four_fdn_virtual': ['a', 'b', 'c'], 'ThreeFadVirtual': ['theta', 'd'], 'RbDihedralType': ['C0', 'C1', 'C2', 'C3', 'C4', 'C5'], 'FeneBond': ['length', 'kb'], 'TrigDihedral': ['phi', 'fc0', 'fc1', 'fc2', 'fc3', 'fc4', 'fc5', 'fc6'], 'ThreeFadVirtualType': ['theta', 'd'], 'ThreeLinearVirtual': ['a', 'b'], 'LjCPairType': ['C6', 'C12'], 'cross_bond_bond_angle': ['r1', 'r2', 'k'], 'LjSigepsNonbonded': ['sigma', 'epsilon'], 'LjqDefaultPairType': [], 'cosine_squared_angle': ['theta', 'k'], 'ImproperHarmonicDihedralType': ['xi', 'k'], 'nonlinear_bond': ['epsilon', 'r0', 'lamda'], 'LjqSigepsPair': ['qi', 'qj', 'sigma', 'epsilon'], 'G96BondType': ['length', 'k'], 'harmonic_bond': ['length', 'k'], 'trig_dihedral': ['phi', 'fc0', 'fc1', 'fc2', 'fc3', 'fc4', 'fc5', 'fc6'], 'LjqCPair': ['qi', 'qj', 'C6', 'C12'], 'LjSigepsNonbondedType': ['sigma', 'epsilon'], 'CubicBondType': ['length', 'C2', 'C3'], 'QuarticBondType': ['length', 'C2', 'C3', 'C4'], 'urey_bradley_angle': ['theta', 'k', 'r', 'kUB'], 'LjSigepsPairType': ['sigma', 'epsilon'], 'harmonic_angle': ['theta', 'k'], 'two_virtual': ['a'], 'NCogVirtualType': [], 'TwoVirtualType': ['a'], 'lj_c_nonbonded': ['C6', 'C12'], 'FeneBondType': ['length', 'kb'], 'NonlinearBond': ['epsilon', 'r0', 'lamda'], 'TrigDihedralType': ['phi', 'fc0', 'fc1', 'fc2', 'fc3', 'fc4', 'fc5', 'fc6'], 'LjCNonbondedType': ['C6', 'C12'], 'UreyBradleyAngleType': ['theta', 'k', 'r', 'kUB'], 'HarmonicPotentialBond': ['length', 'k'], 'three_fad_virtual': ['theta', 'd'], 'LjCNonbonded': ['C6', 'C12'], 'three_out_virtual': ['a', 'b', 'c'], 'CrossBondBondAngle': ['r1', 'r2', 'k'], 'HarmonicAngle': ['theta', 'k'], 'HarmonicPotentialBondType': ['length', 'k'], 'CubicBond': ['length', 'C2', 'C3'], 'cross_bond_angle_angle': ['r1', 'r2', 'r3', 'k'], 'lj_c_pair': ['C6', 'C12'], 'harmonic_potential_bond': ['length', 'k'], 'three_fd_virtual': ['a', 'd'], 'QuarticBreakableBondType': ['k', 'B1', 'B2', 'Rc', 'U0'], 'QuarticAngle': ['theta', 'C0', 'C1', 'C2', 'C3', 'C4'], 'ThreeLinearVirtualType': ['a', 'b'], 'NonlinearBondType': ['epsilon', 'r0', 'lamda'], 'CosineSquaredAngle': ['theta', 'k'], 'LjDefaultPairType': [], 'ThreeFdVirtual': ['a', 'd'], 'buckingham_nonbonded': ['a', 'b', 'C6'], 'FourierDihedral': ['c1', 'c2', 'c3', 'c4', 'c5'], 'HarmonicBondType': ['length', 'k'], 'HarmonicBond': ['length', 'k'], 'proper_periodic_dihedral': ['phi', 'k', 'multiplicity'], 'FourFdnVirtual': ['a', 'b', 'c'], 'NCogVirtual': [], 'TwoVirtual': ['a'], 'BuckinghamNonbonded': ['a', 'b', 'C6'], 'UreyBradleyAngle': ['theta', 'k', 'r', 'kUB'], 'n_cog_virtual': [], 'QuarticAngleType': ['theta', 'C0', 'C1', 'C2', 'C3', 'C4'], 'NCowVirtualType': [], 'quartic_angle': ['theta', 'C0', 'C1', 'C2', 'C3', 'C4'], 'RbDihedral': ['C0', 'C1', 'C2', 'C3', 'C4', 'C5'], 'fene_bond': ['length', 'kb'], 'ImproperHarmonicDihedral': ['xi', 'k'], 'MorseBond': ['length', 'D', 'beta'], 'LjqCPairType': ['qi', 'qj', 'C6', 'C12'], 'FourFdnVirtualType': ['a', 'b', 'c'], 'lj_default_pair': [], 'ThreeFdVirtualType': ['a', 'd'], 'CrossBondAngleAngleType': ['r1', 'r2', 'r3', 'k'], 'quartic_breakable_bond': ['k', 'B1', 'B2', 'Rc', 'U0'], 'QuarticBond': ['length', 'C2', 'C3', 'C4'], 'ProperPeriodicDihedral': ['phi', 'k', 'multiplicity'], 'quartic_bond': ['length', 'C2', 'C3', 'C4'], 'ljq_default_pair': [], 'ProperPeriodicDihedralType': ['phi', 'k', 'multiplicity'], 'n_cow_virtual': [], 'connection_bond': [], 'cosine_angle': ['k'], 'ljq_sigeps_pair': ['qi', 'qj', 'sigma', 'epsilon'], 'CrossBondAngleAngle': ['r1', 'r2', 'r3', 'k'], 'morse_bond': ['length', 'D', 'beta'], 'NCowVirtual': [], 'lj_sigeps_nonbonded': ['sigma', 'epsilon'], 'FeneExpandableBondType': ['k', 'length', 'epsilon', 'sigma', 'delta'], 'FourierDihedralType': ['c1', 'c2', 'c3', 'c4', 'c5'], 'HarmonicAngleType': ['theta', 'k'], 'LjqSigepsPairType': ['qi', 'qj', 'sigma', 'epsilon'], 'CosineAngle': ['k'], 'lj_sigeps_pair': ['sigma', 'epsilon'], 'rb_dihedral': ['C0', 'C1', 'C2', 'C3', 'C4', 'C5'], 'G96Bond': ['length', 'k'], 'CrossBondBondAngleType': ['r1', 'r2', 'k'], 'three_linear_virtual': ['a', 'b'], 'g96_bond': ['length', 'k'], 'CosineAngleType': ['k'], 'MorseBondType': ['length', 'D', 'beta'], 'LjSigepsPair': ['sigma', 'epsilon'], 'CosineSquaredAngleType': ['theta', 'k'], 'fourier_dihedral': ['c1', 'c2', 'c3', 'c4', 'c5']}
GromacsParser.process_angle(line)[source]

Process a line in the [ angles ] category.

GromacsParser.process_angletype(line)[source]

Process a line in the [ angletypes ] category.

GromacsParser.process_atom(line)[source]

Process a line in the [ atoms ] category.

GromacsParser.process_atomtype(line)[source]

Process a line in the [ atomtypes ] category.

GromacsParser.process_bond(line)[source]

Process a line in the [ bonds ] category.

GromacsParser.process_bondtype(line)[source]

Process a line in the [ bondtypes ] category.

GromacsParser.process_cmap(line)[source]

Process a line in the [ cmaps ] category.

GromacsParser.process_cmaptype(line)[source]

Process a line in the [ cmaptypes ] category.

GromacsParser.process_defaults(line)[source]

Process the [ defaults ] line.

GromacsParser.process_dihedral(line)[source]

Process a line in the [ dihedrals ] category.

GromacsParser.process_dihedraltype(line)[source]

Process a line in the [ dihedraltypes ] category.

GromacsParser.process_exclusion(line)[source]

Process a line in the [ exclusions ] category.

GromacsParser.process_file(top_file)[source]
GromacsParser.process_forcetype(bondingtypes, forcename, line, n_atoms, gromacs_force_types, canonical_force)[source]
GromacsParser.process_implicittype(line)[source]

Process a line in the [ implicit_genborn_params ] category.

GromacsParser.process_line(top_file, line)[source]

Process one line from a file.

GromacsParser.process_molecule(line)[source]

Process a line in the [ molecules ] category.

GromacsParser.process_moleculetype(line)[source]

Process a line in the [ moleculetypes ] category.

GromacsParser.process_nonbond_params(line)[source]

Process a line in the [ nonbond_param ] category.

GromacsParser.process_pair(line)[source]

Process a line in the [ pairs ] category.

GromacsParser.process_pairtype(line)[source]

Process a line in the [ pairtypes ] category.

GromacsParser.process_settle(line)[source]

Process a line in the [ settles ] category.

GromacsParser.read()[source]
Returns:system
GromacsParser.too_few_fields(line)[source]
static GromacsParser.type_parameters_are_unique(a, b)[source]

Check if two force types are unique.

Currently only tests TrigDihedralType and ImproperHarmonicDihedralType because these are the only two forcetypes that we currently allow to to have multiple values for the same set of 4 atom bondingtypes.

GromacsParser.unitvars = {'QuarticBreakableBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'lj_sigeps_pair_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'ThreeOutVirtualType': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'LjDefaultPair': [], 'fourier_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'ConnectionBond': [], 'BuckinghamNonbondedType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'three_fad_virtual_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'ConnectionBondType': [], 'ThreeOutVirtual': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'FeneExpandableBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'LjCPair': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'NonlinearBond': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'urey_bradley_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'improper_harmonic_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'ThreeFadVirtual': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'quartic_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'harmonic_potential_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'trig_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'RbDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'FeneBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'TrigDihedral': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'harmonic_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'ThreeFadVirtualType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'three_fd_virtual_type': [Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'ThreeLinearVirtual': [Unit({}), Unit({})], 'LjCPairType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjSigepsNonbonded': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjqDefaultPairType': [], 'ImproperHarmonicDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'three_linear_virtual_type': [Unit({}), Unit({})], 'LjqSigepsPair': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'G96BondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'lj_sigeps_nonbonded_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'HarmonicBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjqCPair': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjSigepsNonbondedType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'CubicBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'QuarticBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjSigepsPairType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'FourierDihedral': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'NCogVirtualType': [], 'lj_default_pair_type': [], 'TwoVirtualType': [Unit({})], 'FeneBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'lj_c_nonbonded_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'TrigDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjCNonbondedType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'UreyBradleyAngleType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'HarmonicPotentialBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjCNonbonded': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'fene_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'CrossBondBondAngle': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'HarmonicAngle': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'ljq_c_pair_type': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'HarmonicPotentialBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'CubicBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'fene_expandable_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'cross_bond_angle_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'QuarticBreakableBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'QuarticAngle': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -3.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -4.0})], 'ThreeLinearVirtualType': [Unit({}), Unit({})], 'NonlinearBondType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'CosineSquaredAngle': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjDefaultPairType': [], 'ThreeFdVirtual': [Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'two_virtual_type': [Unit({})], 'cosine_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'HarmonicBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'connection_bond_type': [], 'cross_bond_bond_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'FourFdnVirtual': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'NCogVirtual': [], 'g96_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'quartic_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -3.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -4.0})], 'quartic_breakable_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'TwoVirtual': [Unit({})], 'BuckinghamNonbonded': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'UreyBradleyAngle': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'three_out_virtual_type': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'ljq_sigeps_pair_type': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'lj_c_pair_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'ljq_default_pair_type': [], 'QuarticAngleType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -3.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -4.0})], 'NCowVirtualType': [], 'LjqDefaultPair': [], 'buckingham_nonbonded_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'morse_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'ImproperHarmonicDihedral': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'MorseBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'LjqCPairType': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'cosine_squared_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'FourFdnVirtualType': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'ThreeFdVirtualType': [Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'CrossBondAngleAngleType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'cubic_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'QuarticBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'ProperPeriodicDihedral': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({})], 'ProperPeriodicDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({})], 'four_fdn_virtual_type': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'HarmonicAngleType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'n_cog_virtual_type': [], 'nonlinear_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'harmonic_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'proper_periodic_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({})], 'CrossBondAngleAngle': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'n_cow_virtual_type': [], 'RbDihedral': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'NCowVirtual': [], 'FeneExpandableBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'FourierDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjqSigepsPairType': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'CosineAngle': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'G96Bond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'CrossBondBondAngleType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'CosineAngleType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'MorseBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'rb_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjSigepsPair': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'CosineSquaredAngleType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})]}
GromacsParser.write()[source]

Write this topology in GROMACS file format.

Parameters:filename – the name of the file to write out to
GromacsParser.write_angles(top)[source]
GromacsParser.write_atoms(top)[source]
GromacsParser.write_atomtypes(top)[source]
GromacsParser.write_bonds(top)[source]
GromacsParser.write_defaults(top)[source]
GromacsParser.write_dihedrals(top)[source]
GromacsParser.write_exclusions(top)[source]
GromacsParser.write_molecules(top)[source]
GromacsParser.write_moleculetypes(top)[source]
GromacsParser.write_nonbonded_types(top)[source]
GromacsParser.write_pairs(top)[source]
GromacsParser.write_settles(top)[source]
GromacsParser.write_system(top)[source]
intermol.gromacs.gromacs_parser.default_gromacs_include_dir()[source]

Find the location where gromacs #include files are referenced from, by searching for (1) gromacs environment variables, (2) just using the default gromacs install location, /usr/local/gromacs/share/gromacs/top.

intermol.gromacs.gromacs_parser.load_gromacs(top_file, gro_file, include_dir=None, defines=None)[source]

Load a set of GROMACS input files into a System.

Parameters:
  • top_file
  • gro_file
  • include_dir
  • defines
Returns:

Return type:

system

intermol.gromacs.gromacs_parser.write_gromacs(top_file, gro_file, system)[source]

Load a set of GROMACS input files into a System.

Parameters:
  • top_file
  • gro_file
  • include_dir
  • defines
Returns:

Return type:

system

Module contents
intermol.lammps package
Submodules
intermol.lammps.lammps_driver module
intermol.lammps.lammps_driver.lammps_energies(input_file, lmppath='lmp_openmpi')[source]

Evaluate energies of LAMMPS files

Parameters:
  • = path to input file (expects data file in same folder) (input_file) –
  • = path to LAMMPS binaries (lmppath) –
intermol.lammps.lammps_driver.read_file(in_file)[source]
intermol.lammps.lammps_driver.write_file(in_file, system, unit_set='real')[source]
intermol.lammps.lammps_parser module
class intermol.lammps.lammps_parser.LammpsParser(in_file, system=None, unit_set='real')[source]

Bases: object

A class containing methods to read and write LAMMPS files.

SCALE_FROM = 0.5
SCALE_INTO = 2.0
canonical_angle(kwds, angle, direction)[source]

Convert from the canonical form of this interaction.

canonical_bond(kwds, bond, direction='into')[source]

Convert to/from the canonical form of this interaction.

canonical_dihedral(params, dihedral, direction='into')[source]

Convert from the canonical form of this interaction.

create_kwds_from_entries(entries, force_class, offset=0)[source]
get_force_atoms(force, forceclass)[source]

Return the atoms involved in a force.

get_force_bondingtypes(force, forceclass)[source]

Return the atoms involved in a force.

get_parameter_kwds_from_force(force)[source]
get_parameter_list_from_force(force)[source]
lammps_angle_types = {'charmm': <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngleType'>, 'cosine': <class 'intermol.forces.cosine_angle_type.CosineAngleType'>, 'harmonic': <class 'intermol.forces.harmonic_angle_type.HarmonicAngleType'>}
lammps_angles = {'charmm': <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>, 'cosine': <class 'intermol.forces.cosine_angle_type.CosineAngle'>, 'harmonic': <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>}
lammps_bond_types = {'nonlinear': <class 'intermol.forces.nonlinear_bond_type.NonlinearBondType'>, 'quartic': <class 'intermol.forces.quartic_breakable_bond_type.QuarticBreakableBondType'>, 'morse': <class 'intermol.forces.morse_bond_type.MorseBondType'>, 'harmonic': <class 'intermol.forces.harmonic_bond_type.HarmonicBondType'>, 'fene/expand': <class 'intermol.forces.fene_expandable_bond_type.FeneExpandableBondType'>, 'class2': <class 'intermol.forces.quartic_bond_type.QuarticBondType'>}
lammps_bonds = {'nonlinear': <class 'intermol.forces.nonlinear_bond_type.NonlinearBond'>, 'quartic': <class 'intermol.forces.quartic_breakable_bond_type.QuarticBreakableBond'>, 'morse': <class 'intermol.forces.morse_bond_type.MorseBond'>, 'harmonic': <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>, 'fene/expand': <class 'intermol.forces.fene_expandable_bond_type.FeneExpandableBond'>, 'class2': <class 'intermol.forces.quartic_bond_type.QuarticBond'>}
lammps_dihedral_types = {'charmm': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType'>, 'multi/harmonic': <class 'intermol.forces.rb_dihedral_type.RbDihedralType'>, 'opls': <class 'intermol.forces.fourier_dihedral_type.FourierDihedralType'>}
lammps_dihedrals = {'charmm': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>, 'multi/harmonic': <class 'intermol.forces.rb_dihedral_type.RbDihedral'>, 'opls': <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>}
lammps_improper_types = {'cvff': <class 'intermol.forces.trig_dihedral_type.TrigDihedralType'>, 'harmonic': <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedralType'>}
lammps_impropers = {'cvff': <class 'intermol.forces.trig_dihedral_type.TrigDihedral'>, 'harmonic': <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>}
lookup_lammps_angles = {<class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>: 'charmm', <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>: 'harmonic', <class 'intermol.forces.cosine_angle_type.CosineAngle'>: 'cosine'}
lookup_lammps_bonds = {<class 'intermol.forces.quartic_bond_type.QuarticBond'>: 'class2', <class 'intermol.forces.fene_expandable_bond_type.FeneExpandableBond'>: 'fene/expand', <class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>: 'harmonic', <class 'intermol.forces.morse_bond_type.MorseBond'>: 'morse', <class 'intermol.forces.nonlinear_bond_type.NonlinearBond'>: 'nonlinear', <class 'intermol.forces.quartic_breakable_bond_type.QuarticBreakableBond'>: 'quartic', <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>: 'harmonic'}
lookup_lammps_dihedrals = {<class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>: 'charmm', <class 'intermol.forces.rb_dihedral_type.RbDihedral'>: 'multi/harmonic', <class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'Trig', <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>: 'opls'}
lookup_lammps_impropers = {<class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'cvff', <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>: 'harmonic'}
parse_angle_coeffs(data_lines)[source]
parse_angle_style(line)[source]
parse_angles(data_lines)[source]
parse_atom_style(line)[source]

Note

Assuming ‘full’ as default for everything else.

parse_atoms(data_lines)[source]

Read atoms from data file.

parse_bond_coeffs(data_lines)[source]
parse_bond_style(line)[source]
parse_bonded_style(line)[source]
parse_bonds(data_lines)[source]
parse_boundary(line)[source]
parse_box(line, dim)[source]

Read box information from data file.

Parameters:
  • line (str) – Current line in input file.
  • dim (int) – Dimension specified in line.
parse_dihedral_coeffs(data_lines)[source]
parse_dihedral_style(line)[source]
parse_dihedrals(data_lines)[source]
parse_dimension(line)[source]
parse_force(data_lines, force_classes, forceSet, n=0)[source]

Read bonds, angles, dihedrals, impropers from data file.

parse_force_coeffs(data_lines, force_name, force_classes, force_style, lammps_forces, canonical_force)[source]

Read force coefficients from data file.

parse_improper_coeffs(data_lines)[source]
parse_improper_style(line)[source]
parse_impropers(data_lines)[source]
parse_kspace_style(line)[source]

Note

Currently ignored.

parse_masses(data_lines)[source]

Read masses from data file.

parse_pair_coeffs(data_lines)[source]

Read pair coefficients from data file.

parse_pair_modify(line)[source]
parse_pair_style(line)[source]
parse_read_data(line)[source]
parse_special_bonds(line)[source]
parse_units(line)[source]
parse_velocities(data_lines)[source]
read()[source]

Reads a LAMMPS input file and a data file specified within.

Parameters:input_file (str) – Name of LAMMPS input file to read in.
read_data(data_file)[source]

Reads a LAMMPS data file.

Parameters:data_file (str) – name of LAMMPS data file to read in.
read_input()[source]

Reads a LAMMPS input file.

Parameters:input_file (str) – Name of LAMMPS input file to read in.
set_units(unit_set)[source]

Set what unit set to use.

write(unit_set='real')[source]

Writes a LAMMPS data and corresponding input file.

Parameters:
  • data_file (str) – Name of LAMMPS data file to write to.
  • unit_set (str) – LAMMPS unit set for output file.
write_angles(mol_type, offset)[source]
write_bonds(mol_type, offset)[source]
write_dihedrals(mol_type, offset)[source]

Separate dihedrals from impropers.

write_forces(forces, offset, force_name, lookup_lammps_force, lammps_force_types, canonical_force)[source]

The general force writing function.

Currently supports bonds, angles, dihedrals, impropers.

write_impropers(mol_type, offset)[source]

Separate dihedrals from impropers.

write_virtuals(mol_type, offset)[source]
intermol.lammps.lammps_parser.load_lammps(in_file)[source]

Load a LAMMPS input file into a System.

Parameters:
  • in_file
  • include_dir
  • defines
Returns:

Return type:

system

intermol.lammps.lammps_parser.write_lammps(in_file, system, unit_set='real')[source]

Load a LAMMPS input file into a System.

Parameters:
  • in_file
  • include_dir
  • defines
Returns:

Return type:

system

Module contents

Submodules

intermol.atom module
class intermol.atom.Atom(index, name=None, residue_index=-1, residue_name=None)[source]

Bases: object

atomic_number
atomtype[source]
bondingtype
cgnr
charge[source]
epsilon[source]
force[source]

Return the force on the atom

index
mass[source]
name
position[source]

Return the cartesian coordinates of the atom

ptype
residue_index
residue_name
sigma[source]
velocity[source]

Return the velocity of the atom

intermol.convert module
intermol.convert.find_match(key, dictionary, unit)[source]

Helper function for summarize_energy_results.

intermol.convert.get_diff(e_in, e_out)[source]

Returns difference in potential energy.

Parameters:
  • - dictionary of energy groups from input file (e_in) –
  • - dictionary of energy groups from output file (e_out) –
Returns:

potential energy difference in units of the input

intermol.convert.main(args=None)[source]
intermol.convert.parse_args(args)[source]
intermol.convert.summarize_energy_results(energy_input, energy_outputs, input_type, output_types)[source]

Creates a table comparing input and output energy groups.

Args:

energy_input (dict): energy groups from input file energy_output(list): containing dictionary of energy groups or -1 for

each output file

input_type (str): input engine output_types (list): containing output formats

Returns:
out (list of strings): which forms a summary table using “

”.join(out)

intermol.decorators module
exception intermol.decorators.UnitsException(value)[source]

Bases: exceptions.Exception

Exception denoting that an argument has the incorrect units.

exception intermol.decorators.ValueException(value)[source]

Bases: exceptions.Exception

Exception denoting that an argument has the incorrect value.

intermol.decorators.accepts(*types)[source]

Decorator for class methods that should accept only specified types.

EXAMPLE

@accepts(float, int) def function(a, b):

return b*a
intermol.decorators.accepts_compatible_units(*units, **unitdict)[source]

Decorator for class methods that should accept only arguments compatible with specified units.

Each argument of the function will be matched with an argument of @acceptunits. Those arguments of the function that correspond @acceptunits which are not None will be checked to ensure they are compatible with the specified units.

EXAMPLE

@acceptsunits(units.meter, None, units.kilocalories_per_mole) def function(a, b, c): pass function(1.0 * units.angstrom, 3, 1.0 * units.kilojoules_per_mole)

intermol.decorators.returns(rtype)[source]

Decorator for functions that should only return specific types. EXAMPLE

@returns(int) def function(): return 7

intermol.molecule module
class intermol.molecule.Molecule(name=None)[source]

Bases: object

An abstract molecule object.

add_atom(atom)[source]

Add an atom

Parameters:atom (Atom) – the atom to add into the molecule
atoms[source]

Return an orderedset of atoms.

intermol.moleculetype module
class intermol.moleculetype.MoleculeType(name=None)[source]

Bases: object

An abstract container for molecules of one type.

add_molecule(molecule)[source]

Add a molecule into the moleculetype container

Parameters:molecule (Molecule) – the molecule to append
intermol.orderedset module
class intermol.orderedset.OrderedSet(iterable=())[source]

Bases: _abcoll.Set

add(key)[source]
difference_update(*args, **kwargs)[source]
discard(key)[source]
intersection_update(*args, **kwargs)[source]
intermol.system module
class intermol.system.System(name=None)[source]

Bases: object

add_atomtype(atomtype)[source]
add_molecule(molecule)[source]

Append a molecule into the System. :param molecule: The molecule object to be appended

add_molecule_type(molecule_type)[source]

Append a molecule_type into the System. :param molecule_type: The MoleculeType object to be appended

atoms[source]
atomtypes[source]
box_vector[source]

Return the box vector.

molecule_types[source]
n_atoms[source]
nonbonded_types[source]

Module contents

intermol.gromacs package

Submodules

intermol.gromacs.grofile_parser module
class intermol.gromacs.grofile_parser.GromacsGroParser(gro_file)[source]

Bases: object

GromacsGroParser reads and writes Gromacs .gro files

A .gro file also contains some topological information, such as elements and residue names, but not enough to construct a full Topology object. This information is recorded and stored in the object’s public fields.

read()[source]
write(system)[source]

Write the system out in a Gromacs 4.6 format

Parameters:filename (str) – the file to write out to
intermol.gromacs.gromacs_driver module
intermol.gromacs.gromacs_driver.gromacs_energies(top=None, gro=None, mdp=None, gropath=None, grosuff=None, grompp_check=False)[source]

gropath = path to gromacs binaries grosuff = suffix of gromacs binaries, usually ‘’ or ‘_d’

intermol.gromacs.gromacs_driver.read_file(top_in, gro_in, gropath)[source]
intermol.gromacs.gromacs_driver.write_file(system, top_out, gro_out)[source]
intermol.gromacs.gromacs_parser module
class intermol.gromacs.gromacs_parser.GromacsParser(top_file, gro_file, system=None, include_dir=None, defines=None)[source]

Bases: object

A class containing methods required to read in a Gromacs(4.5.4) Topology File

class TopMoleculeType[source]

Bases: object

Inner class to store information about a molecule type.

GromacsParser.canonical_angle(params, angle, direction='into')[source]
Parameters:
  • params
  • angle
  • direction

Returns:

GromacsParser.canonical_bond(params, bond, direction='into')[source]
Parameters:
  • params
  • bond
  • direction

Returns:

GromacsParser.canonical_dihedral(params, dihedral, direction='into')[source]

We can fit everything into two types of dihedrals - dihedral_trig, and improper harmonic. Dihedral trig is of the form

fc0 + sum_i=1^6 fci (cos(nx-phi)

Proper dihedrals can be stored easily in this form, since they have only 1 n. Improper dihedrals can as well (flag as improper). RB can be stored as well, assuming phi = 0 or 180. Fourier can also be stored. A full dihedral trig can be decomposed into multiple proper dihedrals.

Will need to handle multiple dihedrals little differently in that we will need to add multiple 9 dihedrals together into a single dihedral_trig, as long as they have the same phi angle (seems to be always the case).

Parameters:
  • params
  • dihedral
  • direction

Returns:

GromacsParser.choose_parameter_kwds_from_forces(entries, n_atoms, force_type, gromacs_force)[source]

Extract a force’s parameters into a keyword dictionary.

Parameters:
  • entries (str) – The split() line being parsed.
  • n_atoms (int) – The number of atoms in the force.
  • force_type – The type of the force.
  • gromacs_force – The
Returns:

kwds – The force’s parameters, e.g.

{‘length’: Quantity(value=0.13, unit=nanometers),

‘k’: ...

}

Return type:

dict

GromacsParser.create_angle(angle)[source]
GromacsParser.create_atom(temp_atom)[source]
GromacsParser.create_bond(bond)[source]
GromacsParser.create_dihedral(dihedral)[source]

Create a dihedral object based on a [ dihedrals ] entry.

GromacsParser.create_exclusion(exclusion)[source]
GromacsParser.create_kwds_from_entries(entries, force_class, offset=0)[source]
GromacsParser.create_molecule(top_moltype, mol_name)[source]
GromacsParser.create_moleculetype(top_moltype, mol_name, mol_count)[source]
GromacsParser.create_pair(pair)[source]

Create a pair force object based on a [ pairs ] entry

GromacsParser.create_settle(settle)[source]
GromacsParser.directive_before_moleculetype()[source]
GromacsParser.find_dihedraltype(bondingtypes, improper)[source]

Determine the type of dihedral interaction between four atoms.

GromacsParser.find_forcetype(bondingtypes, types_of_kind)[source]
GromacsParser.get_parameter_kwds_from_force(force)[source]
GromacsParser.get_parameter_list_from_force(force)[source]
GromacsParser.gromacs_angle_types = {'1': <class 'intermol.forces.harmonic_angle_type.HarmonicAngleType'>, '3': <class 'intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngleType'>, '2': <class 'intermol.forces.cosine_squared_angle_type.CosineSquaredAngleType'>, '5': <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngleType'>, '4': <class 'intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngleType'>, '6': <class 'intermol.forces.quartic_angle_type.QuarticAngleType'>}
GromacsParser.gromacs_angles = {'1': <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>, '3': <class 'intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngle'>, '2': <class 'intermol.forces.cosine_squared_angle_type.CosineSquaredAngle'>, '5': <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>, '4': <class 'intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngle'>, '6': <class 'intermol.forces.quartic_angle_type.QuarticAngle'>}
GromacsParser.gromacs_bond_types = {'1': <class 'intermol.forces.harmonic_bond_type.HarmonicBondType'>, '3': <class 'intermol.forces.morse_bond_type.MorseBondType'>, '2': <class 'intermol.forces.g96_bond_type.G96BondType'>, '5': <class 'intermol.forces.connection_bond_type.ConnectionBondType'>, '4': <class 'intermol.forces.cubic_bond_type.CubicBondType'>, '7': <class 'intermol.forces.fene_bond_type.FeneBondType'>, '6': <class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBondType'>}
GromacsParser.gromacs_bonds = {'1': <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>, '3': <class 'intermol.forces.morse_bond_type.MorseBond'>, '2': <class 'intermol.forces.g96_bond_type.G96Bond'>, '5': <class 'intermol.forces.connection_bond_type.ConnectionBond'>, '4': <class 'intermol.forces.cubic_bond_type.CubicBond'>, '7': <class 'intermol.forces.fene_bond_type.FeneBond'>, '6': <class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>}
GromacsParser.gromacs_combination_rules = {'1': 'Multiply-C6C12', '3': 'Multiply-Sigeps', '2': 'Lorentz-Berthelot'}
GromacsParser.gromacs_dihedral_types = {'Trig': <class 'intermol.forces.trig_dihedral_type.TrigDihedralType'>, '1': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType'>, '3': <class 'intermol.forces.rb_dihedral_type.RbDihedralType'>, '2': <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedralType'>, '5': <class 'intermol.forces.fourier_dihedral_type.FourierDihedralType'>, '4': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType'>, '9': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType'>}
GromacsParser.gromacs_dihedrals = {'Trig': <class 'intermol.forces.trig_dihedral_type.TrigDihedral'>, '1': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>, '3': <class 'intermol.forces.rb_dihedral_type.RbDihedral'>, '2': <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>, '5': <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>, '4': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>, '9': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>}
GromacsParser.gromacs_pair_types = {'1A': <class 'intermol.forces.lj_c_pair_type.LjCPairType'>, '1C': <class 'intermol.forces.lj_default_pair_type.LjDefaultPairType'>, '1B': <class 'intermol.forces.lj_sigeps_pair_type.LjSigepsPairType'>, '2A': <class 'intermol.forces.ljq_c_pair_type.LjqCPairType'>, '2B': <class 'intermol.forces.ljq_sigeps_pair_type.LjqSigepsPairType'>, '2C': <class 'intermol.forces.ljq_default_pair_type.LjqDefaultPairType'>}
GromacsParser.gromacs_pairs = {'1A': <class 'intermol.forces.lj_c_pair_type.LjCPair'>, '1C': <class 'intermol.forces.lj_default_pair_type.LjDefaultPair'>, '1B': <class 'intermol.forces.lj_sigeps_pair_type.LjSigepsPair'>, '2A': <class 'intermol.forces.ljq_c_pair_type.LjqCPair'>, '2B': <class 'intermol.forces.ljq_sigeps_pair_type.LjqSigepsPair'>, '2C': <class 'intermol.forces.ljq_default_pair_type.LjqDefaultPair'>}
GromacsParser.invalid_line(line)[source]
GromacsParser.lookup_atom_atomtype(index, state=0)[source]
GromacsParser.lookup_atom_bondingtype(index)[source]
GromacsParser.lookup_gromacs_angles = {<class 'intermol.forces.quartic_angle_type.QuarticAngle'>: '6', <class 'intermol.forces.cosine_squared_angle_type.CosineSquaredAngle'>: '2', <class 'intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngle'>: '3', <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>: '1', <class 'intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngle'>: '4', <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>: '5'}
GromacsParser.lookup_gromacs_bonds = {<class 'intermol.forces.cubic_bond_type.CubicBond'>: '4', <class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>: '6', <class 'intermol.forces.connection_bond_type.ConnectionBond'>: '5', <class 'intermol.forces.g96_bond_type.G96Bond'>: '2', <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>: '1', <class 'intermol.forces.fene_bond_type.FeneBond'>: '7', <class 'intermol.forces.morse_bond_type.MorseBond'>: '3'}
GromacsParser.lookup_gromacs_combination_rules = {'Multiply-Sigeps': '3', 'Lorentz-Berthelot': '2', 'Multiply-C6C12': '1'}
GromacsParser.lookup_gromacs_dihedrals = {<class 'intermol.forces.rb_dihedral_type.RbDihedral'>: '3', <class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'Trig', <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>: '5', <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>: '2'}
GromacsParser.lookup_gromacs_pairs = {<class 'intermol.forces.lj_default_pair_type.LjDefaultPair'>: '1C', <class 'intermol.forces.ljq_default_pair_type.LjqDefaultPair'>: '2C', <class 'intermol.forces.ljq_c_pair_type.LjqCPair'>: '2A', <class 'intermol.forces.lj_sigeps_pair_type.LjSigepsPair'>: '1B', <class 'intermol.forces.ljq_sigeps_pair_type.LjqSigepsPair'>: '2B', <class 'intermol.forces.lj_c_pair_type.LjCPair'>: '1A'}
GromacsParser.paramlist = {'QuarticBreakableBond': ['k', 'B1', 'B2', 'Rc', 'U0'], 'fene_expandable_bond': ['k', 'length', 'epsilon', 'sigma', 'delta'], 'ThreeOutVirtualType': ['a', 'b', 'c'], 'LjDefaultPair': [], 'LjqDefaultPair': [], 'improper_harmonic_dihedral': ['xi', 'k'], 'cubic_bond': ['length', 'C2', 'C3'], 'ljq_c_pair': ['qi', 'qj', 'C6', 'C12'], 'ConnectionBond': [], 'BuckinghamNonbondedType': ['a', 'b', 'C6'], 'ConnectionBondType': [], 'ThreeOutVirtual': ['a', 'b', 'c'], 'FeneExpandableBond': ['k', 'length', 'epsilon', 'sigma', 'delta'], 'LjCPair': ['C6', 'C12'], 'four_fdn_virtual': ['a', 'b', 'c'], 'ThreeFadVirtual': ['theta', 'd'], 'RbDihedralType': ['C0', 'C1', 'C2', 'C3', 'C4', 'C5'], 'FeneBond': ['length', 'kb'], 'TrigDihedral': ['phi', 'fc0', 'fc1', 'fc2', 'fc3', 'fc4', 'fc5', 'fc6'], 'ThreeFadVirtualType': ['theta', 'd'], 'ThreeLinearVirtual': ['a', 'b'], 'LjCPairType': ['C6', 'C12'], 'cross_bond_bond_angle': ['r1', 'r2', 'k'], 'LjSigepsNonbonded': ['sigma', 'epsilon'], 'LjqDefaultPairType': [], 'cosine_squared_angle': ['theta', 'k'], 'ImproperHarmonicDihedralType': ['xi', 'k'], 'nonlinear_bond': ['epsilon', 'r0', 'lamda'], 'LjqSigepsPair': ['qi', 'qj', 'sigma', 'epsilon'], 'G96BondType': ['length', 'k'], 'harmonic_bond': ['length', 'k'], 'trig_dihedral': ['phi', 'fc0', 'fc1', 'fc2', 'fc3', 'fc4', 'fc5', 'fc6'], 'LjqCPair': ['qi', 'qj', 'C6', 'C12'], 'LjSigepsNonbondedType': ['sigma', 'epsilon'], 'CubicBondType': ['length', 'C2', 'C3'], 'QuarticBondType': ['length', 'C2', 'C3', 'C4'], 'urey_bradley_angle': ['theta', 'k', 'r', 'kUB'], 'LjSigepsPairType': ['sigma', 'epsilon'], 'harmonic_angle': ['theta', 'k'], 'two_virtual': ['a'], 'NCogVirtualType': [], 'TwoVirtualType': ['a'], 'lj_c_nonbonded': ['C6', 'C12'], 'FeneBondType': ['length', 'kb'], 'NonlinearBond': ['epsilon', 'r0', 'lamda'], 'TrigDihedralType': ['phi', 'fc0', 'fc1', 'fc2', 'fc3', 'fc4', 'fc5', 'fc6'], 'LjCNonbondedType': ['C6', 'C12'], 'UreyBradleyAngleType': ['theta', 'k', 'r', 'kUB'], 'HarmonicPotentialBond': ['length', 'k'], 'three_fad_virtual': ['theta', 'd'], 'LjCNonbonded': ['C6', 'C12'], 'three_out_virtual': ['a', 'b', 'c'], 'CrossBondBondAngle': ['r1', 'r2', 'k'], 'HarmonicAngle': ['theta', 'k'], 'HarmonicPotentialBondType': ['length', 'k'], 'CubicBond': ['length', 'C2', 'C3'], 'cross_bond_angle_angle': ['r1', 'r2', 'r3', 'k'], 'lj_c_pair': ['C6', 'C12'], 'harmonic_potential_bond': ['length', 'k'], 'three_fd_virtual': ['a', 'd'], 'QuarticBreakableBondType': ['k', 'B1', 'B2', 'Rc', 'U0'], 'QuarticAngle': ['theta', 'C0', 'C1', 'C2', 'C3', 'C4'], 'ThreeLinearVirtualType': ['a', 'b'], 'NonlinearBondType': ['epsilon', 'r0', 'lamda'], 'CosineSquaredAngle': ['theta', 'k'], 'LjDefaultPairType': [], 'ThreeFdVirtual': ['a', 'd'], 'buckingham_nonbonded': ['a', 'b', 'C6'], 'FourierDihedral': ['c1', 'c2', 'c3', 'c4', 'c5'], 'HarmonicBondType': ['length', 'k'], 'HarmonicBond': ['length', 'k'], 'proper_periodic_dihedral': ['phi', 'k', 'multiplicity'], 'FourFdnVirtual': ['a', 'b', 'c'], 'NCogVirtual': [], 'TwoVirtual': ['a'], 'BuckinghamNonbonded': ['a', 'b', 'C6'], 'UreyBradleyAngle': ['theta', 'k', 'r', 'kUB'], 'n_cog_virtual': [], 'QuarticAngleType': ['theta', 'C0', 'C1', 'C2', 'C3', 'C4'], 'NCowVirtualType': [], 'quartic_angle': ['theta', 'C0', 'C1', 'C2', 'C3', 'C4'], 'RbDihedral': ['C0', 'C1', 'C2', 'C3', 'C4', 'C5'], 'fene_bond': ['length', 'kb'], 'ImproperHarmonicDihedral': ['xi', 'k'], 'MorseBond': ['length', 'D', 'beta'], 'LjqCPairType': ['qi', 'qj', 'C6', 'C12'], 'FourFdnVirtualType': ['a', 'b', 'c'], 'lj_default_pair': [], 'ThreeFdVirtualType': ['a', 'd'], 'CrossBondAngleAngleType': ['r1', 'r2', 'r3', 'k'], 'quartic_breakable_bond': ['k', 'B1', 'B2', 'Rc', 'U0'], 'QuarticBond': ['length', 'C2', 'C3', 'C4'], 'ProperPeriodicDihedral': ['phi', 'k', 'multiplicity'], 'quartic_bond': ['length', 'C2', 'C3', 'C4'], 'ljq_default_pair': [], 'ProperPeriodicDihedralType': ['phi', 'k', 'multiplicity'], 'n_cow_virtual': [], 'connection_bond': [], 'cosine_angle': ['k'], 'ljq_sigeps_pair': ['qi', 'qj', 'sigma', 'epsilon'], 'CrossBondAngleAngle': ['r1', 'r2', 'r3', 'k'], 'morse_bond': ['length', 'D', 'beta'], 'NCowVirtual': [], 'lj_sigeps_nonbonded': ['sigma', 'epsilon'], 'FeneExpandableBondType': ['k', 'length', 'epsilon', 'sigma', 'delta'], 'FourierDihedralType': ['c1', 'c2', 'c3', 'c4', 'c5'], 'HarmonicAngleType': ['theta', 'k'], 'LjqSigepsPairType': ['qi', 'qj', 'sigma', 'epsilon'], 'CosineAngle': ['k'], 'lj_sigeps_pair': ['sigma', 'epsilon'], 'rb_dihedral': ['C0', 'C1', 'C2', 'C3', 'C4', 'C5'], 'G96Bond': ['length', 'k'], 'CrossBondBondAngleType': ['r1', 'r2', 'k'], 'three_linear_virtual': ['a', 'b'], 'g96_bond': ['length', 'k'], 'CosineAngleType': ['k'], 'MorseBondType': ['length', 'D', 'beta'], 'LjSigepsPair': ['sigma', 'epsilon'], 'CosineSquaredAngleType': ['theta', 'k'], 'fourier_dihedral': ['c1', 'c2', 'c3', 'c4', 'c5']}
GromacsParser.process_angle(line)[source]

Process a line in the [ angles ] category.

GromacsParser.process_angletype(line)[source]

Process a line in the [ angletypes ] category.

GromacsParser.process_atom(line)[source]

Process a line in the [ atoms ] category.

GromacsParser.process_atomtype(line)[source]

Process a line in the [ atomtypes ] category.

GromacsParser.process_bond(line)[source]

Process a line in the [ bonds ] category.

GromacsParser.process_bondtype(line)[source]

Process a line in the [ bondtypes ] category.

GromacsParser.process_cmap(line)[source]

Process a line in the [ cmaps ] category.

GromacsParser.process_cmaptype(line)[source]

Process a line in the [ cmaptypes ] category.

GromacsParser.process_defaults(line)[source]

Process the [ defaults ] line.

GromacsParser.process_dihedral(line)[source]

Process a line in the [ dihedrals ] category.

GromacsParser.process_dihedraltype(line)[source]

Process a line in the [ dihedraltypes ] category.

GromacsParser.process_exclusion(line)[source]

Process a line in the [ exclusions ] category.

GromacsParser.process_file(top_file)[source]
GromacsParser.process_forcetype(bondingtypes, forcename, line, n_atoms, gromacs_force_types, canonical_force)[source]
GromacsParser.process_implicittype(line)[source]

Process a line in the [ implicit_genborn_params ] category.

GromacsParser.process_line(top_file, line)[source]

Process one line from a file.

GromacsParser.process_molecule(line)[source]

Process a line in the [ molecules ] category.

GromacsParser.process_moleculetype(line)[source]

Process a line in the [ moleculetypes ] category.

GromacsParser.process_nonbond_params(line)[source]

Process a line in the [ nonbond_param ] category.

GromacsParser.process_pair(line)[source]

Process a line in the [ pairs ] category.

GromacsParser.process_pairtype(line)[source]

Process a line in the [ pairtypes ] category.

GromacsParser.process_settle(line)[source]

Process a line in the [ settles ] category.

GromacsParser.read()[source]
Returns:system
GromacsParser.too_few_fields(line)[source]
static GromacsParser.type_parameters_are_unique(a, b)[source]

Check if two force types are unique.

Currently only tests TrigDihedralType and ImproperHarmonicDihedralType because these are the only two forcetypes that we currently allow to to have multiple values for the same set of 4 atom bondingtypes.

GromacsParser.unitvars = {'QuarticBreakableBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'lj_sigeps_pair_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'ThreeOutVirtualType': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'LjDefaultPair': [], 'fourier_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'ConnectionBond': [], 'BuckinghamNonbondedType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'three_fad_virtual_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'ConnectionBondType': [], 'ThreeOutVirtual': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'FeneExpandableBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'LjCPair': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'NonlinearBond': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'urey_bradley_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'improper_harmonic_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'ThreeFadVirtual': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'quartic_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'harmonic_potential_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'trig_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'RbDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'FeneBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'TrigDihedral': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'harmonic_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'ThreeFadVirtualType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'three_fd_virtual_type': [Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'ThreeLinearVirtual': [Unit({}), Unit({})], 'LjCPairType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjSigepsNonbonded': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjqDefaultPairType': [], 'ImproperHarmonicDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'three_linear_virtual_type': [Unit({}), Unit({})], 'LjqSigepsPair': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'G96BondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'lj_sigeps_nonbonded_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'HarmonicBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjqCPair': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjSigepsNonbondedType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'CubicBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'QuarticBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjSigepsPairType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'FourierDihedral': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'NCogVirtualType': [], 'lj_default_pair_type': [], 'TwoVirtualType': [Unit({})], 'FeneBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'lj_c_nonbonded_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'TrigDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjCNonbondedType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'UreyBradleyAngleType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'HarmonicPotentialBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'LjCNonbonded': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'fene_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'CrossBondBondAngle': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'HarmonicAngle': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'ljq_c_pair_type': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'HarmonicPotentialBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'CubicBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'fene_expandable_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'cross_bond_angle_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'QuarticBreakableBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'QuarticAngle': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -3.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -4.0})], 'ThreeLinearVirtualType': [Unit({}), Unit({})], 'NonlinearBondType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'CosineSquaredAngle': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjDefaultPairType': [], 'ThreeFdVirtual': [Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'two_virtual_type': [Unit({})], 'cosine_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'HarmonicBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'connection_bond_type': [], 'cross_bond_bond_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'FourFdnVirtual': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'NCogVirtual': [], 'g96_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'quartic_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -3.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -4.0})], 'quartic_breakable_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'TwoVirtual': [Unit({})], 'BuckinghamNonbonded': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'UreyBradleyAngle': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'three_out_virtual_type': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'ljq_sigeps_pair_type': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'lj_c_pair_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'ljq_default_pair_type': [], 'QuarticAngleType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -3.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -4.0})], 'NCowVirtualType': [], 'LjqDefaultPair': [], 'buckingham_nonbonded_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'morse_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'ImproperHarmonicDihedral': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'MorseBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'LjqCPairType': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 6.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 12.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'cosine_squared_angle_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'FourFdnVirtualType': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'ThreeFdVirtualType': [Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'CrossBondAngleAngleType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'cubic_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'QuarticBond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -3.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'ProperPeriodicDihedral': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({})], 'ProperPeriodicDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({})], 'four_fdn_virtual_type': [Unit({}), Unit({}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'HarmonicAngleType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("angle"), name="radian", symbol="rad"): -2.0})], 'n_cog_virtual_type': [], 'nonlinear_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'harmonic_bond_type': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'proper_periodic_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({})], 'CrossBondAngleAngle': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'n_cow_virtual_type': [], 'RbDihedral': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'NCowVirtual': [], 'FeneExpandableBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0})], 'FourierDihedralType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjqSigepsPairType': [Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("charge"), name="elementary charge", symbol="e"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'CosineAngle': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'G96Bond': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -4.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'CrossBondBondAngleType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -2.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0, BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0})], 'CosineAngleType': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'MorseBondType': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): -1.0})], 'rb_dihedral_type': [Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'LjSigepsPair': [Unit({BaseUnit(base_dim=BaseDimension("length"), name="nanometer", symbol="nm"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})], 'CosineSquaredAngleType': [Unit({BaseUnit(base_dim=BaseDimension("angle"), name="degree", symbol="deg"): 1.0}), Unit({BaseUnit(base_dim=BaseDimension("amount"), name="mole", symbol="mol"): -1.0, ScaledUnit(factor=1.0, master=gram*nanometer**2/(picosecond**2), name='kilojoule', symbol='kJ'): 1.0})]}
GromacsParser.write()[source]

Write this topology in GROMACS file format.

Parameters:filename – the name of the file to write out to
GromacsParser.write_angles(top)[source]
GromacsParser.write_atoms(top)[source]
GromacsParser.write_atomtypes(top)[source]
GromacsParser.write_bonds(top)[source]
GromacsParser.write_defaults(top)[source]
GromacsParser.write_dihedrals(top)[source]
GromacsParser.write_exclusions(top)[source]
GromacsParser.write_molecules(top)[source]
GromacsParser.write_moleculetypes(top)[source]
GromacsParser.write_nonbonded_types(top)[source]
GromacsParser.write_pairs(top)[source]
GromacsParser.write_settles(top)[source]
GromacsParser.write_system(top)[source]
intermol.gromacs.gromacs_parser.default_gromacs_include_dir()[source]

Find the location where gromacs #include files are referenced from, by searching for (1) gromacs environment variables, (2) just using the default gromacs install location, /usr/local/gromacs/share/gromacs/top.

intermol.gromacs.gromacs_parser.load_gromacs(top_file, gro_file, include_dir=None, defines=None)[source]

Load a set of GROMACS input files into a System.

Parameters:
  • top_file
  • gro_file
  • include_dir
  • defines
Returns:

Return type:

system

intermol.gromacs.gromacs_parser.write_gromacs(top_file, gro_file, system)[source]

Load a set of GROMACS input files into a System.

Parameters:
  • top_file
  • gro_file
  • include_dir
  • defines
Returns:

Return type:

system

Module contents

intermol.lammps package

Submodules

intermol.lammps.lammps_driver module
intermol.lammps.lammps_driver.lammps_energies(input_file, lmppath='lmp_openmpi')[source]

Evaluate energies of LAMMPS files

Parameters:
  • = path to input file (expects data file in same folder) (input_file) –
  • = path to LAMMPS binaries (lmppath) –
intermol.lammps.lammps_driver.read_file(in_file)[source]
intermol.lammps.lammps_driver.write_file(in_file, system, unit_set='real')[source]
intermol.lammps.lammps_parser module
class intermol.lammps.lammps_parser.LammpsParser(in_file, system=None, unit_set='real')[source]

Bases: object

A class containing methods to read and write LAMMPS files.

SCALE_FROM = 0.5
SCALE_INTO = 2.0
canonical_angle(kwds, angle, direction)[source]

Convert from the canonical form of this interaction.

canonical_bond(kwds, bond, direction='into')[source]

Convert to/from the canonical form of this interaction.

canonical_dihedral(params, dihedral, direction='into')[source]

Convert from the canonical form of this interaction.

create_kwds_from_entries(entries, force_class, offset=0)[source]
get_force_atoms(force, forceclass)[source]

Return the atoms involved in a force.

get_force_bondingtypes(force, forceclass)[source]

Return the atoms involved in a force.

get_parameter_kwds_from_force(force)[source]
get_parameter_list_from_force(force)[source]
lammps_angle_types = {'charmm': <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngleType'>, 'cosine': <class 'intermol.forces.cosine_angle_type.CosineAngleType'>, 'harmonic': <class 'intermol.forces.harmonic_angle_type.HarmonicAngleType'>}
lammps_angles = {'charmm': <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>, 'cosine': <class 'intermol.forces.cosine_angle_type.CosineAngle'>, 'harmonic': <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>}
lammps_bond_types = {'nonlinear': <class 'intermol.forces.nonlinear_bond_type.NonlinearBondType'>, 'quartic': <class 'intermol.forces.quartic_breakable_bond_type.QuarticBreakableBondType'>, 'morse': <class 'intermol.forces.morse_bond_type.MorseBondType'>, 'harmonic': <class 'intermol.forces.harmonic_bond_type.HarmonicBondType'>, 'fene/expand': <class 'intermol.forces.fene_expandable_bond_type.FeneExpandableBondType'>, 'class2': <class 'intermol.forces.quartic_bond_type.QuarticBondType'>}
lammps_bonds = {'nonlinear': <class 'intermol.forces.nonlinear_bond_type.NonlinearBond'>, 'quartic': <class 'intermol.forces.quartic_breakable_bond_type.QuarticBreakableBond'>, 'morse': <class 'intermol.forces.morse_bond_type.MorseBond'>, 'harmonic': <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>, 'fene/expand': <class 'intermol.forces.fene_expandable_bond_type.FeneExpandableBond'>, 'class2': <class 'intermol.forces.quartic_bond_type.QuarticBond'>}
lammps_dihedral_types = {'charmm': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType'>, 'multi/harmonic': <class 'intermol.forces.rb_dihedral_type.RbDihedralType'>, 'opls': <class 'intermol.forces.fourier_dihedral_type.FourierDihedralType'>}
lammps_dihedrals = {'charmm': <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>, 'multi/harmonic': <class 'intermol.forces.rb_dihedral_type.RbDihedral'>, 'opls': <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>}
lammps_improper_types = {'cvff': <class 'intermol.forces.trig_dihedral_type.TrigDihedralType'>, 'harmonic': <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedralType'>}
lammps_impropers = {'cvff': <class 'intermol.forces.trig_dihedral_type.TrigDihedral'>, 'harmonic': <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>}
lookup_lammps_angles = {<class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>: 'charmm', <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>: 'harmonic', <class 'intermol.forces.cosine_angle_type.CosineAngle'>: 'cosine'}
lookup_lammps_bonds = {<class 'intermol.forces.quartic_bond_type.QuarticBond'>: 'class2', <class 'intermol.forces.fene_expandable_bond_type.FeneExpandableBond'>: 'fene/expand', <class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>: 'harmonic', <class 'intermol.forces.morse_bond_type.MorseBond'>: 'morse', <class 'intermol.forces.nonlinear_bond_type.NonlinearBond'>: 'nonlinear', <class 'intermol.forces.quartic_breakable_bond_type.QuarticBreakableBond'>: 'quartic', <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>: 'harmonic'}
lookup_lammps_dihedrals = {<class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>: 'charmm', <class 'intermol.forces.rb_dihedral_type.RbDihedral'>: 'multi/harmonic', <class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'Trig', <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>: 'opls'}
lookup_lammps_impropers = {<class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'cvff', <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>: 'harmonic'}
parse_angle_coeffs(data_lines)[source]
parse_angle_style(line)[source]
parse_angles(data_lines)[source]
parse_atom_style(line)[source]

Note

Assuming ‘full’ as default for everything else.

parse_atoms(data_lines)[source]

Read atoms from data file.

parse_bond_coeffs(data_lines)[source]
parse_bond_style(line)[source]
parse_bonded_style(line)[source]
parse_bonds(data_lines)[source]
parse_boundary(line)[source]
parse_box(line, dim)[source]

Read box information from data file.

Parameters:
  • line (str) – Current line in input file.
  • dim (int) – Dimension specified in line.
parse_dihedral_coeffs(data_lines)[source]
parse_dihedral_style(line)[source]
parse_dihedrals(data_lines)[source]
parse_dimension(line)[source]
parse_force(data_lines, force_classes, forceSet, n=0)[source]

Read bonds, angles, dihedrals, impropers from data file.

parse_force_coeffs(data_lines, force_name, force_classes, force_style, lammps_forces, canonical_force)[source]

Read force coefficients from data file.

parse_improper_coeffs(data_lines)[source]
parse_improper_style(line)[source]
parse_impropers(data_lines)[source]
parse_kspace_style(line)[source]

Note

Currently ignored.

parse_masses(data_lines)[source]

Read masses from data file.

parse_pair_coeffs(data_lines)[source]

Read pair coefficients from data file.

parse_pair_modify(line)[source]
parse_pair_style(line)[source]
parse_read_data(line)[source]
parse_special_bonds(line)[source]
parse_units(line)[source]
parse_velocities(data_lines)[source]
read()[source]

Reads a LAMMPS input file and a data file specified within.

Parameters:input_file (str) – Name of LAMMPS input file to read in.
read_data(data_file)[source]

Reads a LAMMPS data file.

Parameters:data_file (str) – name of LAMMPS data file to read in.
read_input()[source]

Reads a LAMMPS input file.

Parameters:input_file (str) – Name of LAMMPS input file to read in.
set_units(unit_set)[source]

Set what unit set to use.

write(unit_set='real')[source]

Writes a LAMMPS data and corresponding input file.

Parameters:
  • data_file (str) – Name of LAMMPS data file to write to.
  • unit_set (str) – LAMMPS unit set for output file.
write_angles(mol_type, offset)[source]
write_bonds(mol_type, offset)[source]
write_dihedrals(mol_type, offset)[source]

Separate dihedrals from impropers.

write_forces(forces, offset, force_name, lookup_lammps_force, lammps_force_types, canonical_force)[source]

The general force writing function.

Currently supports bonds, angles, dihedrals, impropers.

write_impropers(mol_type, offset)[source]

Separate dihedrals from impropers.

write_virtuals(mol_type, offset)[source]
intermol.lammps.lammps_parser.load_lammps(in_file)[source]

Load a LAMMPS input file into a System.

Parameters:
  • in_file
  • include_dir
  • defines
Returns:

Return type:

system

intermol.lammps.lammps_parser.write_lammps(in_file, system, unit_set='real')[source]

Load a LAMMPS input file into a System.

Parameters:
  • in_file
  • include_dir
  • defines
Returns:

Return type:

system

Module contents

intermol.forces package

Submodules

intermol.forces.abstract_2_virtual_type module
class intermol.forces.abstract_2_virtual_type.Abstract2VirtualType(bondingtype1, bondingtype2, bondingtype3)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
placeholder
intermol.forces.abstract_3_virtual_type module
class intermol.forces.abstract_3_virtual_type.Abstract3VirtualType(bondingtype1, bondingtype2, bondingtype3, bondingtype4)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
bondingtype3
bondingtype4
placeholder
intermol.forces.abstract_4_virtual_type module
class intermol.forces.abstract_4_virtual_type.Abstract4VirtualType(bondingtype1, bondingtype2, bondingtype3, bondingtype4, bondingtype5)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
bondingtype3
bondingtype4
intermol.forces.abstract_angle_type module
class intermol.forces.abstract_angle_type.AbstractAngleType(bondingtype1, bondingtype2, bondingtype3, c=False)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
bondingtype3
c
intermol.forces.abstract_atom_type module
class intermol.forces.abstract_atom_type.AbstractAtomType(atomtype, bondtype=None, atomic_number=None, mass=None, charge=None, ptype=None)[source]

Bases: intermol.forces.abstract_type.AbstractType

atomic_number
atomtype
bondtype
charge
mass
ptype
intermol.forces.abstract_bond_type module
class intermol.forces.abstract_bond_type.AbstractBondType(bondingtype1, bondingtype2, order=1, c=False)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
c
order
intermol.forces.abstract_dihedral_type module
class intermol.forces.abstract_dihedral_type.AbstractDihedralType(bondingtype1, bondingtype2, bondingtype3, bondingtype4, improper=False)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
bondingtype3
bondingtype4
improper
intermol.forces.abstract_nonbonded_type module
class intermol.forces.abstract_nonbonded_type.AbstractNonbondedType(atom1, atom2, type)[source]

Bases: intermol.forces.abstract_type.AbstractType

atom1
atom2
type
intermol.forces.abstract_pair_type module
class intermol.forces.abstract_pair_type.AbstractPairType(bondingtype1, bondingtype2, scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.abstract_type.AbstractType

bondingtype1
bondingtype2
long
scaleLJ
scaleQQ
intermol.forces.abstract_type module
class intermol.forces.abstract_type.AbstractType[source]

Bases: object

__repr__()[source]

Print the object and all of its non-magic attributes.

intermol.forces.atom_c_type module
class intermol.forces.atom_c_type.AtomCType(*args, **kwds)[source]

Bases: intermol.forces.abstract_atom_type.AbstractAtomType

intermol.forces.atom_sigeps_type module
class intermol.forces.atom_sigeps_type.AtomSigepsType(*args, **kwds)[source]

Bases: intermol.forces.abstract_atom_type.AbstractAtomType

intermol.forces.buckingham_nonbonded_type module
class intermol.forces.buckingham_nonbonded_type.BuckinghamNonbonded(atom1, atom2, bondingtype1=None, bondingtype2=None, a=Quantity(value=0.0, unit=kilojoule/mole), b=Quantity(value=0.0, unit=/nanometer), C6=Quantity(value=0.0, unit=nanometer**6*kilojoule/mole), type=False)[source]

Bases: intermol.forces.buckingham_nonbonded_type.BuckinghamNonbondedType

stub documentation

class intermol.forces.buckingham_nonbonded_type.BuckinghamNonbondedType(*args, **kwds)[source]

Bases: intermol.forces.abstract_nonbonded_type.AbstractNonbondedType

C6
a
b
type
intermol.forces.connection_bond_type module
class intermol.forces.connection_bond_type.ConnectionBond(atom1, atom2, bondingtype1=None, bondingtype2=None, order=1, c=False)[source]

Bases: intermol.forces.connection_bond_type.ConnectionBondType

stub documentation

class intermol.forces.connection_bond_type.ConnectionBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
order
intermol.forces.convert_dihedrals module
intermol.forces.convert_dihedrals.convert_dihedral_from_OPLS_to_RB(f)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_RB_to_OPLS(c)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_RB_to_trig(c)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_fourier_to_trig(f)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_proper_to_trig(p)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_trig_to_RB(fcs)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_trig_to_fourier(fcs)[source]
intermol.forces.convert_dihedrals.convert_dihedral_from_trig_to_proper(fcs, convention='0')[source]
intermol.forces.convert_dihedrals.convert_nothing(x)[source]

useful utility for not converting anything

intermol.forces.cosine_angle_type module
class intermol.forces.cosine_angle_type.CosineAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, k=Quantity(value=0.0, unit=kilojoule/mole), c=False)[source]

Bases: intermol.forces.cosine_angle_type.CosineAngleType

http://lammps.sandia.gov/doc/angle_cosine.html

class intermol.forces.cosine_angle_type.CosineAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
intermol.forces.cosine_squared_angle_type module
class intermol.forces.cosine_squared_angle_type.CosineSquaredAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, theta=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/mole), c=False)[source]

Bases: intermol.forces.cosine_squared_angle_type.CosineSquaredAngleType

stub documentation

class intermol.forces.cosine_squared_angle_type.CosineSquaredAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
theta
intermol.forces.cross_bond_angle_angle_type module
class intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, r1=Quantity(value=0.0, unit=nanometer), r2=Quantity(value=0.0, unit=nanometer), r3=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), c=False)[source]

Bases: intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngleType

stub documentation

class intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
r1
r2
r3
intermol.forces.cross_bond_bond_angle_type module
class intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, r1=Quantity(value=0.0, unit=nanometer), r2=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), c=False)[source]

Bases: intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngleType

stub documentation

class intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
r1
r2
intermol.forces.cubic_bond_type module
class intermol.forces.cubic_bond_type.CubicBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), C2=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), C3=Quantity(value=0.0, unit=kilojoule/(nanometer**3*mole)), order=1, c=False)[source]

Bases: intermol.forces.cubic_bond_type.CubicBondType

stub documentation

class intermol.forces.cubic_bond_type.CubicBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

C2
C3
c
length
order
intermol.forces.fene_bond_type module
class intermol.forces.fene_bond_type.FeneBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), kb=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), order=1, c=False)[source]

Bases: intermol.forces.fene_bond_type.FeneBondType

stub documentation

class intermol.forces.fene_bond_type.FeneBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
kb
length
order
intermol.forces.fene_expandable_bond_type module
class intermol.forces.fene_expandable_bond_type.FeneExpandableBond(atom1, atom2, bondingtype1=None, bondingtype2=None, k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), length=Quantity(value=0.0, unit=nanometer), epsilon=Quantity(value=0.0, unit=kilojoule/mole), sigma=Quantity(value=0.0, unit=nanometer), delta=Quantity(value=0.0, unit=nanometer), order=1, c=False)[source]

Bases: intermol.forces.fene_expandable_bond_type.FeneExpandableBondType

stub documentation

class intermol.forces.fene_expandable_bond_type.FeneExpandableBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
delta
epsilon
k
length
order
sigma
intermol.forces.forcedata module
intermol.forces.forcefunctions module
intermol.forces.forcefunctions.build_paramlist(program)[source]

Create a paramlist specific for a given program.

intermol.forces.forcefunctions.build_unitvars(program, paramlist, dumself=None)[source]

Takes a string program name (one of the supported programs), and a ‘self’ object it looks like the keyword is not being used, but it is used in the line eval(unit). The test name ‘dumself’ needs to match what is in the force data arrays. Currently only used for lammps.

intermol.forces.forcefunctions.capifyname(forcename)[source]

Return name of the class in camelCase.

intermol.forces.forcefunctions.create_kwd_dict(unitvars, paramlist, force_type_object, values, optvalues=None)[source]
intermol.forces.forcefunctions.create_kwds_from_entries(unitvars, paramlist, entries, force_type, offset=0)[source]

Create a keyword dictionary given an array of information from a file format

requires the master set of units, the master set of parameter lists, an object (either a force_class or force_type), the list of information to be converted into a keyword, and an offset.

Parameters:offset (int) – how far over from the first entry we translate
intermol.forces.forcefunctions.get_parameter_kwds_from_force(force, forceparams, paramlist)[source]
intermol.forces.forcefunctions.get_parameter_list_from_force(force, paramlist)[source]

Create a function that returns the paramters of a function type.

First, we need make some additions to the parameter list dictionary, which we do once when the forcedata script is imported. Useful to put the forces here as well. We won’t make this a function for now since it’s needed in this module.

intermol.forces.forcefunctions.get_parameter_list_from_kwds(force, kwds, paramlist)[source]
intermol.forces.forcefunctions.optforceparams(force_type, forcetype_object=None)[source]

Return the dictionary of optional paramters of an abstract force type.

If no object is given, we fill with blanks.

intermol.forces.forcefunctions.optparamkeylookup(force_type)[source]

Given a force_type object, determine the key associated with the optional parameters.

intermol.forces.forcefunctions.optparamlookup(force_type_object, object_default=False)[source]

A wrapper for optforceparams that takes a force_type object and returns the optional parameter dictionary.

intermol.forces.forcefunctions.specify(program_units, unitset, dumself=None, shouldEval=True)[source]

Takes the dict of units, and a set of dimensions and replaces the dimensions with the appropriate units.

intermol.forces.four_fdn_virtual_type module
class intermol.forces.four_fdn_virtual_type.FourFdnVirtual(atom1, atom2, atom3, atom4, atom5, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, bondingtype5=None, a=Quantity(value=0.0, unit=dimensionless), b=Quantity(value=0.0, unit=dimensionless), c=Quantity(value=0.0, unit=nanometer), placeholder=False)[source]

Bases: intermol.forces.four_fdn_virtual_type.FourFdnVirtualType

stub documentation

class intermol.forces.four_fdn_virtual_type.FourFdnVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_4_virtual_type.Abstract4VirtualType

a
b
c
placeholder
intermol.forces.fourier_dihedral_type module
class intermol.forces.fourier_dihedral_type.FourierDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, c1=Quantity(value=0.0, unit=kilojoule/mole), c2=Quantity(value=0.0, unit=kilojoule/mole), c3=Quantity(value=0.0, unit=kilojoule/mole), c4=Quantity(value=0.0, unit=kilojoule/mole), c5=Quantity(value=0.0, unit=kilojoule/mole), improper=False)[source]

Bases: intermol.forces.fourier_dihedral_type.FourierDihedralType

stub documentation

class intermol.forces.fourier_dihedral_type.FourierDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

c1
c2
c3
c4
c5
improper
intermol.forces.g96_bond_type module
class intermol.forces.g96_bond_type.G96Bond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**4*mole)), order=1, c=False)[source]

Bases: intermol.forces.g96_bond_type.G96BondType

stub documentation

class intermol.forces.g96_bond_type.G96BondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
k
length
order
intermol.forces.harmonic_angle_type module
class intermol.forces.harmonic_angle_type.HarmonicAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, theta=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/(mole*radian**2)), c=False)[source]

Bases: intermol.forces.harmonic_angle_type.HarmonicAngleType

stub documentation

class intermol.forces.harmonic_angle_type.HarmonicAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
theta
intermol.forces.harmonic_bond_type module
class intermol.forces.harmonic_bond_type.HarmonicBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), order=1, c=False)[source]

Bases: intermol.forces.harmonic_bond_type.HarmonicBondType

stub documentation

class intermol.forces.harmonic_bond_type.HarmonicBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
k
length
order
intermol.forces.harmonic_potential_bond_type module
class intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), k=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), order=1, c=False)[source]

Bases: intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBondType

stub documentation

class intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
k
length
order
intermol.forces.improper_harmonic_dihedral_type module
class intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, xi=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/(mole*radian**2)), improper=False)[source]

Bases: intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedralType

stub documentation

class intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

improper
k
xi
intermol.forces.lj_c_nonbonded_type module
class intermol.forces.lj_c_nonbonded_type.LjCNonbonded(atom1, atom2, bondingtype1=None, bondingtype2=None, C6=Quantity(value=0.0, unit=nanometer**6*kilojoule/mole), C12=Quantity(value=0.0, unit=nanometer**12*kilojoule/mole), type=False)[source]

Bases: intermol.forces.lj_c_nonbonded_type.LjCNonbondedType

stub documentation

class intermol.forces.lj_c_nonbonded_type.LjCNonbondedType(*args, **kwds)[source]

Bases: intermol.forces.abstract_nonbonded_type.AbstractNonbondedType

C12
C6
type
intermol.forces.lj_c_pair_type module
class intermol.forces.lj_c_pair_type.LjCPair(atom1, atom2, bondingtype1=None, bondingtype2=None, C6=Quantity(value=0.0, unit=nanometer**6*kilojoule/mole), C12=Quantity(value=0.0, unit=nanometer**12*kilojoule/mole), scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.lj_c_pair_type.LjCPairType

stub documentation

class intermol.forces.lj_c_pair_type.LjCPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

C12
C6
long
scaleLJ
scaleQQ
intermol.forces.lj_default_pair_type module
class intermol.forces.lj_default_pair_type.LjDefaultPair(atom1, atom2, bondingtype1=None, bondingtype2=None, scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.lj_default_pair_type.LjDefaultPairType

stub documentation

class intermol.forces.lj_default_pair_type.LjDefaultPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

long
scaleLJ
scaleQQ
intermol.forces.lj_sigeps_nonbonded_type module
class intermol.forces.lj_sigeps_nonbonded_type.LjSigepsNonbonded(atom1, atom2, bondingtype1=None, bondingtype2=None, sigma=Quantity(value=0.0, unit=nanometer), epsilon=Quantity(value=0.0, unit=kilojoule/mole), type=False)[source]

Bases: intermol.forces.lj_sigeps_nonbonded_type.LjSigepsNonbondedType

stub documentation

class intermol.forces.lj_sigeps_nonbonded_type.LjSigepsNonbondedType(*args, **kwds)[source]

Bases: intermol.forces.abstract_nonbonded_type.AbstractNonbondedType

epsilon
sigma
type
intermol.forces.lj_sigeps_pair_type module
class intermol.forces.lj_sigeps_pair_type.LjSigepsPair(atom1, atom2, bondingtype1=None, bondingtype2=None, sigma=Quantity(value=0.0, unit=nanometer), epsilon=Quantity(value=0.0, unit=kilojoule/mole), scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.lj_sigeps_pair_type.LjSigepsPairType

stub documentation

class intermol.forces.lj_sigeps_pair_type.LjSigepsPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

epsilon
long
scaleLJ
scaleQQ
sigma
intermol.forces.ljq_c_pair_type module
class intermol.forces.ljq_c_pair_type.LjqCPair(atom1, atom2, bondingtype1=None, bondingtype2=None, qi=Quantity(value=0.0, unit=elementary charge), qj=Quantity(value=0.0, unit=elementary charge), C6=Quantity(value=0.0, unit=nanometer**6*kilojoule/mole), C12=Quantity(value=0.0, unit=nanometer**12*kilojoule/mole), scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.ljq_c_pair_type.LjqCPairType

stub documentation

class intermol.forces.ljq_c_pair_type.LjqCPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

C12
C6
long
qi
qj
scaleLJ
scaleQQ
intermol.forces.ljq_default_pair_type module
class intermol.forces.ljq_default_pair_type.LjqDefaultPair(atom1, atom2, bondingtype1=None, bondingtype2=None, scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.ljq_default_pair_type.LjqDefaultPairType

stub documentation

class intermol.forces.ljq_default_pair_type.LjqDefaultPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

long
scaleLJ
scaleQQ
intermol.forces.ljq_sigeps_pair_type module
class intermol.forces.ljq_sigeps_pair_type.LjqSigepsPair(atom1, atom2, bondingtype1=None, bondingtype2=None, qi=Quantity(value=0.0, unit=elementary charge), qj=Quantity(value=0.0, unit=elementary charge), sigma=Quantity(value=0.0, unit=nanometer), epsilon=Quantity(value=0.0, unit=kilojoule/mole), scaleLJ=None, scaleQQ=None, long=False)[source]

Bases: intermol.forces.ljq_sigeps_pair_type.LjqSigepsPairType

stub documentation

class intermol.forces.ljq_sigeps_pair_type.LjqSigepsPairType(*args, **kwds)[source]

Bases: intermol.forces.abstract_pair_type.AbstractPairType

epsilon
long
qi
qj
scaleLJ
scaleQQ
sigma
intermol.forces.make_forces module
intermol.forces.morse_bond_type module
class intermol.forces.morse_bond_type.MorseBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), D=Quantity(value=0.0, unit=kilojoule/mole), beta=Quantity(value=0.0, unit=/nanometer), order=1, c=False)[source]

Bases: intermol.forces.morse_bond_type.MorseBondType

stub documentation

class intermol.forces.morse_bond_type.MorseBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

D
beta
c
length
order
intermol.forces.nonlinear_bond_type module
class intermol.forces.nonlinear_bond_type.NonlinearBond(atom1, atom2, bondingtype1=None, bondingtype2=None, epsilon=Quantity(value=0.0, unit=kilojoule/mole), r0=Quantity(value=0.0, unit=nanometer), lamda=Quantity(value=0.0, unit=nanometer), order=1, c=False)[source]

Bases: intermol.forces.nonlinear_bond_type.NonlinearBondType

http://lammps.sandia.gov/doc/bond_nonlinear.html

class intermol.forces.nonlinear_bond_type.NonlinearBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

c
epsilon
lamda
order
r0
intermol.forces.proper_periodic_dihedral_type module
class intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, phi=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/mole), multiplicity=Quantity(value=0.0, unit=dimensionless), weight=Quantity(value=0.0, unit=dimensionless), improper=False)[source]

Bases: intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType

stub documentation

class intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

improper
k
multiplicity
phi
weight
intermol.forces.quartic_angle_type module
class intermol.forces.quartic_angle_type.QuarticAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, theta=Quantity(value=0.0, unit=degree), C0=Quantity(value=0.0, unit=kilojoule/mole), C1=Quantity(value=0.0, unit=kilojoule/(mole*radian)), C2=Quantity(value=0.0, unit=kilojoule/(mole*radian**2)), C3=Quantity(value=0.0, unit=kilojoule/(mole*radian**3)), C4=Quantity(value=0.0, unit=kilojoule/(mole*radian**4)), c=False)[source]

Bases: intermol.forces.quartic_angle_type.QuarticAngleType

stub documentation

class intermol.forces.quartic_angle_type.QuarticAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

C0
C1
C2
C3
C4
c
theta
intermol.forces.quartic_bond_type module
class intermol.forces.quartic_bond_type.QuarticBond(atom1, atom2, bondingtype1=None, bondingtype2=None, length=Quantity(value=0.0, unit=nanometer), C2=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), C3=Quantity(value=0.0, unit=kilojoule/(nanometer**3*mole)), C4=Quantity(value=0.0, unit=kilojoule/(nanometer**4*mole)), order=1, c=False)[source]

Bases: intermol.forces.quartic_bond_type.QuarticBondType

stub documentation

class intermol.forces.quartic_bond_type.QuarticBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

C2
C3
C4
c
length
order
intermol.forces.quartic_breakable_bond_type module
class intermol.forces.quartic_breakable_bond_type.QuarticBreakableBond(atom1, atom2, bondingtype1=None, bondingtype2=None, k=Quantity(value=0.0, unit=kilojoule/(nanometer**4*mole)), B1=Quantity(value=0.0, unit=nanometer), B2=Quantity(value=0.0, unit=nanometer), Rc=Quantity(value=0.0, unit=nanometer), U0=Quantity(value=0.0, unit=kilojoule/mole), order=1, c=False)[source]

Bases: intermol.forces.quartic_breakable_bond_type.QuarticBreakableBondType

http://lammps.sandia.gov/doc/bond_quartic.html

class intermol.forces.quartic_breakable_bond_type.QuarticBreakableBondType(*args, **kwds)[source]

Bases: intermol.forces.abstract_bond_type.AbstractBondType

B1
B2
Rc
U0
c
k
order
intermol.forces.rb_dihedral_type module
class intermol.forces.rb_dihedral_type.RbDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, C0=Quantity(value=0.0, unit=kilojoule/mole), C1=Quantity(value=0.0, unit=kilojoule/mole), C2=Quantity(value=0.0, unit=kilojoule/mole), C3=Quantity(value=0.0, unit=kilojoule/mole), C4=Quantity(value=0.0, unit=kilojoule/mole), C5=Quantity(value=0.0, unit=kilojoule/mole), C6=Quantity(value=0.0, unit=kilojoule/mole), improper=False)[source]

Bases: intermol.forces.rb_dihedral_type.RbDihedralType

stub documentation

class intermol.forces.rb_dihedral_type.RbDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

C0
C1
C2
C3
C4
C5
C6
improper
intermol.forces.settles module
class intermol.forces.settles.Settles(*args, **kwds)[source]

Bases: intermol.forces.abstract_type.AbstractType

intermol.forces.three_fad_virtual_type module
class intermol.forces.three_fad_virtual_type.ThreeFadVirtual(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, theta=Quantity(value=0.0, unit=degree), d=Quantity(value=0.0, unit=nanometer), placeholder=False)[source]

Bases: intermol.forces.three_fad_virtual_type.ThreeFadVirtualType

stub documentation

class intermol.forces.three_fad_virtual_type.ThreeFadVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_3_virtual_type.Abstract3VirtualType

d
placeholder
theta
intermol.forces.three_fd_virtual_type module
class intermol.forces.three_fd_virtual_type.ThreeFdVirtual(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, a=Quantity(value=0.0, unit=dimensionless), d=Quantity(value=0.0, unit=nanometer), placeholder=False)[source]

Bases: intermol.forces.three_fd_virtual_type.ThreeFdVirtualType

stub documentation

class intermol.forces.three_fd_virtual_type.ThreeFdVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_3_virtual_type.Abstract3VirtualType

a
d
placeholder
intermol.forces.three_linear_virtual_type module
class intermol.forces.three_linear_virtual_type.ThreeLinearVirtual(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, a=Quantity(value=0.0, unit=dimensionless), b=Quantity(value=0.0, unit=dimensionless), placeholder=False)[source]

Bases: intermol.forces.three_linear_virtual_type.ThreeLinearVirtualType

stub documentation

class intermol.forces.three_linear_virtual_type.ThreeLinearVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_3_virtual_type.Abstract3VirtualType

a
b
placeholder
intermol.forces.three_out_virtual_type module
class intermol.forces.three_out_virtual_type.ThreeOutVirtual(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, a=Quantity(value=0.0, unit=dimensionless), b=Quantity(value=0.0, unit=dimensionless), c=Quantity(value=0.0, unit=/nanometer), placeholder=False)[source]

Bases: intermol.forces.three_out_virtual_type.ThreeOutVirtualType

stub documentation

class intermol.forces.three_out_virtual_type.ThreeOutVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_3_virtual_type.Abstract3VirtualType

a
b
c
placeholder
intermol.forces.trig_dihedral_type module
class intermol.forces.trig_dihedral_type.TrigDihedral(atom1, atom2, atom3, atom4, bondingtype1=None, bondingtype2=None, bondingtype3=None, bondingtype4=None, phi=Quantity(value=0.0, unit=degree), fc0=Quantity(value=0.0, unit=kilojoule/mole), fc1=Quantity(value=0.0, unit=kilojoule/mole), fc2=Quantity(value=0.0, unit=kilojoule/mole), fc3=Quantity(value=0.0, unit=kilojoule/mole), fc4=Quantity(value=0.0, unit=kilojoule/mole), fc5=Quantity(value=0.0, unit=kilojoule/mole), fc6=Quantity(value=0.0, unit=kilojoule/mole), improper=False)[source]

Bases: intermol.forces.trig_dihedral_type.TrigDihedralType

stub documentation

class intermol.forces.trig_dihedral_type.TrigDihedralType(*args, **kwds)[source]

Bases: intermol.forces.abstract_dihedral_type.AbstractDihedralType

fc0
fc1
fc2
fc3
fc4
fc5
fc6
improper
phi
intermol.forces.two_virtual_type module
class intermol.forces.two_virtual_type.TwoVirtual(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, a=Quantity(value=0.0, unit=dimensionless), placeholder=False)[source]

Bases: intermol.forces.two_virtual_type.TwoVirtualType

stub documentation

class intermol.forces.two_virtual_type.TwoVirtualType(*args, **kwds)[source]

Bases: intermol.forces.abstract_2_virtual_type.Abstract2VirtualType

a
placeholder
intermol.forces.urey_bradley_angle_type module
class intermol.forces.urey_bradley_angle_type.UreyBradleyAngle(atom1, atom2, atom3, bondingtype1=None, bondingtype2=None, bondingtype3=None, theta=Quantity(value=0.0, unit=degree), k=Quantity(value=0.0, unit=kilojoule/(mole*radian**2)), r=Quantity(value=0.0, unit=nanometer), kUB=Quantity(value=0.0, unit=kilojoule/(nanometer**2*mole)), c=False)[source]

Bases: intermol.forces.urey_bradley_angle_type.UreyBradleyAngleType

stub documentation

class intermol.forces.urey_bradley_angle_type.UreyBradleyAngleType(*args, **kwds)[source]

Bases: intermol.forces.abstract_angle_type.AbstractAngleType

c
k
kUB
r
theta

Module contents

License

InterMol is licensed under the MIT license.

Indices and tables