BornEffectiveChargeParameters

class BornEffectiveChargeParameters(kpoints_a=None, kpoints_b=None, kpoints_c=None, atomic_displacement=None, use_symmetry=None, non_selfconsistent_update=None, polarization_cartesian_directions=None, atom_indices=None, processes_per_displacement=None)

Class for parameters used to evaluate BornEffectiveCharge analysis.

Parameters:
  • kpoints_a (sequence (size 3) of int | MonkhorstPackGrid | KpointDensity) – The k-point sampling to use for integrating along the first direction.
    Default: MonkhorstPackGrid(n_aa, n_ab, n_ac), where n_aa, n_ab, and n_ac are determined from the sampling (na, nb, nc) used for the self consistent calculation as follows: n_aa = 2 * na + 1, n_ab = nb, n_ac = nc.

  • kpoints_b (sequence (size 3) of int | MonkhorstPackGrid | KpointDensity) – The k-point sampling to use for integrating along the second direction.
    Default: MonkhorstPackGrid(n_ba, n_bb, n_bc), where n_ba, n_bb, and n_bc are determined from the sampling (na, nb, nc) used for the self consistent calculation as follows: n_ba = na, n_bb = 2 * nb + 1, n_bc = nc.

  • kpoints_c (sequence (size 3) of int | MonkhorstPackGrid | KpointDensity) – The k-point sampling to use for integrating along the third direction.
    Default: MonkhorstPackGrid(n_ca, n_cb, n_cc), where n_ca, n_cb, and n_cc are determined from the sampling (na, nb, nc) used for the self consistent calculation as follows: n_ca = na, n_cb = nb, n_cc = 2 * nc + 1.

  • atomic_displacement (PhysicalQuantity of type length) – The distance the atoms are displaced in the finite difference method.
    Default: 0.01*Angstrom

  • use_symmetry (bool) – If enabled, only the symmetrically unique atoms are displaced and the remaining born effective charges are calculated using symmetry.
    Default: True

  • non_selfconsistent_update (bool) – If True, the displaced configurations are updated non-self-consistently. This leads to a computational speed-up, but the results should be carefully checked against self-consistent calculations.
    Default: False

  • polarization_cartesian_directions (List of list of CartesianDirection.{X,Y,Z}) – Restrict the evaluation of the Polarization to specific cartesian directions. For example, if [CartesianDirection.X] is specified, only the xx, xy, xz components of the born effective charge tensor are calculated. This option can be used to speed up the calculation if only such components are required.
    Default: [CartesianDirection.X, CartesianDirection.Y, CartesianDirection.Z]

  • processes_per_displacement (Automatic | int) – The number of processes to use per atomic displacement. When set to Automatic the number will be determined automatically maximizing the number of displacements calculated in parallel and minimizing the number of idle processes. One may set this number manually in order to reduce the memory requirements for each process.
    Default: Automatic

asDict()
Returns:

The input parameters as keyword, value dictionary.

Return type:

dict

atomIndices()
Returns:

The atom indices.

Return type:

list of int | All

atomicDisplacement()
Returns:

The distance the atoms are displaced in the finite difference method.

Return type:

PhysicalQuantity of type length

kpointsA()
Returns:

The k-point sampling used for integrating along the first direction.

Return type:

MonkhorstPackGrid

kpointsB()
Returns:

The k-point sampling used for integrating along the second direction.

Return type:

MonkhorstPackGrid

kpointsC()
Returns:

The k-point sampling used for integrating along the third direction.

Return type:

MonkhorstPackGrid

nlinfo()
Returns:

The nlinfo.

Return type:

dict

nonSelfconsistentUpdate()
Returns:

True if the displaced configurations are updated non-selfconsistently.

Return type:

bool

polarizationCartesianDirections()
Returns:

The Cartesian components for which the tensor is evaluated.

Return type:

List of list of CartesianDirection.{X,Y,Z}

processesPerDisplacement()
Returns:

The number of processes per displacement.

Return type:

Automatic | int

uniqueString()

Return a unique string representing the state of the object.

useSymmetry()
Returns:

True if the use of crystal symmetry to reduce the number of displacements is enabled.

Return type:

bool