# openforcefield.typing.engines.smirnoff.parameters.ImproperTorsionHandler

class `openforcefield.typing.engines.smirnoff.parameters.``ImproperTorsionHandler`(**kwargs)

  Handle SMIRNOFF `<ImproperTorsionForce>` tags

  Warning

  This API is experimental and subject to change.

  Attributes
    `known_kwargs`

      List of kwargs that can be parsed by the function.

    `parameters`

      The ParameterList that holds this ParameterHandler’s parameter objects

  Methods

  `ImproperTorsionType`(**kwargs) | A SMIRNOFF torsion type for improper torsions.
  `add_parameter`(parameter_kwargs) | Add a parameter to the forcefield, ensuring all parameters are valid.
  `assign_parameters`(topology, system) | Assign parameters for the given Topology to the specified System object.
  `check_handler_compatibility`(handler_kwargs) | Checks if a set of kwargs used to create a ParameterHandler are compatible with this ParameterHandler.
  `check_parameter_compatibility`(parameter_kwargs) | Check to make sure that the fields requiring defined units are compatible with the required units for the Parameters handled by this ParameterHandler
  `find_matches`(entity) | Find the improper torsions in the topology/molecule matched by a parameter type.
  `get_parameter`(parameter_attrs) | Return the parameters in this ParameterHandler that match the parameter_attrs argument
  `postprocess_system`(topology, system, **kwargs) | Allow the force to perform a a final post-processing pass on the System following parameter assignment, if needed.
  `to_dict`([output_units, …]) | Convert this ParameterHandler to an OrderedDict, compliant with the SMIRNOFF data spec.

  create_force |

  `__init__`(**kwargs)

    Initialize a ParameterHandler, optionally with a list of parameters and other kwargs.

    Parameters
      permit_cosmetic_attributes bool

        Whether to accept non-spec kwargs

      **kwargs dict

        The dict representation of the SMIRNOFF data source

  Methods

  `__init__`(**kwargs) | Initialize a ParameterHandler, optionally with a list of parameters and other kwargs.
  `add_parameter`(parameter_kwargs) | Add a parameter to the forcefield, ensuring all parameters are valid.
  `assign_parameters`(topology, system) | Assign parameters for the given Topology to the specified System object.
  `check_handler_compatibility`(handler_kwargs) | Checks if a set of kwargs used to create a ParameterHandler are compatible with this ParameterHandler.
  `check_parameter_compatibility`(parameter_kwargs) | Check to make sure that the fields requiring defined units are compatible with the required units for the Parameters handled by this ParameterHandler
  `create_force`(system, topology, **kwargs) |
  `find_matches`(entity) | Find the improper torsions in the topology/molecule matched by a parameter type.
  `get_parameter`(parameter_attrs) | Return the parameters in this ParameterHandler that match the parameter_attrs argument
  `postprocess_system`(topology, system, **kwargs) | Allow the force to perform a a final post-processing pass on the System following parameter assignment, if needed.
  `to_dict`([output_units, …]) | Convert this ParameterHandler to an OrderedDict, compliant with the SMIRNOFF data spec.

  Attributes

  `known_kwargs` | List of kwargs that can be parsed by the function.
  `parameters` | The ParameterList that holds this ParameterHandler’s parameter objects

  class `ImproperTorsionType`(**kwargs)

    A SMIRNOFF torsion type for improper torsions.

    Warning

    This API is experimental and subject to change.

    Attributes
      smirks

    Methods

    `to_dict`([return_cosmetic_attributes]) | Convert this ParameterType-derived object to dict.

    `to_dict`(return_cosmetic_attributes=False)

      Convert this ParameterType-derived object to dict. A unit-bearing attribute (‘X’) will be converted to two dict entries, one ([‘X’] containing the unitless value, and another ([‘X_unit’]) containing a string representation of its unit.

      Parameters
        return_cosmetic_attributes bool, optional. default = False

          Whether to return non-spec attributes of this ParameterType

      Returns
        smirnoff_dict dict

          The SMIRNOFF-compliant dict representation of this ParameterType-derived object.

        output_units dict[str: simtk.unit.Unit]

          A mapping from each simtk.unit.Quanitity-valued ParameterType attribute to the unit it was converted to during serialization.

  `find_matches`(entity)

    Find the improper torsions in the topology/molecule matched by a parameter type.

    Parameters
      entity openforcefield.topology.Topology or openforcefield.topology.Molecule

        Topology or molecule to search.

    Returns
      matches ImproperDict[Tuple[int], ParameterType]

        `matches[atom_indices]` is the `ParameterType` object matching the 4-tuple of atom indices in `entity`.

  `add_parameter`(parameter_kwargs)

    Add a parameter to the forcefield, ensuring all parameters are valid.

    Parameters
      parameter_kwargs dict

        The kwargs to pass to the ParameterHandler.INFOTYPE (a ParameterType) constructor

  `assign_parameters`(topology, system)

    Assign parameters for the given Topology to the specified System object.

    Parameters
      topology openforcefield.topology.Topology

        The Topology for which parameters are to be assigned. Either a new Force will be created or parameters will be appended to an existing Force.

      system simtk.openmm.System

        The OpenMM System object to add the Force (or append new parameters) to.

  `check_handler_compatibility`(handler_kwargs)

    Checks if a set of kwargs used to create a ParameterHandler are compatible with this ParameterHandler. This is called if a second handler is attempted to be initialized for the same tag.

    Parameters
      handler_kwargs dict

        The kwargs that would be used to construct

    Raises
      IncompatibleParameterError if handler_kwargs are incompatible with existing parameters.
  `check_parameter_compatibility`(parameter_kwargs)

    Check to make sure that the fields requiring defined units are compatible with the required units for the Parameters handled by this ParameterHandler

    Parameters
      parameter_kwargs: dict

        The dict that will be used to construct the ParameterType

    Raises
      Raises a ValueError if the parameters are incompatible.
  `get_parameter`(parameter_attrs)

    Return the parameters in this ParameterHandler that match the parameter_attrs argument

    Parameters
      parameter_attrs dict of {attr: value}

        The attrs mapped to desired values (for example {“smirks”: “[:1]~[#16:2]=,:[#6:3]~[:4]”, “id”: “t105”} )

    Returns
      list of ParameterType-derived objects

        A list of matching ParameterType-derived objects

  `known_kwargs`

    List of kwargs that can be parsed by the function.

  `parameters`

    The ParameterList that holds this ParameterHandler’s parameter objects

  `postprocess_system`(topology, system, **kwargs)

    Allow the force to perform a a final post-processing pass on the System following parameter assignment, if needed.

    Parameters
      topology openforcefield.topology.Topology

        The Topology for which parameters are to be assigned. Either a new Force will be created or parameters will be appended to an existing Force.

      system simtk.openmm.System

        The OpenMM System object to add the Force (or append new parameters) to.

  `to_dict`(output_units=None, return_cosmetic_attributes=False)

    Convert this ParameterHandler to an OrderedDict, compliant with the SMIRNOFF data spec.

    Parameters
      output_units dict[str

        A mapping from the ParameterType attribute name to the output unit its value should be converted to.

      return_cosmetic_attributes bool, optional. Default = False.

        Whether to return non-spec parameter and header attributes in this ParameterHandler.

    Returns
      smirnoff_data OrderedDict

        SMIRNOFF-spec compliant representation of this ParameterHandler and its internal ParameterList.