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.print_matrix(c)[source]

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

print_properties()[source]
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 !!

get_space_group_international(symprec=1e-05)[source]
get_space_group_number(symprec=1e-05)[source]
get_wyckoff_positions(symprec=1e-05)[source]
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 !!

to_dict(symprec=1e-05)[source]
property volume

!! processed by numpydoc !!

Module contents