Stress¶
- class Stress(configuration, fix_strain=None)¶
Class for calculating the stress of a configuration.
- Parameters:
configuration (
BulkConfiguration
) – Configuration with a calculator that supports stress calculations.fix_strain (
FixStrain
| None) – Additional constraint parameter. Default: None
- evaluate()¶
- Returns:
The stress for the given configuration. The shape of the stress tensor is (3,3).
- Return type:
PhysicalQuantity with the unit
eV * Angstrom**-3
- metatext()¶
- Returns:
The metatext of the object or None if no metatext is present.
- Return type:
str | None
- nlprint(stream=None)¶
Print a string containing an ASCII table useful for plotting the AnalysisSpin object.
- Parameters:
stream (python stream) – The stream the table should be written to. Default:
NLPrintLogger()
- setMetatext(metatext)¶
Set a given metatext string on the object.
- Parameters:
metatext (str | None) – The metatext string that should be set. A value of “None” can be given to remove the current metatext.
- uniqueString()¶
Return a unique string representing the state of the object.
Usage Examples¶
Calculate and print the stress tensor of a compressed GaAs crystal:
# Set up configuration
bulk_configuration = BulkConfiguration(
bravais_lattice=FaceCenteredCubic(5.4*Angstrom),
elements=[Gallium, Arsenic],
cartesian_coordinates=[[ 0. , 0. , 0. ],
[ 1.413425, 1.413425, 1.413425]]*Angstrom
)
calculator = LCAOCalculator(
numerical_accuracy_parameters=NumericalAccuracyParameters(
k_point_sampling=(4, 4, 4))
)
bulk_configuration.setCalculator(calculator)
#calculate the stress
stress = Stress(bulk_configuration)
nlprint(stress)
Notes¶
Stress is given by the derivative of the total energy, \(E\), with respect to a strain \(\epsilon_{\alpha \beta}\),
In this equation, \(V\), is the volume of the system and the strain tensor displaces positions by
Stress has unit energy per volume element, i.e. eV/Å 3.