The phonon contribution module
Longitudinal and off-diagonal phonon contribution
- class cij.core.phonon_contribution.nonshear.ElasticModulus
Bases:
object
- class cij.core.phonon_contribution.nonshear.LongitudinalElasticModulusPhononContribution(calculator, e)
Bases:
ElasticModulus
Represents the phonon part of the longitudinal thermal elastic modulus
- Parameters
calculator (cij.core.calculator.Calculator) –
e (
Tuple
[ndarray
,ndarray
]) – the “strain” corresponding to the subscript ( and e_j/Delta) for calculating strain-Gruneisen parameter from mode-Gruneisen parameter .
- property Q
Value of expression
- property Q1
Value of expression
where
- property Q2
Value of expression
where
- average_over_modes(amount)
- property freq_array: ndarray
- property isothermal_to_adiabatic
The difference between isothermal
and adiabatic thermal elastic modulus
- property mode_gamma
Values related to the strain-Grüneisen parameter
- property prefactors
- property q_weights: ndarray
The
-points multiplicities or weights
- property t_array: ndarray
- property thermal_contribution
The thermal contribution
to the vibrational part of the longitudinal elastic modulus ( ).
- property v_array: ndarray
- property value_adiabatic
The adiabatic elastic modulus
as a function of temperature and volume, valid only for longitudinal and off-diagonal elastic modulus ( )
- property value_isothermal
The phonon part of the elastic constant
as a function of temeprature and volume
- property zero_point_contribution
The zero-point motion contribution to the vibrational part of the longitudinal elastic modulus (
, ).
- class cij.core.phonon_contribution.nonshear.OffDiagonalElasticModulusPhononContribution(calculator, e)
Bases:
LongitudinalElasticModulusPhononContribution
- property mode_gamma
Values related to the strain-Grüneisen parameter
- property prefactors
- property thermal_contribution
The thermal contribution to the vibrational part of the longitudinal elastic modulus (
, , ).
- property value_isothermal
The phonon part of the elastic constant
as a function of temeprature and volume
- property zero_point_contribution
The zero-point motion contribution to the vibrational part of the longitudinal elastic modulus (
, , ).
- cij.core.phonon_contribution.nonshear.average_over_modes(amount, q_weights)
Calculate sum of physical quantity over
phonon modes and -points ( ) except for accoustic modes at Gamma point (first -point and first three modes).- Parameters
amount (
ndarray
) –q_weights (
ndarray
) – -point multiplicities
- Return type
ndarray
- Returns
Sum
- cij.core.phonon_contribution.nonshear.clear_gamma_point(mat)
Shear phonon contribution
- class cij.core.phonon_contribution.shear.ShearElasticModulusPhononContribution(strain, key, calculator=None)
Bases:
object
- property fictitious_strain
The fictitious strain
- property fictitious_strain_energy: ndarray
The strain energy for the fictitious strain under the original coordinate system except for the unknown
- property fictitious_strain_energy_rotated: ndarray
The strain energy for the fictitious strain under the rotated coordinate system
- property fictitious_strain_rotated
The fictitious strain in the rotated coordinate system
- get_elastic_modulus(key)
- Return type
ndarray
- get_elastic_modulus_rotated(key)
- Return type
ndarray
- get_modulus_keys()
- get_modulus_keys_rotated()
- get_target_elastic_modulus()
The elastic modulus need to be calculated from the difference in fictitious strain energy of the rotated coordinate system and the known terms in the original coordinate.
- Return type
ndarray
- property strain_rotated
- property transformation_matrix
The transformation matrix
- property value_adiabatic
- property value_isothermal
- cij.core.phonon_contribution.shear.calculate_fictitious_strain_energy(fictitious_strain, resolve_elastic_modulus, target=None)
Calculate the strain energy for under given coordinate system, ignore the unknown.
- Parameters
fictitious_strain (
ndarray
) – the fictitious strain where strain energy is calculatedresolve_elastic_modulus (
callable
) – the function used to get elastic modulustarget (
Optional
[ModulusRepresentation
]) – the key for the elastic modulus
- Return type
ndarray
- cij.core.phonon_contribution.shear.get_fictitious_strain_energy_keys(fictitious_strain, target=None)
- Return type
ndarray