.. _SQMINFormat:

sqm/in format
=============

Aliases
-------

``sqm/in``

Implementation: :class:`SQMINFormat <dpdata.plugins.amber.SQMINFormat>`

Overview
--------


AmberTools SQM input for semiempirical calculations.

`AmberTools <https://ambermd.org/AmberTools.php>`_ provides the SQM
module for semiempirical QM calculations.

This write-only format serializes one nonperiodic System frame with its
charge, multiplicity, semiempirical method, and minimization-cycle limit.
Setting ``maxcyc=0`` requests a single-point calculation; positive values
request geometry minimization.
















Quick examples
--------------

The examples use the preferred alias ``sqm/in``; any alias listed above is equivalent.

.. code-block:: python

   import dpdata
   
   # Load or construct the system to write
   system = dpdata.System("input_file")
   
   # Write geometry-only data
   system.to("sqm/in", "output_path")

Conversions
-----------

.. _SQMINFormat_to_system:

Convert from System to this format
``````````````````````````````````

.. py:function:: dpdata.System.to(fmt: Literal['sqm/in'], fname=None, frame_idx=0, **kwargs)
   :noindex:
.. py:function:: dpdata.System.to_sqm_in(fname=None, frame_idx=0, **kwargs)
   :noindex:

   
Generate input files for semi-emperical calculation in sqm software.


:Parameters:

    **fname** : str
        output file name

    **frame_idx** : int, default=0
        index of frame to write

    **\*\*kwargs** : dict
        other parameters






:Other Parameters:

    **\*\*kwargs** : dict
        valid parameters are:
            qm_theory : str, default=dftb3
                level of theory. Options includes AM1, RM1, MNDO, PM3-PDDG, MNDO-PDDG,
                PM3-CARB1, MNDO/d, AM1/d, PM6, DFTB2, DFTB3
            charge : int, default=0
                total charge in electron units
            maxcyc : int, default=0
                maximum number of minimization cycles to allow. 0 represents a
                single-point calculation
            mult : int, default=1
                multiplicity. Only 1 is allowed.












.. _SQMINFormat_to_labeled_system:

Convert from LabeledSystem to this format
`````````````````````````````````````````

.. py:function:: dpdata.LabeledSystem.to(fmt: Literal['sqm/in'], fname=None, frame_idx=0, **kwargs)
   :noindex:
.. py:function:: dpdata.LabeledSystem.to_sqm_in(fname=None, frame_idx=0, **kwargs)
   :noindex:

   
Generate input files for semi-emperical calculation in sqm software.


:Parameters:

    **fname** : str
        output file name

    **frame_idx** : int, default=0
        index of frame to write

    **\*\*kwargs** : dict
        other parameters






:Other Parameters:

    **\*\*kwargs** : dict
        valid parameters are:
            qm_theory : str, default=dftb3
                level of theory. Options includes AM1, RM1, MNDO, PM3-PDDG, MNDO-PDDG,
                PM3-CARB1, MNDO/d, AM1/d, PM6, DFTB2, DFTB3
            charge : int, default=0
                total charge in electron units
            maxcyc : int, default=0
                maximum number of minimization cycles to allow. 0 represents a
                single-point calculation
            mult : int, default=1
                multiplicity. Only 1 is allowed.










