InterMol: a conversion tool for molecular dynamics simulations¶
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:
- The master branch is strictly used for releases.
- The develop branch is where (!!!) development happens.
- 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?
- Don’t make pull requests against master.
- 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/
API Reference¶
intermol package¶
Subpackages¶
intermol.forces package¶
Submodules¶
- 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.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¶
- 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]¶
- class intermol.forces.cosine_angle_type.CosineAngleType(*args, **kwds)[source]¶
Bases: intermol.forces.abstract_angle_type.AbstractAngleType
- c¶
- k¶
- 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.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_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.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.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_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
- 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.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.
- 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.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.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.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_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_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.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.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_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_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_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_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.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_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_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.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.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
- 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.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_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_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
- 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.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_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_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_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.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.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¶
- 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
Module contents¶
intermol.gromacs package¶
Submodules¶
- 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.
- 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_dihedral(dihedral)[source]¶
Create a dihedral object based on a [ dihedrals ] entry.
- GromacsParser.find_dihedraltype(bondingtypes, improper)[source]¶
Determine the type of dihedral interaction between four atoms.
- 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.lookup_gromacs_angles = {<class 'intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngle'>: '4', <class 'intermol.forces.cosine_squared_angle_type.CosineSquaredAngle'>: '2', <class 'intermol.forces.quartic_angle_type.QuarticAngle'>: '6', <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>: '5', <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>: '1', <class 'intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngle'>: '3'}¶
- GromacsParser.lookup_gromacs_bonds = {<class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>: '6', <class 'intermol.forces.cubic_bond_type.CubicBond'>: '4', <class 'intermol.forces.connection_bond_type.ConnectionBond'>: '5', <class 'intermol.forces.morse_bond_type.MorseBond'>: '3', <class 'intermol.forces.g96_bond_type.G96Bond'>: '2', <class 'intermol.forces.fene_bond_type.FeneBond'>: '7', <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>: '1'}¶
- GromacsParser.lookup_gromacs_combination_rules = {'Multiply-Sigeps': '3', 'Lorentz-Berthelot': '2', 'Multiply-C6C12': '1'}¶
- GromacsParser.lookup_gromacs_dihedrals = {<class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'Trig', <class 'intermol.forces.rb_dihedral_type.RbDihedral'>: '3', <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>: '5', <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>: '2'}¶
- GromacsParser.lookup_gromacs_pairs = {<class 'intermol.forces.ljq_sigeps_pair_type.LjqSigepsPair'>: '2B', <class 'intermol.forces.ljq_c_pair_type.LjqCPair'>: '2A', <class 'intermol.forces.lj_default_pair_type.LjDefaultPair'>: '1C', <class 'intermol.forces.ljq_default_pair_type.LjqDefaultPair'>: '2C', <class 'intermol.forces.lj_sigeps_pair_type.LjSigepsPair'>: '1B', <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_dihedraltype(line)[source]¶
Process a line in the [ dihedraltypes ] category.
- 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_moleculetype(line)[source]¶
Process a line in the [ moleculetypes ] category.
- GromacsParser.process_nonbond_params(line)[source]¶
Process a line in the [ nonbond_param ] category.
- 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})]}¶
- 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.
Module contents¶
intermol.lammps package¶
Submodules¶
- 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.
- 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.cosine_angle_type.CosineAngle'>: 'cosine', <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>: 'harmonic'}¶
- lookup_lammps_bonds = {<class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>: 'harmonic', <class 'intermol.forces.morse_bond_type.MorseBond'>: 'morse', <class 'intermol.forces.quartic_bond_type.QuarticBond'>: 'class2', <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>: 'harmonic', <class 'intermol.forces.quartic_breakable_bond_type.QuarticBreakableBond'>: 'quartic', <class 'intermol.forces.nonlinear_bond_type.NonlinearBond'>: 'nonlinear', <class 'intermol.forces.fene_expandable_bond_type.FeneExpandableBond'>: 'fene/expand'}¶
- lookup_lammps_dihedrals = {<class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'Trig', <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>: 'charmm', <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>: 'opls', <class 'intermol.forces.rb_dihedral_type.RbDihedral'>: 'multi/harmonic'}¶
- lookup_lammps_impropers = {<class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'cvff', <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>: 'harmonic'}¶
- 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_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.
- 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.
- 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.
Module contents¶
Submodules¶
intermol.atom module¶
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.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 fileinput_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.molecule module¶
intermol.moleculetype module¶
intermol.orderedset module¶
intermol.system module¶
- class intermol.system.System(name=None)[source]¶
Bases: object
- add_molecule(molecule)[source]¶
Append a molecule into the System. :param molecule: The molecule object to be appended
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.
intermol.gromacs.gromacs_driver module¶
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_dihedral(dihedral)[source]¶
Create a dihedral object based on a [ dihedrals ] entry.
- GromacsParser.find_dihedraltype(bondingtypes, improper)[source]¶
Determine the type of dihedral interaction between four atoms.
- 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.lookup_gromacs_angles = {<class 'intermol.forces.cross_bond_angle_angle_type.CrossBondAngleAngle'>: '4', <class 'intermol.forces.cosine_squared_angle_type.CosineSquaredAngle'>: '2', <class 'intermol.forces.quartic_angle_type.QuarticAngle'>: '6', <class 'intermol.forces.urey_bradley_angle_type.UreyBradleyAngle'>: '5', <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>: '1', <class 'intermol.forces.cross_bond_bond_angle_type.CrossBondBondAngle'>: '3'}¶
- GromacsParser.lookup_gromacs_bonds = {<class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>: '6', <class 'intermol.forces.cubic_bond_type.CubicBond'>: '4', <class 'intermol.forces.connection_bond_type.ConnectionBond'>: '5', <class 'intermol.forces.morse_bond_type.MorseBond'>: '3', <class 'intermol.forces.g96_bond_type.G96Bond'>: '2', <class 'intermol.forces.fene_bond_type.FeneBond'>: '7', <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>: '1'}¶
- GromacsParser.lookup_gromacs_combination_rules = {'Multiply-Sigeps': '3', 'Lorentz-Berthelot': '2', 'Multiply-C6C12': '1'}¶
- GromacsParser.lookup_gromacs_dihedrals = {<class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'Trig', <class 'intermol.forces.rb_dihedral_type.RbDihedral'>: '3', <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>: '5', <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>: '2'}¶
- GromacsParser.lookup_gromacs_pairs = {<class 'intermol.forces.ljq_sigeps_pair_type.LjqSigepsPair'>: '2B', <class 'intermol.forces.ljq_c_pair_type.LjqCPair'>: '2A', <class 'intermol.forces.lj_default_pair_type.LjDefaultPair'>: '1C', <class 'intermol.forces.ljq_default_pair_type.LjqDefaultPair'>: '2C', <class 'intermol.forces.lj_sigeps_pair_type.LjSigepsPair'>: '1B', <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_dihedraltype(line)[source]¶
Process a line in the [ dihedraltypes ] category.
- 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_moleculetype(line)[source]¶
Process a line in the [ moleculetypes ] category.
- GromacsParser.process_nonbond_params(line)[source]¶
Process a line in the [ nonbond_param ] category.
- 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})]}¶
- 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.
Module contents¶
intermol.lammps package¶
Submodules¶
intermol.lammps.lammps_driver module¶
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.
- 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.cosine_angle_type.CosineAngle'>: 'cosine', <class 'intermol.forces.harmonic_angle_type.HarmonicAngle'>: 'harmonic'}¶
- lookup_lammps_bonds = {<class 'intermol.forces.harmonic_potential_bond_type.HarmonicPotentialBond'>: 'harmonic', <class 'intermol.forces.morse_bond_type.MorseBond'>: 'morse', <class 'intermol.forces.quartic_bond_type.QuarticBond'>: 'class2', <class 'intermol.forces.harmonic_bond_type.HarmonicBond'>: 'harmonic', <class 'intermol.forces.quartic_breakable_bond_type.QuarticBreakableBond'>: 'quartic', <class 'intermol.forces.nonlinear_bond_type.NonlinearBond'>: 'nonlinear', <class 'intermol.forces.fene_expandable_bond_type.FeneExpandableBond'>: 'fene/expand'}¶
- lookup_lammps_dihedrals = {<class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'Trig', <class 'intermol.forces.proper_periodic_dihedral_type.ProperPeriodicDihedral'>: 'charmm', <class 'intermol.forces.fourier_dihedral_type.FourierDihedral'>: 'opls', <class 'intermol.forces.rb_dihedral_type.RbDihedral'>: 'multi/harmonic'}¶
- lookup_lammps_impropers = {<class 'intermol.forces.trig_dihedral_type.TrigDihedral'>: 'cvff', <class 'intermol.forces.improper_harmonic_dihedral_type.ImproperHarmonicDihedral'>: 'harmonic'}¶
- 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_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.
- 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.
- 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.
Module contents¶
intermol.forces package¶
Submodules¶
intermol.forces.abstract_2_virtual_type module¶
intermol.forces.abstract_3_virtual_type module¶
intermol.forces.abstract_4_virtual_type module¶
intermol.forces.abstract_angle_type module¶
intermol.forces.abstract_atom_type module¶
intermol.forces.abstract_bond_type module¶
intermol.forces.abstract_dihedral_type module¶
intermol.forces.abstract_nonbonded_type module¶
intermol.forces.abstract_pair_type module¶
intermol.forces.abstract_type module¶
intermol.forces.atom_c_type module¶
intermol.forces.atom_sigeps_type module¶
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
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.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]¶
- 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
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
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
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
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
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
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.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.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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Module contents¶
License¶
InterMol is licensed under the MIT license.