Target periodic system

In this section, you can set up the system with spatially periodic boundary condition subject to calculation. This setting is exclusive to the target molecule setting. For periodic systems, the density-fitting approximation is always valid.

Geometry

You can specify a molecular structure to be calculated in either Cartesian coordinates or in Z-matrix notation. An error occurs if not specified.

Atoms

Enter a list of nuclei that make up the target system.

Coordinates

Specify a structure in a cell with a list of coordinates of the nuclei in the same order as in the list of nuclei atoms. The coordinates of the molecule should be specified in Å units.

Dimension

Specify the number of dimensions with periodicity. The default value is 3.

Translation Vector

Enter a list of translation vectors that characterize a periodic boundary condition with trans_vector key.

Grid of K-points

Enter a list of the number of k points for each axis of the reciprocal space with kpt_grid_shape key.

Basis set

You can set up basis functions, which are supported by PySCF. An error occurs if not specified.

Multiplicity

Value of the spin multiplicity \(2S+1\) of the target state. An error occurs if not specified or found to be inconsistent with the given number of electrons.

Number of excited states

Number of excited states subject to calculation (Default: 0)

Complete active space

You can specify a complete active space cas by setting number of orbitals and number of electrons in the active space.

  • active_orb: Number of orbitals in the active space.

  • active_ele: Number of electrons in the active space.

  • cas_list: Ordered list of orbtal indices (0-origin) in the active space. If no input is given, the active orbitals will be chosen from around HOMO, LUMO.

You can set different cas for different k with cas_for_each_k key. It must be given by the list of cas.

Scaled center

Shift the k-points to be centered on scaled_center, which is specified as the coefficients of the raciprocal lattice vector. For each element, the value must be a number between -1 and 1.

Cartesian basis functions

The basis functions used by PySCF can be specified in Cartesian coordinates for the d and f orbitals (6d, 10f), rather than the irreducible representation of \(S_z\) eigenstates (5d, 7f).

  • cart_basis: set to true to use Cartesian basis functions (Default: false)

Effective core potentials

The effective core potentials passed to PySCF can be specified as a list of dicts.

  • ecp: a list of dicts, each corresponding to one atom. For each atom set the atom field and the basis fields.

  • atom: atomic species, i.e. "Na", "Cu", etc.

  • basis: basis to represent it in, i.e. "crenbs", "lanl2dz", etc.

Atom specific basis

The basis set used by PySCF can be specified for each atom as a list of dicts (similar to effective core potentials). This field cannot be set if basis is set.

  • atom_specific_basis: a list of dicts, each corresponding to one atom. For each atom set the atom field and the basis fields.

  • atom: atomic species, i.e. "Na", "Cu", etc.

  • basis: basis to represent it in, i.e. "sto-3g", "6311++g**", etc.

Input example

"target_periodic_system": {
  "geometry": {
    "atoms": ["H", "H"],
    "coordinates": [
      [
        [0, 0, 0],
        [1.42, 0, 0]
      ]
    ],
    "dimension": 3,
    "trans_vector": [
      [2.13, -1.2297560733739028, 0],
      [2.13, 1.2297560733739028, 0],
      [0, 0, 5]
    ],
    "kpt_grid_shape": [2, 1, 1]
  },
  "basis": "sto-3g",
  "num_excited_states": 0,
  "cas": {
    "active_ele": 2,
    "active_orb": 2
  },
  "multiplicity": 1,
  "cart_basis": false
}