Cubic Elastic Constants¶
CubicElasticConstantsAnalyzer
¶
CubicElasticConstantsAnalyzer(
eos_name: Literal[
"murnaghan",
"birch",
"birch_murnaghan",
"pourier_tarantola",
"vinet",
"deltafactor",
"numerical_eos",
] = "birch_murnaghan",
delta_max: float = 0.05,
step_size: float = 0.01,
calculator: BaseCalculator | None = None,
cubic_transformation: CubicElasticConstantsDeformationTransformation
| None = None,
)
A class used to calculate cubic elastic constants for a given structure.
Computes the elastic constants (C11, C12, C44) for a cubic crystal structure from deformation and energy-volume data, along with derived mechanical properties such as bulk modulus, shear modulus, Young's modulus, and Poisson's ratio.
Initializes the CubicElasticConstantsAnalyzer object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
eos_name
|
str
|
The name of the equation of state (EOS) used for fitting energy-volume data. Defaults to "birch_murnaghan". |
'birch_murnaghan'
|
delta_max
|
float
|
The maximum deformation magnitude. Defaults to 0.05. |
0.05
|
step_size
|
float
|
The step size for deformations. Defaults to 0.01. |
0.01
|
calculator
|
BaseCalculator | None
|
The calculator object used for energy calculations. |
None
|
cubic_transformation
|
CubicElasticConstantsDeformationTransformation | None
|
The transformation object used to apply cubic distortions. |
None
|
calculate
¶
Calculates the cubic elastic constants for a given structure.
Applies cubic distortions to the input structure, computes the potential energies of the deformed structures, and derives the elastic constants (C11, C12, C44) and additional mechanical properties from the resulting energy differences.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
structure
|
Structure | Atoms
|
The input structure. |
required |
is_relaxed
|
bool
|
Whether the structure is already relaxed. Defaults to False. |
False
|
Returns:
| Type | Description |
|---|---|
dict[str, float]
|
dict[str, float]: Dictionary with keys:
- |
Raises:
| Type | Description |
|---|---|
ValueError
|
If the calculator object does not have the 'energy' property implemented. |
cubic_transformation
¶
Returns the cubic transformation object used to generate deformed structures.
Returns:
| Name | Type | Description |
|---|---|---|
CubicElasticConstantsDeformationTransformation |
CubicElasticConstantsDeformationTransformation
|
The transformation object used for cubic distortions. |