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]
, orAutomatic
. 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: Noneconstrain_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 aBulkConfiguration
. 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:
- 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]
, orAutomatic
. 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]
, orAutomatic
. Each repetition value must be odd.
- setUseEquivalentBulk(use_equivalent_bulk)¶
- Parameters:
use_equivalent_bulk (bool) – Control if a
DeviceConfiguration
should be treated as aBulkConfiguration
.
- 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 aBulkConfiguration
.- 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