matminer.models package — matminer 0.1.3 documentation

# matminer.models package

## Submodules

## matminer.models.mechanical_properties module

class `matminer.models.mechanical_properties.` `BulkModulus`
  `__init__`()
  `calculate`(E, nu)
  `equation`()
  `properties_involved`()

class `matminer.models.mechanical_properties.` `Lames1stParam`

  In continuum mechanics, the Lames parameters (also called the Lame coefficients or Lame constants) are two material-dependent quantities denoted by ‘lamda’ and ‘mu’ that arise in strain-stress relationships. In general, ‘lamda’ and ‘mu’ are individually referred to as Lames first parameter and Lames second parameter, respectively.

  Reference:
    https://en.wikipedia.org/wiki/Lam%C3%A9_parameters
  `__init__`()
  `calculate`(K, nu)
  `equation`()
  `properties_involved`()

class `matminer.models.mechanical_properties.` `PWaveModulus`

  In linear elasticity, the P-wave modulus ‘M’, also known as the longitudinal modulus or the constrained modulus, is one of the elastic moduli available to describe isotropic homogeneous materials.

  Reference:
    https://en.wikipedia.org/wiki/P-wave_modulus
  `__init__`()
  `calculate`(K, nu)
  `equation`()
  `properties_involved`()

class `matminer.models.mechanical_properties.` `ShearModulus`
  `__init__`()
  `calculate`(E, nu)
  `equation`()
  `properties_involved`()

class `matminer.models.mechanical_properties.` `YM`(nu, G=None, K=None)

  Calculate Young’s modulus (E) from other moduli.

  `__init__`(nu, G=None, K=None)
    Args:
      nu: (float) Poisson’s ratio G: (float) shear or rigidity modulus (N/m^2) K: (float) bulk modulus (N/m^2)
  `calculate`()

    Returns: Young’s modulus (E) (N/m^2)

  `equation`()

class `matminer.models.mechanical_properties.` `YoungsModulus`
  `__init__`()
  `calculate`(nu, G)
  `equation`()
  `properties_involved`()

`matminer.models.mechanical_properties.` `brittleness_index`(H, E, K_c)

  Calculate brittleness index (BI) of a material.

  Args:
    H: (float) hardness (N/m^2) E: (float) Young’s modulus (N/m^2) K_c: (float) fracture toughness (N/m^(1.5))

  Returns: (float) brittleness index (BI) of a material (m^(-1))

`matminer.models.mechanical_properties.` `bulk_modulus`(nu, E)

  Calculate bulk modulus (K) from Young’s modulus.

  Args:
    nu: (float) Poisson’s ratio E: (float) Young’s modulus (N/m^2)

  Returns: bulk modulus (K) (N/m^2)

`matminer.models.mechanical_properties.` `bulkmodulus_coordination`(N_c, ionicity, d)

  Calculate bulk modulus (K) from coordination number.

  References:

    - ISBN: 9780521523394 (Title: “Atomic and Electronic Structure of Solids”)

    - DOI: 10.1103/PhysRevB.32.7988 (Title: “Calculation of bulk moduli of diamond and

        zinc-blende solids”)

  Args:

    N_c: (float) average coordination number of the solid ionicity: (int) a dimensionless number which describes the ionicity a dimensionless

    > number which describes the ionicity; ionicity=0 for the homopolar crystals C, Si, Ge, Sn; ionicity=1 for III-V compounds (where the valence of each element differs by 1 from the average valence of 4); ionicity=2 for II-VI compounds (where the valence of each element differs by 2 from the average valence of 4).

    d: (float) bond length

  Returns: bulk modulus (K) (N/m^2)

`matminer.models.mechanical_properties.` `critical_fracture_toughness`(sigma, a, Y=1)

  Calculate critical fracture toughness (K_IC) according to Griffith theory of brittle fracture. Also known as stress intensity factor, and called fracture toughness nder conditions of:

  > 1. brittle fracture
  > 2. in the presence of a sharp crack
  > 3. under critical tensile loading

  References:
    - http://www4.ncsu.edu/~murty/NE509/NOTES/Ch4b-Fracture.pdf
    - http://www.srmuniv.ac.in/sites/default/files/downloads/griffith_theory_of_brittle_fracture.pdf
    - https://en.wikipedia.org/wiki/Fracture_mechanics
    - https://www.fose1.plymouth.ac.uk/fatiguefracture/tutorials/FractureMechanics/Griffith/GriffTheory1.htm
  Args:
    sigma: (float) tensile stress or strength (N/m^2) a: (float) one half crack length for internal cracks or crack length for edge cracks (m) Y: (float) Crack shape factor

  Returns: critical fracture toughness (K_IC) (Pa.m^(0.5) or N/m^(1.5))

`matminer.models.mechanical_properties.` `critical_stress`(E, gamma_s, a, gamma_p=0, nu=0)

  Calculate critical stress needed for crack propagation (sigma_c) according to Griffith theory of brittle fracture.

  References:
    - http://www4.ncsu.edu/~murty/NE509/NOTES/Ch4b-Fracture.pdf
    - http://www.srmuniv.ac.in/sites/default/files/downloads/griffith_theory_of_brittle_fracture.pdf
    - https://en.wikipedia.org/wiki/Fracture_mechanics
    - https://www.fose1.plymouth.ac.uk/fatiguefracture/tutorials/FractureMechanics/Griffith/GriffTheory1.htm
  Args:
    E: (float) Young’s modulus (N/m^2) gamma_s: (float) elastic strain energy released (N/m) a: (float) one half crack length for internal cracks or crack length for edge cracks (m) gamma_p: (float) plastic strain energy released (N/m) nu: (float) Poisson’s ratio, used in plain strain condition, else default=0

  Returns: critical stress needed for crack propagation (sigma_c) (N/m^2)

`matminer.models.mechanical_properties.` `fracture_toughness`(E, H, F, c)

  Calculate fracture toughness (K_c) of a material.

  References:
    DOI: 10.1007/s10853-013-7569-1 (Title: “Room temperature mechanical properties of natural-mineral-based thermoelectrics”)
  Args:
    E: (float) Young’s modulus (N/m^2) H: (float) hardness (N/m^2) F: (float) indentation load (N) c: (float) hald of radial crack length (m)

  Returns: (float) fracture toughness (K_c) of a material (Pa.m^(0.5) or N/m^(1.5))

`matminer.models.mechanical_properties.` `max_allowed_heatflow`(nu, kappa, sigma, E, cte)

  Calculate maximum allowable heat flow (QF)

  Args:
    nu: (float) Poisson’s ratio kappa: (float) thermal conductivity (W(mK)^(-1)) sigma: (float) stress as a result of temperature gradient (N/m^2) E: (float) Young’s modulus (N/m^2) cte: (float) coefficient of thermal expansion (K^(-1))

  Returns: maximum allowable heat flow (QF) (W/m)

`matminer.models.mechanical_properties.` `shear_modulus`(nu, E)

  Calculate shear/rigidity modulus (G) from Young’s modulus.

  Args:
    nu: (float) Poisson’s ratio E: (float) Young’s modulus (N/m^2)

  Returns: shear/rigidity modulus (G) (N/m^2)

`matminer.models.mechanical_properties.` `steadystate_heatflow`(A, T2, T1, kappa, x)

  Calculate steady state heat flow (Q)

  Args:
    A: (float) cross-sectional area (m^2) T2: (float) temperature at cold end (K) T1: (float) temperature at hot end (K) kappa: (float) thermal conductivity (W(mK)^(-1)) x: (float) slab length at which heat flow is calculated (m)

  Returns: steady state heat flow (Q) (W or J/s)

`matminer.models.mechanical_properties.` `strain_energy_releaserate`(K_I, E, nu=0)

  Calculate strain energy release rate (G_I). Irwin was the first to observe that if the size of the plastic zone around a crack is small compared to the size of the crack, the energy required to grow the crack will not be critically dependent on the state of stress at the crack tip. Irwin showed that for a mode I crack (opening mode) the strain energy release rate and the stress intensity factor are related by the following relation.

  Args:
    K_I: (float) stress intensity factor in mode 1 (N/m^(1.5)) E: (float) Young’s modulus (N/m^2) nu: (float) Poisson’s ratio, used in plain strain condition, else default=0

  Returns: strain energy release rate (G_I) (N/m)

`matminer.models.mechanical_properties.` `stress_from_tempgradient`(T2, T1, E, cte, nu)

  Calculate stress as a result of temperature gradient (sigma)

  Args:
    T2: (float) temperature at cold end (K) T1: (float) temperature at hot end (K) E: (float) Young’s modulus (N/m^2) cte: (float) coefficient of thermal expansion (K^(-1)) nu: (float) Poisson’s ratio

  Returns: stress as a result of temperature gradient (sigma) (N/m^2)

`matminer.models.mechanical_properties.` `thermal_shock`(sigma_tens, nu, kappa, E, cte)

  Calculate thermal shock resistance parameter (R_therm)

  Args:
    sigma_tens: (float) tensile stress or strength (N/m^2) nu: (float) Poisson’s ratio kappa: (float) thermal conductivity (W(mK)^(-1)) E: (float) Young’s modulus (N/m^2) cte: (float) coefficient of thermal expansion (K^(-1))

  Returns: thermal shock resistance parameter (R_therm)

`matminer.models.mechanical_properties.` `thermal_stress`(E_T, cte_T, delta_T, nu_T)

  Calculate thermal stress (sigma_T) in a material.

  References:
    DOI: 10.1007/s10853-013-7569-1 (Title: “Room temperature mechanical properties of natural-mineral-based thermoelectrics”)
  Args:
    E_T: (float) temperature-dependent Young’s modulus (N/m^2) cte_T: (float) temperature-dependent thermal expansion coefficient (K^(-1)) delta_T: (float) temperature difference (K) nu_T: (float) temperature-dependent Poisson’s ratio

  Returns: (float) thermal stress (sigma_T) induced by thermal gradients or thermal transients

`matminer.models.mechanical_properties.` `vickers_hardness1`(G, K)

  Calculate Vickers hardness (H_v) for a material.

  References:
    DOI: (not available yet) (Title: “A Statistical Learning Framework for Materials Science:
      Application to Elastic Moduli of k-nary Inorganic Compounds”)
  Args:
    G: (float) elastic bulk modulus (N/m^2) K: (float) elastic shear modulus (N/m^2)

  Returns: (float) Vickers hardness (H_v) (N/m^2)

`matminer.models.mechanical_properties.` `vickers_hardness2`(F, a)

  Calculate Vickers hardness (H) for a material.

  References:
    DOI: 10.1007/s10853-013-7569-1 (Title: “Room temperature mechanical properties of natural-mineral-based thermoelectrics”)
  Args:
    F: (float) indentation load (N) a: (float) half of diagonal length of the indentation impression (m)

  Returns: (float) Vickers hardness (H) (N/m^2)

## matminer.models.sound_velocity module

class `matminer.models.sound_velocity.` `SoundVelocityModel`

  This is an example model

  `__init__`()
  `citation`()
  `compute`(*args, **kwargs)

`matminer.models.sound_velocity.` `effective_cubic_elasticconstant`(direction, mode, C_11=None, C_12=None, C_44=None)

  Calculate effective elastic constant (C_eff) for a cubic material.

  References:
    http://unlcms.unl.edu/cas/physics/tsymbal/teaching/SSP-927/Section%2004_Elastic_Properties.pdf
  Args:
    direction: (str) direction of sound velocity. Choose from Choose from “100”, “110”, and “111”. mode: (str) wave mode. Choose from “longitudinal”, “transverse1”, and “transverse2”. C_11: elastic constant C_xxxx (N/m^2) C_12: elastic constant C_xxyy (N/m^2) C_44: elastic constant C_yzyz (N/m^2)

  Returns: (float) effective elastic constant (C_eff) for a cubic material (N/m^2).

`matminer.models.sound_velocity.` `sound_velocity`(C_eff, rho)

  Calculate sound velocity (v) in a material from elastic constant.

  Args:
    C_eff: (float) effective elastic constant (N/m^2) rho: (float) material density (kg/m^3)

  Returns: (float) velocity of sound (m/s) in the material

## matminer.models.thermal_conductivity module

class `matminer.models.thermal_conductivity.` `CahillSimpleModel`(*values, **kw)

  Calculate Cahill thermal conductivity.

  References:
    - DOI: 10.1016/j.jallcom.2014.09.022 (Title: “Electronic structure, elastic anisotropy,

    thermal conductivity and optical properties of calcium apatite Ca5(PO4)3X (X = F, Cl or Br)”) - DOI: 10.1016/j.commatsci.2015.07.029 (Title: “Electronic structure, mechanical properties and anisotropy of thermal conductivity of Y-Si-O-N quaternary crystals”) - DOI: 10.1002/adma.201400515 (Title: “High Thermoelectric Performance in Non-Toxic Earth-Abundant Copper Sulfide”)

  `__init__`(*values, **kw)
    Args:
      n: (int) number of atoms in unit cell V: (float) unit cell volume (in SI units, i.e. m^(3)) v_l: (float) longitudinal sound velocity (in SI units, i.e. m/s) v_t1: (float) transverse sound velocity in direction 1 (in SI units, i.e. m/s) v_t2: (float) transverse sound velocity in direction 2 (in SI units, i.e. m/s)

    Returns: None

  `calculate`(*values, **kw)

    Returns: (float) Cahill thermal conductivity (in SI units, i.e. joule/(m*s*kelvin))

`matminer.models.thermal_conductivity.` `cahill_integrand`(x)

  Integrand function to calculate Cahill thermal conductivity.

  Args:
    x: (hbar * omega)/(k * T) # hbar: reduced Planck’s constant, omega = phonon frequency

  Returns: (float) integral value

`matminer.models.thermal_conductivity.` `cahill_integrand_model`(n, V, cahill_integrand_sum)

  Calculate Cahill thermal conductivity using the intergrand model.

  References:
    - DOI: 10.1002/adfm.201600718 (Title: “Minimum Thermal Conductivity in Weak Topological Insulators with

    Bismuth-Based Stack Structure”) - DOI: 10.1038/nature13184 (Title: “Ultralow thermal conductivity and high thermoelectric figure of merit in SnSe crystals”) (full formula)

  Args:
    n: (int) number of atoms in primitive cell V: (float) unit cell volume (in SI units, i.e. m^(3)) cahill_integrand_sum: (float) sum of the term calculate using the above function “cahill_integrand_summation”

  Returns: (float) Cahill thermal conductivity (in SI units, i.e. W(mK)^(-1))

`matminer.models.thermal_conductivity.` `cahill_integrand_summation`(v_i, T, theta)

  Calculate the summation term for the Cahill thermal conductivity integrand model. Use this function repeatedly to calculate the total sum over all acoustic modes.

  References:
    - DOI: 10.1002/adfm.201600718 (Title: “Minimum Thermal Conductivity in Weak Topological Insulators with

    Bismuth-Based Stack Structure”) - DOI: 10.1038/nature13184 (Title: “Ultralow thermal conductivity and high thermoelectric figure of merit in SnSe crystals”) (full formula)

  Args:
    v_i: (float) sound velocity for the acoustic mode i (in SI units, i.e. m(s)^(-1)) T: (float) absolute temperature (in K) theta: (float) Debye temperature (in K)

  Returns: (float) summation term for only one acoustic mode i

`matminer.models.thermal_conductivity.` `callaway_integrand`(x, t_ph)

  Integrand function to calculate Callaway thermal conductivity.

  Args:
    x: (hbar * omega)/(k * T) # hbar: reduced Planck’s constant, omega = phonon frequency t_ph: (float) phonon relaxation time (in SI units, s^(-1))

  Returns: (float) integral value

`matminer.models.thermal_conductivity.` `callaway_model`(v_m, T, theta, t_ph)

  Calculate Callaway thermal conductivity (In some circumstances, a second term may be required as seen in http://link.springer.com/chapter/10.1007%2F0-387-25100-6_2#page-1)

  References:
    - DOI: 10.1002/adfm.201600718 (Title: “Minimum Thermal Conductivity in Weak Topological Insulators with

    Bismuth-Based Stack Structure”) - DOI: 10.1063/1.4906225 (Title: “Critical analysis of lattice thermal conductivity of half-Heusler alloys using variations of Callaway model”) - DOI: 10.1103/PhysRev.134.A1058 (Title: “Thermal Conductivity of Silicon and Germanium from 3 K to the Melting

    > Point”)

  Args:
    v_m: (float) speed of sound in the material (in SI units, i.e. m(s)^(-1)) T: (float) absolute temperature (in K) theta: (float) Debye temperature (in K) t_ph: (float) phonon relaxation time (in SI units, s^(-1))

  Returns: (float) Callaway thermal conductivity (in SI units, i.e. W(mK)^(-1))

`matminer.models.thermal_conductivity.` `clarke_model`(n, E, m, V)

  Calculate Clarke thermal conductivity.

  References:
    - DOI: 10.1016/j.jallcom.2014.09.022 (Title: “Electronic structure, elastic anisotropy,

    thermal conductivity and optical properties of calcium apatite Ca5(PO4)3X (X = F, Cl or Br)”) - DOI: 10.1016/j.commatsci.2015.07.029 (Title: “Electronic structure, mechanical properties and anisotropy of thermal conductivity of Y-Si-O-N quaternary crystals”)

  Args:
    n: (int) number of atoms in primitive cell E: (float) Young’s modules (in SI units, i.e. Kgm(s)^(-2)) m: (float) total mass per unit cell (in SI units, i.e. Kg) V: (float) unit cell volume (in SI units, i.e. m^(3))

  Returns: (float) Clarke thermal conductivity (in SI units, i.e. W(mK)^(-1))

`matminer.models.thermal_conductivity.` `debye_model`(M, E, m, V)

  Calculate Debye thermal conductivity.

  Args:
    M: (float) molecular mass E: (float) Young’s modules (in SI units, i.e. Kgm(s)^(-2)) m: (float) total mass (in SI units, i.e. Kg) V: (float) unit cell volume (in SI units, i.e. m^(3))

  Returns: (float) Debye thermal conductivity (in SI units, i.e. W(mK)^(-1))

`matminer.models.thermal_conductivity.` `keyes_model`(gamma, e_m, T_m, m, V, T, A)

  Calculate Keyes thermal conductivity

  References:
    - DOI: 10.1103/PhysRev.115.564 (Title: “High-Temperature Thermal Conductivity of Insulating Crystals:

    Relationship to the Melting Point”)

  Args:
    gamma: (float) Gruneisen parameter e_m: (float) amplitude of atomic vibrations as fraction of lattice constant at which melting takes place T_m: (float) melting temperature (K) m: (float) total mass (in SI units, i.e. Kg) V: (float) unit cell volume (in SI units, i.e. m^(3)) T: (float) absolute temperature (in K) A: (float) average atomic weight

  Returns: (float) Keyes thermal conductivity (in SI units, i.e. W(mK)^(-1))

`matminer.models.thermal_conductivity.` `slack_integrand`(x, t_c)

  Integrand function to calculate Callaway thermal conductivity.

  Args:
    x: (hbar * omega)/(k * T) # hbar: reduced Planck’s constant, omega = phonon frequency t_c: (float) phonon relaxation time (in SI units, s^(-1))

  Returns: (float) integral value

`matminer.models.thermal_conductivity.` `slack_integrand_model`(v_m, T, theta, t_c)

  Calculate Slack thermal conductivity using the integral model. (In high temperature regions, those higher than that of the Debye temperature of the material, the Callaway model is insufficient at predicting the lattice thermal conductivity. This shortfall must be addressed as many thermoelectric materials are designed to be used in conditions beyond the Debye temperature of the alloys and accurate predictions are required. At high temperatures, a modification suggested by Glassbrenner and Slack is made to model thermal conductivity as shown here.)

  References:
    - DOI: 10.1103/PhysRev.134.A1058 (Title: “Thermal Conductivity of Silicon and Germanium from 3 K to the Melting

    > Point”)

    - DOI: 10.1063/1.4906225 (Title: “Critical analysis of lattice thermal conductivity of half-Heusler alloys

    using variations of Callaway model”)

  Args:

    v_m: (float) speed of sound in the material (in SI units, i.e. m(s)^(-1)) T: (float) absolute temperature (in K) theta: (float) Debye temperature (in K) t_c: (float) combined phonon relaxation time that includes higher-order processes (in SI units, s^(-1))

    > (see Ref:- DOI: 10.1103/PhysRev.134.A1058)

  Returns: (float) Slack thermal conductivity (in SI units, i.e. W(mK)^(-1))

`matminer.models.thermal_conductivity.` `slack_simple_model`(M, theta, v_a, gamma, n, T)

  Calculate the simple Slack thermal conductivity

  References
    - DOI: 10.1007/0-387-25100-6_2 (Title: “High Lattice Thermal Conductivity Solids”)
    - DOI: 10.1002/adfm.201600718 (Title: “Minimum Thermal Conductivity in Weak Topological Insulators with

    Bismuth-Based Stack Structure”)

  Args:
    M: (float) average atomic mass theta: (float) Debye temperature (K) v_a: (float) (v_a)**3 is the volume per atom (Angstroms) gamma: (float) Gruneisen parameter n: (int) number of atoms in primitive cell T: (float) absolute temperature (K)

  Returns: (float) Slack thermal conductivity (in SI units, i.e. W(mK)^(-1))

## Module contents