mechelastic.core package¶
Submodules¶
mechelastic.core.ELATE module¶
mechelastic.core.elastic_properties module¶
- class mechelastic.core.elastic_properties.ElasticProperties(elastic_tensor, structure=None, crystal_type=None, verbose=True)[source]¶
Bases:
object
- Parameters
- elastic_tensorTYPE
DESCRIPTION.
- structureTYPE, optional
DESCRIPTION. The default is None.
- crystal_typeTYPE, optional
DESCRIPTION. The default is None.
- Returns
- None.
- Attributes
A_cb
Returns ——- float Chung-Buessem only for Cubic Crystals.
A_l
Returns ——- float log-Euclidean anisotropy parameter by Christopher M.
A_u
Returns ——- float Ranganathan and Ostoja-Starzewski method: Phys.
A_z
Returns ——- float Zenner Anisotropy only for Cubic Crystals.
E_r
Returns ——- float Young’s Modulus Reuss.
E_v
Returns ——- float Young’s Modulus.
E_vrh
Returns ——- float Voigt-Reuss-Hill Approximation Young’s Modulus.
G_r
Returns ——- G_r : float Shear Modulus Reuss.
G_v
Returns ——- G_v : float Shear Modulus Voigt.
G_vrh
Returns ——- float Voigt-Reuss-Hill Approximation Shear Modulus.
KG_ratio_r
Returns ——- float Bulk/Shear ratio reuss.
KG_ratio_v
Returns ——- float Bulk/Shear ratio voigt.
KG_ratio_vrh
Returns ——- float Bulk/Shear ratio voigt reuss hill.
K_r
Returns ——- K_r : float Bulk Modulus Reuss.
K_v
Returns ——- KV : float Bulk Modulus Voigt.
K_vrh
Returns ——- float Voigt-Reuss-Hill Approximation Bulk Modulus.
M_r
Returns ——- float P-Wave Modulus Reuss.
M_v
Returns ——- float P-wave modulus voigt.
M_vrh
Returns ——- float Voigt-Reuss-Hill Approximation P-wave Modulus.
Nu_r
Returns ——- float Poisson’s Ration Reuss.
Nu_v
Returns ——- float Poisson’s Ratio Voigt.
Nu_vrh
Returns ——- float Voigt-Reuss-Hill Approximation Poisson’s Modulus.
anisotropy_Chung_Buessem
Returns ——- float Chung-Buessem only for Cubic Crystals.
anisotropy_log_euclidean
Returns ——- float log-Euclidean anisotropy parameter by Christopher M.
anisotropy_universal
Returns ——- float Ranganathan and Ostoja-Starzewski method: Phys.
anisotropy_zenner
Returns ——- float Zenner Anisotropy only for Cubic Crystals.
- bond_bending_vs_streching
bonding_type
This parameter desceibes the nature of bonding
bulk_modulus_reuss
Returns ——- float Bulk Modulus Reuss.
bulk_modulus_voigt
Returns ——- float Bulk Modulus Voigt.
bulk_modulus_voigt_reuss_hill
Returns ——- float Voigt-Reuss-Hill Approximation Bulk Modulus.
bulk_shear_ratio_reuss
Returns ——- float Bulk/Shear ratio reuss.
bulk_shear_ratio_voigt
Returns ——- float Bulk/Shear ratio voigt.
bulk_shear_ratio_voigt_reuss_hill
Returns ——- float Bulk/Shear ratio voigt reuss hill.
cauchy_pressure
This parameter desceibes the nature of bonding CP > 0 (+ve) indicates that ionic bonding dominates CP < 0 (-ve) indicates that covalent bonding dominates Returns ——- None.
debye_temperature
Returns ——- theta : float Debye temperature calculated using Orson Anderson’s proposal [Ref- J.
ductility
Returns
- elastic_stability
hardness
Returns ——- float The hardness calculated by 6 different methods: [H1a and H1b] Correlation between hardness and elastic moduli of the covalent crystals.
- kleinman_parameter
lambda_lame_coefficient
Returns ——- TYPE DESCRIPTION.
melting_temperature
Returns
- mu_lame_coefficient
p_wave_modulus_reuss
Returns ——- float P-Wave Modulus Reuss.
p_wave_modulus_voigt
Returns ——- float P-wave modulus voigt.
p_wave_modulus_voigt_reuss_hill
Returns ——- float Voigt-Reuss-Hill Approximation P-wave Modulus.
poissons_ratio_reuss
Returns ——- float Poisson’s Ration Reuss.
poissons_ratio_voigt
Returns ——- float Poisson’s Ratio Voigt.
poissons_ratio_voigt_reuss_hill
Returns ——- float Voigt-Reuss-Hill Approximation Poisson’s Modulus.
pugh_ratio_reuss
Returns ——- float Pugh’s Ration Reuss.
pugh_ratio_voigt
Returns ——- float Pugh’s Ratio Voigt.
pugh_ratio_voigt_reuss_hill
Returns ——- float Voigt-Reuss-Hill Approximation Pugh’s Ratio.
shear_modulus_reuss
Returns ——- G_r : float Shear Modulus Reuss.
shear_modulus_voight
Returns ——- float Shear Modulus Voigt.
shear_modulus_voight_reuss_hill
Returns ——- float Voigt-Reuss-Hill Approximation Shear Modulus.
velocity_average
Returns
velocity_logitudinal
Returns
velocity_transverse
Returns
youngs_modulus_reuss
Returns ——- float Young’s modulus Reuss.
youngs_modulus_voigt
Returns ——- float Young’s Modulus Voigt.
youngs_modulus_voigt_reuss_hill
Returns ——- float Voigt-Reuss-Hill Approximation Young’s Modulus.
Methods
to_dict
([symprec])- Parameters
to_file
([outfile])- Parameters
to_json
([outfile, symprec])- Parameters
to_xml
([outfile, symprec])- Parameters
- property A_cb¶
- Returns
- float
Chung-Buessem only for Cubic Crystals.
- property A_l¶
- Returns
- float
log-Euclidean anisotropy parameter by Christopher M. Kube, AIP Advances 6, 095209 (2016) AL CV , CR is based on the distance between the averaged stiffnesses CV and CR , which is more appropriate. Clearly, AL CV , CR is zero when the crystallite is isotropic.
- property A_u¶
- Returns
- float
Ranganathan and Ostoja-Starzewski method: Phys. Rev. Lett. 101, 055504 (2008). for any crystalline symmetry: Universal anisotropy index. Note: AU is a relative measure of anisotropy with respect to a limiting value. For example, AU does not prove that a crystal having AU = 3 has double the anisotropy of another crystal with AU = 1.5. I””’
- property A_z¶
- Returns
- float
Zenner Anisotropy only for Cubic Crystals.
- property E_r¶
- Returns
- float
Young’s Modulus Reuss.
- property E_v¶
- Returns
- float
Young’s Modulus.
- property E_vrh¶
- Returns
- float
Voigt-Reuss-Hill Approximation Young’s Modulus.
- property G_r¶
- Returns
- float
Shear Modulus Reuss.
- Return type
G_r
- property G_v¶
- Returns
- float
Shear Modulus Voigt.
- Return type
G_v
- property G_vrh¶
- Returns
- float
Voigt-Reuss-Hill Approximation Shear Modulus.
- property KG_ratio_r¶
- Returns
- float
Bulk/Shear ratio reuss.
- property KG_ratio_v¶
- Returns
- float
Bulk/Shear ratio voigt.
- property KG_ratio_vrh¶
- Returns
- float
Bulk/Shear ratio voigt reuss hill.
- property K_r¶
- Returns
- float
Bulk Modulus Reuss.
- Return type
K_r
- property K_v¶
- Returns
- float
Bulk Modulus Voigt.
- Return type
KV
- property K_vrh¶
- Returns
- float
Voigt-Reuss-Hill Approximation Bulk Modulus.
- property M_r¶
- Returns
- float
P-Wave Modulus Reuss.
- property M_v¶
- Returns
- float
P-wave modulus voigt.
- property M_vrh¶
- Returns
- float
Voigt-Reuss-Hill Approximation P-wave Modulus.
- property Nu_r¶
- Returns
- float
Poisson’s Ration Reuss.
- property Nu_v¶
- Returns
- float
Poisson’s Ratio Voigt.
- property Nu_vrh¶
- Returns
- float
Voigt-Reuss-Hill Approximation Poisson’s Modulus.
- property anisotropy_Chung_Buessem¶
- Returns
- float
Chung-Buessem only for Cubic Crystals.
- property anisotropy_log_euclidean¶
- Returns
- float
log-Euclidean anisotropy parameter by Christopher M. Kube, AIP Advances 6, 095209 (2016) AL CV , CR is based on the distance between the averaged stiffnesses CV and CR , which is more appropriate. Clearly, AL CV , CR is zero when the crystallite is isotropic.
- property anisotropy_universal¶
- Returns
- float
Ranganathan and Ostoja-Starzewski method: Phys. Rev. Lett. 101, 055504 (2008). for any crystalline symmetry: Universal anisotropy index Note: AU is a relative measure of anisotropy with respect to a limiting value. For example, AU does not prove that a crystal having AU = 3 has double the anisotropy of another crystal with AU = 1.5. I””’
- property anisotropy_zenner¶
- Returns
- float
Zenner Anisotropy only for Cubic Crystals.
- property bond_bending_vs_streching¶
!! processed by numpydoc !!
- property bonding_type¶
This parameter desceibes the nature of bonding CP > 0 (+ve) indicates that ionic bonding dominates CP < 0 (-ve) indicates that covalent bonding dominates
- Returns
- str
DESCRIPTION.
- property bulk_modulus_reuss¶
- Returns
- float
Bulk Modulus Reuss.
- property bulk_modulus_voigt¶
- Returns
- float
Bulk Modulus Voigt.
- property bulk_modulus_voigt_reuss_hill¶
- Returns
- float
Voigt-Reuss-Hill Approximation Bulk Modulus.
- property bulk_shear_ratio_reuss¶
- Returns
- float
Bulk/Shear ratio reuss.
- property bulk_shear_ratio_voigt¶
- Returns
- float
Bulk/Shear ratio voigt.
- property bulk_shear_ratio_voigt_reuss_hill¶
- Returns
- float
Bulk/Shear ratio voigt reuss hill.
- property cauchy_pressure¶
This parameter desceibes the nature of bonding CP > 0 (+ve) indicates that ionic bonding dominates CP < 0 (-ve) indicates that covalent bonding dominates :returns: :rtype: None.
- property debye_temperature¶
- Returns
- float
Debye temperature calculated using Orson Anderson’s proposal [Ref- J. Phys. Chem. Solids (1963) 24, 909-917]. WARNING: Debye model for the atomic displacement is based on a monoatomic crystal, here we consider an average mass if your crystal has several species
- Return type
theta
- property ductility¶
- Returns
- string
The ductility of the material
- property elastic_stability¶
!! processed by numpydoc !!
- property hardness¶
- Returns
- float
The hardness calculated by 6 different methods: [H1a and H1b] Correlation between hardness and elastic moduli of the covalent crystals. Jiang, et al. (2011). [H2] Computational alchemy: the search for new superhard materials. Teter (1998). [H3] Mechanical and electronic properties of B12-based ternary crystals of orthorhombic phase. Jiang et al. (2010). [H4] Theoretical investigation on the transition-metal borides with Ta3B4-type structure: A class of hard and refractory materials. Miao et al. (2011). [H5] Modeling hardness of polycrystalline materials and bulk metallic glasses. Chen et al. (2011).
- property kleinman_parameter¶
!! processed by numpydoc !!
- property lambda_lame_coefficient¶
- Returns
- TYPE
DESCRIPTION.
- property melting_temperature¶
- Returns
- float
Melting temperature estimated using empirical relation from Ref: Johnston I, Keeler G, Rollins R and Spicklemire S 1996 Solid State Physics Simulations, The Consortium for Upper-Level Physics Software (New York: Wiley)
- property mu_lame_coefficient¶
!! processed by numpydoc !!
- property p_wave_modulus_reuss¶
- Returns
- float
P-Wave Modulus Reuss.
- property p_wave_modulus_voigt¶
- Returns
- float
P-wave modulus voigt.
- property p_wave_modulus_voigt_reuss_hill¶
- Returns
- float
Voigt-Reuss-Hill Approximation P-wave Modulus.
- property poissons_ratio_reuss¶
- Returns
- float
Poisson’s Ration Reuss.
- property poissons_ratio_voigt¶
- Returns
- float
Poisson’s Ratio Voigt.
- property poissons_ratio_voigt_reuss_hill¶
- Returns
- float
Voigt-Reuss-Hill Approximation Poisson’s Modulus.
- property pugh_ratio_reuss¶
- Returns
- float
Pugh’s Ration Reuss.
- property pugh_ratio_voigt¶
- Returns
- float
Pugh’s Ratio Voigt.
- property pugh_ratio_voigt_reuss_hill¶
- Returns
- float
Voigt-Reuss-Hill Approximation Pugh’s Ratio.
- property shear_modulus_reuss¶
- Returns
- float
Shear Modulus Reuss.
- Return type
G_r
- property shear_modulus_voight¶
- Returns
- float
Shear Modulus Voigt.
- property shear_modulus_voight_reuss_hill¶
- Returns
- float
Voigt-Reuss-Hill Approximation Shear Modulus.
- to_dict(symprec=1e-05)[source]¶
- Parameters
- symprecfloat
Precision used in calculating the space group in angstroms. The default is 1e-5.
- Returns
- dict
DESCRIPTION.
- to_file(outfile='elastic_properties.txt')[source]¶
- Parameters
- outfilestr, optional
Path to the output file. The default is “elastic_properties.txt”.
- Returns
- None.
- to_json(outfile='elastic_properties.json', symprec=1e-05)[source]¶
- Parameters
- outfilestr, optional
file path to the output file. The default is “elastic_properties.json”.
- symprecfloat, optional
Precision used in calculating the space group in angstroms. The default is 1e-5.
- Returns
- None.
- to_xml(outfile='elastic_properties.xml', symprec=1e-05)[source]¶
- Parameters
- outfilestr, optional
file path to the output file. The default is “elastic_properties.xml”.
- symprecfloat, optional
Precision used in calculating the space group in angstroms. The default is 1e-5.
- Returns
- None.
- property velocity_average¶
- Returns
- float
Average Sound velocity(m/s)
- property velocity_logitudinal¶
- Returns
- float
longitudinal Sound velocity(m/s) from Navier’s equation using Voigt-Reuss-Hill Approximation
- property velocity_transverse¶
- Returns
- float
Transverse Sound Velocity(m/s) from Navier’s equation using Voigt-Reuss-Hill Approximation
- property youngs_modulus_reuss¶
- Returns
- float
Young’s modulus Reuss.
- property youngs_modulus_voigt¶
- Returns
- float
Young’s Modulus Voigt.
- property youngs_modulus_voigt_reuss_hill¶
- Returns
- float
Voigt-Reuss-Hill Approximation Young’s Modulus.
mechelastic.core.elastic_properties_2d module¶
- class mechelastic.core.elastic_properties_2d.ElasticProperties2D(elastic_tensor, lattice_constant, structure=None, lattice_type=None)[source]¶
Bases:
object
Convert the units from GPa or N/m2 to N/m for two-dimensional systems 1 GPa = 10^9 N/m2
Here, we use second Piola-Kirchhoff stress method to express the 2D forces per unit length in N/m units. Ref: [Peng et al., Acta Mechanica 223 (2012), 2591-2596; Comput. Mater. Sci. 68, 320 (2013); Mech. Mater. 64, 135 (2013). ] [Singh et al., Phys. Rev. B 95, 165444 (2017)]
We multiply elastic tensor by the thickness of the simulation cell to consider the vacuum thickness. In 2D: Cij = bulk_Cij * C_latticevector (final units N/m)
- For example: if bulk_Cij = 15 GPa and out-of-plane cell parameter c = 10 Angs.
Then 2D_Cij = [15*10^9 N/m2] * [10*10^(-10) m] ; i.e 15*(0.1*c) N/m
- Attributes
G2d
2D shear modulus; G2d = C66
Lm
Layer modulus: represents the resistance of a 2D sheet to stretching; Lm = (1/4)*[c11 + c22 + 2*c12] [Ref: Andrew et al.; Phys.
Y01
2D Young’s modulus or in-plane stiffness: Y[01] = [c11c22 - c12^2]/[c11]
Y10
2D Young’s modulus or in-plane stiffness: Y[10] = [c11c22 - c12^2]/[c22]
- elastic_stability
layer_modulus
Returns
nu01
2D Poisson’s ratio; nu01 = c12/c11
nu10
2D Poisson’s ratio; nu10 = c12/c22
shear_modulus_2d
2D shear modulus; G2d = C66
Methods
print_properties
- property G2d¶
2D shear modulus; G2d = C66
- Returns
- G2dfloat
2D shear modulus
- property Lm¶
Andrew et al.; Phys. Rev. B 85, 125428 (2012)]
- Returns
- Lmfloat
Layer modulus
- Type
Layer modulus
- Type
represents the resistance of a 2D sheet to stretching; Lm = (1/4)*[c11 + c22 + 2*c12] [Ref
- property Y01¶
Y[01] = [c11c22 - c12^2]/[c11]
- Returns
- Y01float
2D Young’s modulus (in-plane stiffness)
- Type
2D Young’s modulus or in-plane stiffness
- property Y10¶
Y[10] = [c11c22 - c12^2]/[c22]
- Returns
- Y10float
2D Young’s modulus (in-plane stiffness)
- Type
2D Young’s modulus or in-plane stiffness
- property elastic_stability¶
!! processed by numpydoc !!
- property layer_modulus¶
- Returns
- float
Layer modulus
- Return type
layer_modulus
- property nu01¶
2D Poisson’s ratio; nu01 = c12/c11
- Returns
- nu01float
2D Poisson’s ratio
- property nu10¶
2D Poisson’s ratio; nu10 = c12/c22
- Returns
- nu10float
2D Poisson’s ratio
- property shear_modulus_2d¶
2D shear modulus; G2d = C66
- Returns
- G2dfloat
2D shear modulus
mechelastic.core.structure module¶
- class mechelastic.core.structure.Structure(atoms, fractional_coordinates, lattice)[source]¶
Bases:
object
- Attributes
- atomic_numbers
- density
- masses
- natoms
- nspecies
- species
- spglib_cell
- volume
Methods
get_space_group_international
get_space_group_number
get_wyckoff_positions
to_dict
- property atomic_numbers¶
!! processed by numpydoc !!
- property density¶
!! processed by numpydoc !!
- property masses¶
!! processed by numpydoc !!
- property natoms¶
!! processed by numpydoc !!
- property nspecies¶
!! processed by numpydoc !!
- property species¶
!! processed by numpydoc !!
- property spglib_cell¶
!! processed by numpydoc !!
- property volume¶
!! processed by numpydoc !!