DynamicalMatrixParameters

class DynamicalMatrixParameters(calculator=None, repetitions=None, atomic_displacement=None, acoustic_sum_rule=None, finite_difference_method=None, constraints=None, constrain_electrodes=None, use_equivalent_bulk=None, max_interaction_range=None, force_tolerance=None, processes_per_displacement=None, log_filename_prefix=None, use_wigner_seitz_scheme=None, use_symmetry=None, polar_phonon_splitting_parameters=None, use_internal_coordinates=None, bond_list=None)
Parameters:
  • calculator (Calculators) – The calculator to be used in the dynamical matrix calculations.
    Default: The calculator attached to the configuration.

  • repetitions (Automatic | list of ints) – The number of repetitions of the system in the A, B, and C-directions given as a list of three positive integers, e.g. [3, 3, 3], or Automatic. Each repetition value must be odd.
    Default: Automatic

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

  • acoustic_sum_rule (bool) – Control if the acoustic sum rule should be invoked.
    Default: True

  • finite_difference_method (Forward | Central) – The finite difference scheme to use.
    Default: Central

  • constraints (list of type int) – List of atomic indices that will be constrained, e.g. [0, 2, 10].
    Default: None

  • constrain_electrodes (bool) – Control if the electrodes and electrode extensions should be constrained in case of a DeviceConfiguration.
    Default: False

  • use_equivalent_bulk (bool) – Control if a DeviceConfiguration should be treated as a BulkConfiguration.
    Default: True

  • max_interaction_range (PhysicalQuantity of type length) – Set the maximum range of the interactions.
    Default: All atoms are included

  • force_tolerance (PhysicalQuantity of type energy per length squared) – All force constants below this value will be truncated to zero.
    Default: 1e-8 * Hartree/Bohr**2

  • processes_per_displacement (int | ProcessesPerNode) – The number of processes assigned to calculating a single displacement.
    Default: 1 for force-field calculators, ProcessesPerNode otherwise.

  • log_filename_prefix (str or None) – Prefix for the filenames where the logging output for every displacement calculation is stored. The filenames are formed by appending a number and the file extension (“.log”). If a value of None is given then all logging output is done to stdout. If a classical calculator is used, no per-displacment log files will be generated.
    Default: "forces_displacement_"

  • use_wigner_seitz_scheme (bool) – Control if the real space Dynamical Matrix should be extended according to the Wigner Seitz construction. use_wigner_seitz_scheme=True.
    Default: False for ForceField calculator, True otherwise.

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

  • polar_phonon_splitting_parameters (PolarPhononSplittingParameters | None) – If given polar phonon splitting will be included in the dynamical matrix. An optical_spectrum and born_effective_charge tasks will be added to the work flow.
    Default: None, i.e. polar phonon splitting is not included.

  • use_internal_coordinates (bool) – Control if the eigensystem should be solved in internal coordinates for a MoleculeConfiguration
    Default: False

  • bond_list (list of list of type int) – List of og sublists with bonding atomic indices that will be used to generate internal coordinates, e.g. [[0, 1], [0, 2]].
    Default: None

acousticSumRule()
Returns:

Control if the acoustic sum rule should be invoked.

Return type:

bool

atomicDisplacement()
Returns:

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

Return type:

PhysicalQuantity of type length

bondList()
Returns:

List of og sublists with bonding atomic indices that will be used to generate internal coordinates, e.g. [[0, 1], [0, 2]].

Return type:

list of list of type int

calculator()
Returns:

The calculator to use for the dynamical matrix. If None the configuration calculator is used.

Return type:

Calculator

constrainElectrodes()
Returns:

Control if the electrodes and electrode extensions should be constrained in case of a DeviceConfiguration.

Return type:

bool

constraints()
Returns:

List of atomic indices that will be constrained, e.g. [0, 2, 10].

Return type:

list of type int

finiteDifferenceMethod()
Returns:

The finite difference scheme to use.

Return type:

Forward | Central

forceTolerance()
Returns:

All force constants below this value will be truncated to zero.

Return type:

PhysicalQuantity of type energy per length squared

logFilenamePrefix()
Returns:

Prefix for the filenames where the logging output for every displacement calculation is stored. The filenames are formed by appending a number and the file extension (“.log”). If a value of None is given then all logging output is done to stdout. If a classical calculator is used, no per-displacment log files will be generated.

Return type:

str or None

maxInteractionRange()
Returns:

Set the maximum range of the interactions.

Return type:

PhysicalQuantity of type length

nlinfo()
Returns:

The nlinfo.

Return type:

dict

polarPhononSplittingParameters()
Returns:

If given polar phonon splitting will be included in the dynamical matrix. An optical_spectrum and born_effective_charge tasks will be added to the work flow.

Return type:

None, i.e. polar phonon splitting is not included.

processesPerDisplacement()
Returns:

The number of processes assigned to calculating a single displacement.

Return type:

1 for force-field calculators, ProcessesPerNode otherwise.

repetitions()
Returns:

The number of repetitions of the system in the A, B, and C-directions given as a list of three positive integers, e.g. [3, 3, 3], or Automatic. Each repetition value must be odd.

Return type:

Automatic | list of ints

setAcousticSumRule(acoustic_sum_rule)
Parameters:

acoustic_sum_rule (bool) – Control if the acoustic sum rule should be invoked.

setAtomicDisplacement(atomic_displacement)
Parameters:

atomic_displacement (PhysicalQuantity of type length) – The distance the atoms are displaced in the finite difference method.

setBondList(bond_list)
Parameters:

bond_list (list of list of type int) – List of og sublists with bonding atomic indices that will be used to generate internal coordinates, e.g. [[0, 1], [0, 2]].
Default: None

setCalculator(calculator)
Parameters:

calculator (Calculators) – The calculator to be used in the dynamical matrix calculations.

setConstrainElectrodes(constrain_electrodes)
Parameters:

constrain_electrodes (bool) – Control if the electrodes and electrode extensions should be constrained in case of a DeviceConfiguration.

setConstraints(constraints)
Parameters:

constraints (list of type int) – List of atomic indices that will be constrained, e.g. [0, 2, 10].

setFiniteDifferenceMethod(finite_difference_method)
Parameters:

finite_difference_method (Forward | Central) – The finite difference scheme to use.

setForceTolerance(force_tolerance)
Parameters:

force_tolerance (PhysicalQuantity of type energy per length squared) – All force constants below this value will be truncated to zero.

setLogFilenamePrefix(log_filename_prefix)
Parameters:

log_filename_prefix (str or None) – Prefix for the filenames where the logging output for every displacement calculation is stored. The filenames are formed by appending a number and the file extension (“.log”). If a value of None is given then all logging output is done to stdout. If a classical calculator is used, no per-displacment log files will be generated.

setMaxInteractionRange(max_interaction_range)
Parameters:

max_interaction_range (PhysicalQuantity of type length) – Set the maximum range of the interactions.

setPolarPhononSplittingParameters(polar_phonon_splitting_parameters)
Parameters:

polar_phonon_splitting_parameters (PolarPhononSplittingParameters | None) – If given polar phonon splitting will be included in the dynamical matrix. An optical_spectrum and born_effective_charge tasks will be added to the work flow.

setProcessesPerDisplacement(processes_per_displacement)
Parameters:

processes_per_displacement (int | AllProcesses | ProcessesPerNode) – The number of processes assigned to calculating a single displacement.

setRepetitions(repetitions)
Parameters:

repetitions (Automatic | list of ints) – The number of repetitions of the system in the A, B, and C-directions given as a list of three positive integers, e.g. [3, 3, 3], or Automatic. Each repetition value must be odd.

setUseEquivalentBulk(use_equivalent_bulk)
Parameters:

use_equivalent_bulk (bool) – Control if a DeviceConfiguration should be treated as a BulkConfiguration.

setUseInternalCoordinates(use_internal_coordinates)
Parameters:

use_internal_coordinates (bool) – Control if the eigensystem should be solved in internal coordinates for a MoleculeConfiguration

setUseSymmetry(use_symmetry)
Parameters:

use_symmetry (bool) – If enabled, only the symmetrically unique atoms are displaced and the remaining force constants are calculated using symmetry.

setUseWignerSeitzScheme(use_wigner_seitz_scheme)
Parameters:

use_wigner_seitz_scheme (bool) – Control if the real space Dynamical Matrix should be extended according to the Wigner Seitz construction. use_wigner_seitz_scheme=True.

uniqueString()

Return a unique string representing the state of the object.

useEquivalentBulk()
Returns:

Control if a DeviceConfiguration should be treated as a BulkConfiguration.

Return type:

bool

useInternalCoordinates()
Returns:

Control if the eigensystem should be solved in internal coordinates for a MoleculeConfiguration

Return type:

False

useSymmetry()
Returns:

If enabled, only the symmetrically unique atoms are displaced and the remaining force constants are calculated using symmetry.

Return type:

bool

useWignerSeitzScheme()
Returns:

Control if the real space Dynamical Matrix should be extended according to the Wigner Seitz construction. use_wigner_seitz_scheme=True.

Return type:

bool