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
}