
qmmm
****
Executes qmmm calculations for individual molecules and clusters
The following table contains the defaults input options for the calculator, The default `OPTIONAL` means this option is switched off, if no input is given. 
`REQUIRED` arguments have to be specified, otherwise an error is thrown.

.. list-table::
   :header-rows: 1
   :widths: 30 20 15 15
   :align: center

   * - Property Name
     - Default Value
     - Description
     - Valid Input
   * - print_regions_pdb
     - true
     - print the geometry of the regions to a pdb file
     - bool
   * - max_iterations
     - 100
     - max iterations for qmmm scf loop
     - int+
   * - map_file
     - votca_map.xml
     - xml file with segment definition
     - 
   * - job_file
     - qmmm_jobs.xml
     - name of jobfile to which jobs are written
     - 
   * - io_jobfile.states
     - n e h
     - states to write jobs for and which to parse from jobfile
     - 
   * - io_jobfile.segments
     - all
     - segments to write jobs for and which to parse from jobfile
     - 
   * - io_jobfile.use_gs_for_ex
     - false
     - If true uses the ground state geometry for excited states
     - 
   * - regions.qmregion.state
     - n
     - initial state to track or ground state for dftcalculations
     - 
   * - regions.qmregion.gwbse.tasks
     - all
     - tasks to do
     - | [gw
       | singlets
       | triplets
       | all]
   * - regions.qmregion.gwbse.ranges
     - default
     - | default: all levels in RPA, 1:2*HOMO in QP and all in
       | BSE; other options: factor,explicit
     - | default
       | factor
       | explicit
       | full
   * - regions.qmregion.gwbse.rpamax
     - 
     - | only needed, if ranges is factor or explicit, number of
       | levels in rpa
     - 
   * - regions.qmregion.gwbse.qpmin
     - 
     - | only needed, if ranges is factor or explicit, lowest MO
       | to be used in GW
     - 
   * - regions.qmregion.gwbse.qpmax
     - 
     - | only needed, if ranges is factor or explicit, highest
       | MO to be used in GW
     - 
   * - regions.qmregion.gwbse.bsemin
     - 
     - | only needed, if ranges is factor or explicit, lowest MO
       | to be used in BSE
     - 
   * - regions.qmregion.gwbse.bsemax
     - 
     - | only needed, if ranges is factor or explicit, highest
       | MO to be used in BSE
     - 
   * - regions.qmregion.gwbse.ignore_corelevels
     - none
     - | exclude core MO level from calculation on RPA,GW or BSE
       | level
     - | RPA
       | GW
       | BSE
       | none
   * - regions.qmregion.gwbse.auxbasisset
     - OPTIONAL
     - | Auxiliary basis set for RI, only used if DFT has no auxiliary
       | set
     - 
   * - regions.qmregion.gwbse.gw.mode
     - evGW
     - use single short (G0W0) or self-consistent GW (evGW)
     - | evGW
       | G0W0
   * - regions.qmregion.gwbse.gw.scissor_shift
     - 0.0
     - preshift unoccupied MOs by a constant for GW calculation
     - float
   * - regions.qmregion.gwbse.gw.sigma_integrator
     - ppm
     - self-energy correlation integration method
     - | ppm
       |  exact
       |  cda
   * - regions.qmregion.gwbse.gw.eta
     - 1e-3
     - small parameter eta of the Green's function
     - float+
   * - regions.qmregion.gwbse.gw.alpha
     - 1e-3
     - | parameter to smooth residue and integral calculation for
       | the contour deformation technique
     - float
   * - regions.qmregion.gwbse.gw.quadrature_scheme
     - legendre
     - | If CDA is used for sigma integration this set the quadrature
       | scheme to use
     - | hermite
       | laguerre
       | legendre
   * - regions.qmregion.gwbse.gw.quadrature_order
     - 12
     - Quadrature order if CDA is used for sigma integration
     - | 8
       | 10
       | 12
       | 14
       | 16
       | 18
       | 20
       | 40
       | 100
   * - regions.qmregion.gwbse.gw.qp_solver
     - grid
     - QP equation solve method
     - | fixedpoint
       | grid
   * - regions.qmregion.gwbse.gw.qp_grid_steps
     - 1001
     - number of QP grid points
     - int+
   * - regions.qmregion.gwbse.gw.qp_grid_spacing
     - 0.001
     - spacing of QP grid points
     - float+
   * - regions.qmregion.gwbse.gw.qp_sc_max_iter
     - 100
     - | maximum number of iterations for quasiparticle equation
       | solution
     - int+
   * - regions.qmregion.gwbse.gw.qp_sc_limit
     - 1e-5
     - quasiparticle equation solver convergence
     - float+
   * - regions.qmregion.gwbse.gw.sc_max_iter
     - 50
     - Maximum number of iterations in eVGW
     - int+
   * - regions.qmregion.gwbse.gw.mixing_order
     - 20
     - | Mixing of QP energies in evGW - 0: plain, 1: linear, >1:
       | Anderson
     - int+
   * - regions.qmregion.gwbse.gw.sc_limit
     - 1e-5
     - evGW convergence criteria
     - float+
   * - regions.qmregion.gwbse.gw.mixing_alpha
     - 0.7
     - mixing alpha, also linear mixing
     - float+
   * - regions.qmregion.gwbse.gw.rebuild_3c_freq
     - 5
     - how often the 3c integrals in iterate should be rebuilt
     - int+
   * - regions.qmregion.gwbse.gw.sigma_plot.states
     - 
     - plot sigma(omega) for the following states, e.g 1 3 5
     - 
   * - regions.qmregion.gwbse.gw.sigma_plot.steps
     - 201
     - points to plot
     - int+
   * - regions.qmregion.gwbse.gw.sigma_plot.spacing
     - 1e-2
     - spacing of points units
     - float+
   * - regions.qmregion.gwbse.gw.sigma_plot.filename
     - QPenergies_sigma.dat
     - 
     - 
   * - regions.qmregion.gwbse.bse.exctotal
     - 10
     - maximum number of BSE states to calculate
     - int+
   * - regions.qmregion.gwbse.bse.useTDA
     - false
     - use TDA for BSE
     - bool
   * - regions.qmregion.gwbse.bse.dyn_screen_max_iter
     - 0
     - | maximum number of iterations for perturbative dynamical
       | screening in BSE
     - int+
   * - regions.qmregion.gwbse.bse.dyn_screen_tol
     - 1e-5
     - | convergence tolerance for perturbative dynamical screening
       | in BSE
     - float+
   * - regions.qmregion.gwbse.bse.davidson.correction
     - DPR
     - Davidson correction method
     - | DPR
       | OLSEN
   * - regions.qmregion.gwbse.bse.davidson.tolerance
     - normal
     - Numerical tolerance
     - | loose
       | normal
       | strict
       | lapack
   * - regions.qmregion.gwbse.bse.davidson.update
     - safe
     -  how large the search space
     - | min
       | safe
       | max
   * - regions.qmregion.gwbse.bse.davidson.maxiter
     - 50
     - max iterations
     - int+
   * - regions.qmregion.gwbse.bse.use_Hqp_offdiag
     - false
     - | Using symmetrized off-diagonal elements of QP Hamiltonian
       | in BSE
     - bool
   * - regions.qmregion.gwbse.bse.print_weight
     - 0.5
     - print exciton WF composition weight larger than minimum
     - float+
   * - regions.qmregion.gwbse.bse.fragments.fragment.indices
     - REQUIRED
     - indices of atoms in this fragment, e.g. 1 3 13:17
     - 
   * - regions.qmregion.dftpackage.name
     - xtp
     - Name of the DFT package
     - | xtp
       | orca
   * - regions.qmregion.dftpackage.charge
     - 0
     - Molecular charge
     - int
   * - regions.qmregion.dftpackage.spin
     - 1
     - Molecular multiplicity
     - int+
   * - regions.qmregion.dftpackage.basisset
     - def2-tzvp
     - Basis set for MOs
     - 
   * - regions.qmregion.dftpackage.auxbasisset
     - OPTIONAL
     - Auxiliary basis set for RI
     - 
   * - regions.qmregion.dftpackage.externalfield
     - OPTIONAL
     - Field given in x y z components
     - 
   * - regions.qmregion.dftpackage.executable
     - OPTIONAL
     - Path to executable for dftpackage
     - 
   * - regions.qmregion.dftpackage.ecp
     - OPTIONAL
     - Effective Core Potentials for DFT Calculations
     - 
   * - regions.qmregion.dftpackage.optimize
     - false
     - Perform a molecular geometry optimization
     - bool
   * - regions.qmregion.dftpackage.functional
     - XC_HYB_GGA_XC_PBEH
     - | Exchange correlation functional used. You can also specify
       | an exchange and a correlation functional
     - 
   * - regions.qmregion.dftpackage.scratch
     - /tmp/qmpackage
     - path to the scratch folder
     - 
   * - regions.qmregion.dftpackage.polarization
     - false
     - Calculate polarisation
     - bool
   * - regions.qmregion.dftpackage.dipole_spacing
     - 0.1
     - Spacing for splitting multipoles into charges
     - float+
   * - regions.qmregion.dftpackage.temporary_file
     - temp
     - Filename for temporary files without extension
     - 
   * - regions.qmregion.dftpackage.convergence_tightness
     - tight
     - How accurate the dft self-consistency has to be
     - | low
       | normal
       | tight
       | verytight
   * - regions.qmregion.dftpackage.cleanup
     - 
     - | files to remove after the calculation. Specify the fileextensions
       | 
     - 
   * - regions.qmregion.dftpackage.initial_guess
     - atom
     - | Method to use to make initial guess, independent(electrons)
       | or atom(densities) or previous calculation keyword orbfile
     - | independent
       | atom
       | orbfile
   * - regions.qmregion.dftpackage.orca
     - 
     - | orca specific keywords can be added here, where the xml
       | tag corresponds to the option and the value to the option's
       | value
     - 
   * - regions.qmregion.dftpackage.xtpdft.dft_in_dft.activeatoms
     - 
     - Indices of atoms in active region
     - 
   * - regions.qmregion.dftpackage.xtpdft.dft_in_dft.threshold
     - 0.4
     - | Mulliken population above which orbital is considered
       | in the active region
     - 
   * - regions.qmregion.dftpackage.xtpdft.dft_in_dft.levelshift
     - 10000.0
     - Levelshift energy for the projection operator
     - 
   * - regions.qmregion.dftpackage.xtpdft.dft_in_dft.truncate_basis
     - false
     - Truncate the basis-set to active atoms only
     - bool
   * - regions.qmregion.dftpackage.xtpdft.dft_in_dft.truncation_threshold
     - 1e-4
     - Threshold to convert an inactive atom to a border atom
     - float+
   * - regions.qmregion.dftpackage.xtpdft.screening_eps
     - 1e-9
     - screening eps
     - float+
   * - regions.qmregion.dftpackage.xtpdft.fock_matrix_reset
     - 5
     - how often the fock matrix is reset
     - int+
   * - regions.qmregion.dftpackage.xtpdft.integration_grid
     - medium
     - vxc grid quality
     - | xcoarse
       | coarse
       | medium
       | fine
       | xfine
   * - regions.qmregion.dftpackage.xtpdft.convergence.energy
     - 1E-7
     - DeltaE at which calculation is converged
     - float+
   * - regions.qmregion.dftpackage.xtpdft.convergence.method
     - DIIS
     - Main method to use for convergence accelertation
     - | DIIS
       | mixing
   * - regions.qmregion.dftpackage.xtpdft.convergence.DIIS_start
     - 0.002
     - DIIS error at which DIIS takes over
     - float+
   * - regions.qmregion.dftpackage.xtpdft.convergence.ADIIS_start
     - 0.8
     - DIIS error at which ADIIS takes over
     - float+
   * - regions.qmregion.dftpackage.xtpdft.convergence.DIIS_length
     - 20
     - old hamiltonians to keep in history
     - int+
   * - regions.qmregion.dftpackage.xtpdft.convergence.DIIS_maxout
     - false
     - | if true remove the maximum element in the history if DIIS_length
       | is exceeded.Otherwise, the oldest element is removed.
     - bool
   * - regions.qmregion.dftpackage.xtpdft.convergence.levelshift
     - 0.0
     - levelshift to apply to hamiltonian 
     - float+
   * - regions.qmregion.dftpackage.xtpdft.convergence.levelshift_end
     - 0.2
     - DIIS error at levelshifting is disabled
     - float+
   * - regions.qmregion.dftpackage.xtpdft.convergence.max_iterations
     - 100
     - max iterations to use
     - int+
   * - regions.qmregion.dftpackage.xtpdft.convergence.error
     - 1e-7
     - convergence error
     - float+
   * - regions.qmregion.dftpackage.xtpdft.convergence.mixing
     - 0.7
     - mixing parameter for linear mixing of density matrices
     - float+
   * - regions.qmregion.localize.max_iterations
     - 10000
     - Maximum number of iterations for PM Localization
     - int+
   * - regions.qmregion.localize.convergence_limit
     - 1e-5
     - Convergence criteria for PM localization
     - 
   * - regions.qmregion.localize.method
     - unitary-optimizer
     - Method for the localization optimization
     - | [jacobi-sweeps
       | unitary-optimizer]
   * - regions.qmregion.statetracker.oscillatorstrength
     - OPTIONAL
     - picks first state above a threshold
     - float+
   * - regions.qmregion.statetracker.localisation.fragment
     - REQUIRED
     - | Fragment definiton using atomids, can be a combination
       | of ids and ranges of ids e.g. 1:5
     - 
   * - regions.qmregion.statetracker.localisation.threshold
     - 0.1
     - Threshold above which a state is considered localized
     - 
   * - regions.qmregion.statetracker.chargetransfer.fragment
     - REQUIRED
     - | Fragment definiton using atomids, can be a combination
       | of ids and ranges of ids e.g. 1:5
     - 
   * - regions.qmregion.statetracker.chargetransfer.threshold
     - 0.8
     - Threshold above which a state is considered a CT state
     - 
   * - regions.qmregion.statetracker.density
     - OPTIONAL
     - | Tracks state by comparing the density to an earlier state,
       | you have to specify a minimum threshold, which can be
       | zero
     - float+
   * - regions.qmregion.statetracker.overlap
     - OPTIONAL
     - | Tracks state by calculating the overlap with an earlier
       | state, you have to specify a minimum threshold, which
       | can be zero
     - float+
   * - regions.qmregion.grid_for_potential
     - medium
     - Grid to integrate influence of qm density om other regions
     - | xcoarse
       | coarse
       | medium
       | fine
       | xfine
   * - regions.qmregion.extgrid
     - medium
     - | grid on which the interaction with classical regions is
       | compute
     - | xcoarse
       | coarse
       | medium
       | fine
       | xfine
   * - regions.qmregion.tolerance_energy
     - 5e-5
     - | if energy difference for this region is below this value
       | it is considered converged
     - float+
   * - regions.qmregion.tolerance_density
     - 5e-5
     - | if RMS difference of density matrix is below this value
       | it is considered converged
     - float+
   * - regions.qmregion.tolerance_density_max
     - 5e-5
     - | if Max difference of density matrix is below this value
       | it is considered converged
     - float+
   * - regions.qmregion.id
     - REQUIRED
     - | id of the region, first region has to have id 0, ids must
       | be consecutive
     - int
   * - regions.qmregion.segments
     - OPTIONAL
     - | List of segments to include in the region separated by
       | a whitespace. Each segment is defined by an index and
       | a qmstate or a filename for the coordinates. e.g 1:s3
       | or 0:ORFILES/methane.xyz
     - 
   * - regions.qmregion.cutoff.radius
     - REQUIRED
     - radius
     - float+
   * - regions.qmregion.cutoff.geometry
     - n
     - | geometry that should be used for mapping all the segments
       | in the radius
     - 
   * - regions.qmregion.cutoff.region
     - REQUIRED
     - | Id of the region the cutoff should refer to, can be the
       | same as this region's id, if segments are specified
     - int+
   * - regions.qmregion.cutoff.explicit_segs
     - false
     - | specifies if cutoff with respect to other region should
       | be only towards segments specified explicitly using the
       | `segments` tag
     - bool
   * - regions.polarregion.id
     - REQUIRED
     - | id of the region, first region has to have id 0, ids must
       | be consecutive
     - int
   * - regions.polarregion.segments
     - OPTIONAL
     - | List of segments to include in the region separated by
       | a whitespace. Each segment is defined by an index and
       | a qmstate or a filename for the coordinates. e.g 1:s3
       | or 0:ORFILES/methane.xyz
     - 
   * - regions.polarregion.cutoff.radius
     - REQUIRED
     - radius
     - float+
   * - regions.polarregion.cutoff.geometry
     - n
     - | geometry that should be used for mapping all the segments
       | in the radius
     - 
   * - regions.polarregion.cutoff.region
     - REQUIRED
     - | Id of the region the cutoff should refer to, can be the
       | same as this region's id, if segments are specified
     - int+
   * - regions.polarregion.cutoff.explicit_segs
     - false
     - | specifies if cutoff with respect to other region should
       | be only towards segments specified explicitly using the
       | `segments` tag
     - bool
   * - regions.polarregion.tolerance_energy
     - 5e-5
     - | if energy difference for this region is below this value
       | it is considered converged
     - float+
   * - regions.polarregion.tolerance_dipole
     - 5e-5
     - | convergence for interior iterations to converge polarisation
       | response, solving linear syste,
     - float+
   * - regions.polarregion.max_iter
     - 500
     - Maximum number of iterations for interior iteration
     - 
   * - regions.polarregion.exp_damp
     - 0.39
     - Thole sharpness parameter
     - 
   * - regions.staticregion.id
     - REQUIRED
     - | id of the region, first region has to have id 0, ids must
       | be consecutive
     - int
   * - regions.staticregion.segments
     - OPTIONAL
     - | List of segments to include in the region separated by
       | a whitespace. Each segment is defined by an index and
       | a qmstate or a filename for the coordinates. e.g 1:s3
       | or 0:ORFILES/methane.xyz
     - 
   * - regions.staticregion.cutoff.radius
     - REQUIRED
     - radius
     - float+
   * - regions.staticregion.cutoff.geometry
     - n
     - | geometry that should be used for mapping all the segments
       | in the radius
     - 
   * - regions.staticregion.cutoff.region
     - REQUIRED
     - | Id of the region the cutoff should refer to, can be the
       | same as this region's id, if segments are specified
     - int+
   * - regions.staticregion.cutoff.explicit_segs
     - false
     - | specifies if cutoff with respect to other region should
       | be only towards segments specified explicitly using the
       | `segments` tag
     - bool
.. note::
   An *xml* file containing the defaults for the `qmmm` calculator can be created via `-p qmmm -o FILENAME` command line options `
