pdos : np.array(n_projections, n_points)
pdos for each set of projected atoms and directions
"""
-
if p_atoms is None:
p_atoms = list(range(self.n_atoms))
diff --git a/_sources/docsource/api_forceconstants.rst.txt b/_sources/docsource/api_forceconstants.rst.txt
index e449c0ad..87a6a68c 100644
--- a/_sources/docsource/api_forceconstants.rst.txt
+++ b/_sources/docsource/api_forceconstants.rst.txt
@@ -191,6 +191,6 @@ Input Files and Formats
API Reference
*************
-.. autoclass:: kaldo.forceconstants::ForceConstants
- :members: from_folder
+.. autoclass:: ForceConstants
+ :members:
diff --git a/_sources/docsource/api_phonons.rst.txt b/_sources/docsource/api_phonons.rst.txt
index 7a35e6cb..fc3eaaf4 100644
--- a/_sources/docsource/api_phonons.rst.txt
+++ b/_sources/docsource/api_phonons.rst.txt
@@ -46,6 +46,7 @@ API Reference
Phonons.eigenvectors
.. autoclass:: Phonons
+ :members:
diff --git a/docsource/api_forceconstants.html b/docsource/api_forceconstants.html
index 4664f312..2293aa29 100644
--- a/docsource/api_forceconstants.html
+++ b/docsource/api_forceconstants.html
@@ -713,9 +713,18 @@
API Reference
-from_folder (folder[, supercell, format, ...])
|
+
elastic_prop ()
|
+Return the stiffness tensor (aka elastic modulus tensor) of the system in GPa. |
+
+from_folder (folder[, supercell, format, ...])
|
Create a finite difference object from a folder |
+sigma2_tdep_MD ([fc_file, primitive_file, ...])
|
+Calculate the sigma2 value using TDEP and MD data. |
+
+unfold_third_order ([reduced_third, ...])
|
+This method extrapolates a third order force constant matrix from a unit cell into a matrix for a larger supercell. |
+
@@ -755,6 +764,62 @@ API Reference
+
+-
+unfold_third_order(reduced_third=None, distance_threshold=None)[source]
+This method extrapolates a third order force constant matrix from a unit
+cell into a matrix for a larger supercell.
+
+- Parameters:
+
+reduced_third (array, optional) – The third order force constant matrix.
+Default is
+distance_threshold (float, optional) – When calculating force constants, contributions from atoms further than
+the distance threshold will be ignored.
+Default is self.distance_threshold
+
+
+
+
+
+-
+elastic_prop()[source]
+Return the stiffness tensor (aka elastic modulus tensor) of the system in GPa. This describes the stress-strain
+relationship of the material and can sometimes be used as a loose predictor for thermal conductivity. Requires
+the dynamical matrix to be loaded or calculated.
+
+- Parameters:
+None –
+
+- Returns:
+C_ijkl – Elasticity tensor in GPa
+
+- Return type:
+np.array(3, 3, 3, 3)
+
+
+
+
+-
+static sigma2_tdep_MD(fc_file='infile.forceconstant', primitive_file='infile.ucposcar', supercell_file='infile.ssposcar', md_run='dump.xyz')[source]
+Calculate the sigma2 value using TDEP and MD data.
+
+- Parameters:
+
+fc_file (str, optional) – Path to the force constant file. Default is ‘infile.forceconstant’.
+primitive_file (str, optional) – Path to the primitive cell file. Default is ‘infile.ucposcar’.
+supercell_file (str, optional) – Path to the supercell file. Default is ‘infile.ssposcar’.
+md_run (str, optional) – Path to the MD trajectory file. Default is ‘dump.xyz’.
+
+
+- Returns:
+The average sigma2 value.
+
+- Return type:
+float
+
+
+
diff --git a/docsource/api_phonons.html b/docsource/api_phonons.html
index 21b7b35b..f1325de9 100644
--- a/docsource/api_phonons.html
+++ b/docsource/api_phonons.html
@@ -480,7 +480,7 @@
API Reference
-Phonons.pdos
|
+
Phonons.pdos
|
Calculate the atom projected phonon density of states. |
@@ -488,46 +488,46 @@ API Reference
-Phonons.physical_mode
|
+
Phonons.physical_mode
|
Calculate physical modes. |
-Phonons.participation_ratio
|
+
Phonons.participation_ratio
|
Calculates the participation ratio of each normal mode. |
-Phonons.bandwidth
|
+
Phonons.bandwidth
|
Calculate the phonons bandwidth, the inverse of the lifetime, for each k point in k_points and each mode. |
-Phonons.isotopic_bandwidth
|
+
Phonons.isotopic_bandwidth
|
Calculate the isotopic bandwidth with Tamura perturbative formula. |
-Phonons.anharmonic_bandwidth
|
+
Phonons.anharmonic_bandwidth
|
Calculate the phonons bandwidth, the inverse of the lifetime, for each k point in k_points and each mode. |
-Phonons.frequency
|
+
Phonons.frequency
|
Calculate phonons frequency |
-Phonons.omega
|
+
Phonons.omega
|
Calculates the angular frequencies from the diagonalized dynamical matrix. |
-Phonons.velocity
|
+
Phonons.velocity
|
Calculates the velocity using Hellmann-Feynman theorem. |
-Phonons.heat_capacity
|
+
Phonons.heat_capacity
|
Calculate the heat capacity for each k point in k_points and each mode. If classical, it returns the Boltzmann constant in J/K. If quantum it returns the derivative of the Bose-Einstein weighted by each phonons energy. .. math::. |
-Phonons.heat_capacity_2d
|
+
Phonons.heat_capacity_2d
|
Calculate the generalized 2d heat capacity for each k point in k_points and each mode. |
-Phonons.population
|
+
Phonons.population
|
Calculate the phonons population for each k point in k_points and each mode. |
-Phonons.phase_space
|
+
Phonons.phase_space
|
Calculate the 3-phonons-processes phase_space, for each k point in k_points and each mode. |
-Phonons.eigenvalues
|
+
Phonons.eigenvalues
|
Calculates the eigenvalues of the dynamical matrix in Thz^2. |
-Phonons.eigenvectors
|
+
Phonons.eigenvectors
|
Calculates the eigenvectors of the dynamical matrix. |
@@ -603,33 +603,33 @@ API Reference
-pdos ([p_atoms, direction, bandwidth, n_points])
|
+
pdos ([p_atoms, direction, bandwidth, n_points])
|
Calculate the atom projected phonon density of states. |
+
+-
+property physical_mode
+Calculate physical modes. Non physical modes are the first 3 modes of q=(0, 0, 0) and, if defined, all the
+modes outside the frequency range min_frequency and max_frequency.
+
+- Returns:
+physical_mode – bool
+
+- Return type:
+np array(n_k_points, n_modes)
+
+
+
+
+-
+property frequency
+Calculate phonons frequency
+
+- Returns:
+frequency – frequency in THz
+
+- Return type:
+np array(n_k_points, n_modes)
+
+
+
+
+-
+property participation_ratio
+Calculates the participation ratio of each normal mode. Participation ratio’s
+represent the fraction of atoms that are displaced meaning a value of 1 corresponds
+to translation. Defined by equations in DOI: 10.1103/PhysRevB.53.11469
+
+- Returns:
+participation_ratio – atomic participation
+
+- Return type:
+np array(n_k_points, n_modes)
+
+
+
+
+-
+property velocity
+Calculates the velocity using Hellmann-Feynman theorem.
+
+- Returns:
+velocity – velocity in 100m/s or A/ps
+
+- Return type:
+np array(n_k_points, n_unit_cell * 3, 3)
+
+
+
+
+-
+property heat_capacity
+Calculate the heat capacity for each k point in k_points and each mode.
+If classical, it returns the Boltzmann constant in J/K. If quantum it returns the derivative of the
+Bose-Einstein weighted by each phonons energy.
+.. math:
+c_\mu = k_B \frac{\nu_\mu^2}{ \tilde T^2} n_\mu (n_\mu + 1)
+
+
+where the frequency and the temperature are in THz.
+
+- Returns:
+c_v – heat capacity in J/K for each k point and each mode
+
+- Return type:
+np.array(n_k_points, n_modes)
+
+
+
+
+-
+property heat_capacity_2d
+Calculate the generalized 2d heat capacity for each k point in k_points and each mode.
+If classical, it returns the Boltzmann constant in W/m/K.
+
+- Returns:
+heat_capacity_2d – heat capacity in W/m/K for each k point and each modes couple.
+
+- Return type:
+np.array(n_k_points, n_modes, n_modes)
+
+
+
+
+-
+property population
+Calculate the phonons population for each k point in k_points and each mode.
+If classical, it returns the temperature divided by each frequency, using equipartition theorem.
+If quantum it returns the Bose-Einstein distribution
+
+- Returns:
+population – population for each k point and each mode
+
+- Return type:
+np.array(n_k_points, n_modes)
+
+
+
+
+-
+property bandwidth
+Calculate the phonons bandwidth, the inverse of the lifetime, for each k point in k_points and each mode.
+
+- Returns:
+bandwidth – bandwidth for each k point and each mode
+
+- Return type:
+np.array(n_k_points, n_modes)
+
+
+
+
+-
+property isotopic_bandwidth
+Calculate the isotopic bandwidth with Tamura perturbative formula.
+Defined by equations in DOI:https://doi.org/10.1103/PhysRevB.27.858
+
+- Returns:
+isotopic_bw – atomic participation
+
+- Return type:
+np array(n_k_points, n_modes)
+
+
+
+
+-
+property anharmonic_bandwidth
+Calculate the phonons bandwidth, the inverse of the lifetime, for each k point in k_points and each mode.
+
+- Returns:
+bandwidth – bandwidth for each k point and each mode
+
+- Return type:
+np.array(n_k_points, n_modes)
+
+
+
+
+-
+property phase_space
+Calculate the 3-phonons-processes phase_space, for each k point in k_points and each mode.
+
+- Returns:
+phase_space – phase_space for each k point and each mode
+
+- Return type:
+np.array(n_k_points, n_modes)
+
+
+
+
+-
+property eigenvalues
+Calculates the eigenvalues of the dynamical matrix in Thz^2.
+
+- Returns:
+eigenvalues – Eigenvalues of the dynamical matrix
+
+- Return type:
+np array(n_phonons)
+
+
+
+
+-
+property eigenvectors
+Calculates the eigenvectors of the dynamical matrix.
+
+- Returns:
+eigenvectors – Eigenvectors of the dynamical matrix
+
+- Return type:
+np array(n_phonons, n_phonons)
+
+
+
+
+-
+property omega
+Calculates the angular frequencies from the diagonalized dynamical matrix.
+
+- Returns:
+frequency – frequency in rad
+
+- Return type:
+np array(n_k_points, n_modes)
+
+
+
+
+-
+pdos(p_atoms=None, direction=None, bandwidth=0.05, n_points=200)[source]
+Calculate the atom projected phonon density of states.
+Total density of states can be computed by specifying all atom indices in p_atoms.
+p_atoms input format is flexible:
+- Providing a list of atom indices will return the single pdos summed over those atoms
+- Providing a list of lists of atom indices will return one pdos for each set of indices
+
+- Returns:
+
+frequency (np array(n_points)) – Frequencies
+pdos (np.array(n_projections, n_points)) – pdos for each set of projected atoms and directions
+
+
+
+
+
diff --git a/docsource/code_architecture.html b/docsource/code_architecture.html
index b959306c..501b88d6 100644
--- a/docsource/code_architecture.html
+++ b/docsource/code_architecture.html
@@ -458,7 +458,7 @@
Code Architecture
-
+
diff --git a/docsource/credits.html b/docsource/credits.html
index 33c9c83b..514837c9 100644
--- a/docsource/credits.html
+++ b/docsource/credits.html
@@ -458,7 +458,7 @@
Acknowledgements
-
+
We gratefully acknowledge support by the Investment Software Fellowships (grant No. ACI-1547580-479590) of the NSF Molecular Sciences Software Institute (grant No. ACI-1547580) at Virginia Tech.
MolSSI builds open source software and data which serves the computational molecular science community. Explore MolSSI’s software infrastructure projects.
diff --git a/docsource/introduction.html b/docsource/introduction.html
index 4a1d0896..1a21f1df 100644
--- a/docsource/introduction.html
+++ b/docsource/introduction.html
@@ -481,7 +481,7 @@ Features
+
diff --git a/docsource/theory.html b/docsource/theory.html
index d30e7f25..a9e8f31b 100644
--- a/docsource/theory.html
+++ b/docsource/theory.html
@@ -675,7 +675,7 @@ Quasi-Harmonic Green Kubo