elaston.inclusion module

elaston.inclusion.get_point_defect_displacement(C: ndarray, {'units': '=C'}], x: ndarray, {'units': '=x'}], P: ndarray, {'units': '=P'}], n_mesh: int = 100, optimize: bool = True, check_unique: bool = False) ndarray, {'units': '=P/C/x**2'}][source]

Displacement field around a point defect

Parameters:
  • C ((3,3,3,3)-array) – Elastic tensor

  • x ((n,3)-array) – Positions in real space or reciprocal space (if fourier=True).

  • P ((3,3)-array) – Dipole tensor

  • n_mesh (int) – Number of mesh points in the radial integration in case if anisotropic Green’s function (ignored if isotropic=True or fourier=True)

  • optimize (bool) – cf. optimize in numpy.einsum

  • check_unique (bool) – Whether to check the unique positions

Returns:

Displacement field

Return type:

((n,3)-array)

elaston.inclusion.get_point_defect_energy_density(C: ndarray, {'units': '=C'}], x: ndarray, {'units': '=x'}], P: ndarray, {'units': '=P'}], n_mesh: int = 100, optimize: bool = True) ndarray, {'units': '=P**2/C/x**6'}][source]

Energy density field around a point defect using the Green’s function method

Parameters:
  • C ((3,3,3,3)-array) – Elastic tensor

  • x ((n,3)-array) – Positions in real space or reciprocal space (if fourier=True).

  • P ((3,3)-array) – Dipole tensor

  • n_mesh (int) – Number of mesh points in the radial integration in case if anisotropic Green’s function (ignored if isotropic=True or fourier=True)

  • optimize (bool) – cf. optimize in numpy.einsum

Returns:

Energy density field

Return type:

((n,)-array)

elaston.inclusion.get_point_defect_strain(C: ndarray, {'units': '=C'}], x: ndarray, {'units': '=x'}], P: ndarray, {'units': '=P'}], n_mesh: int = 100, optimize: bool = True, check_unique: bool = False) ndarray, {'units': '=P/C/x**3'}][source]

Strain field around a point defect using the Green’s function method

Parameters:
  • C ((3,3,3,3)-array) – Elastic tensor

  • x ((n,3)-array) – Positions in real space or reciprocal space (if fourier=True).

  • P ((3,3)-array) – Dipole tensor

  • n_mesh (int) – Number of mesh points in the radial integration in case if anisotropic Green’s function (ignored if isotropic=True or fourier=True)

  • optimize (bool) – cf. optimize in numpy.einsum

  • check_unique (bool) – Whether to check the unique positions

Returns:

Strain field

Return type:

((n,3,3)-array)

elaston.inclusion.get_point_defect_stress(C: ndarray, {'units': '=C'}], x: ndarray, {'units': '=x'}], P: ndarray, {'units': '=P'}], n_mesh: int = 100, optimize: bool = True) ndarray, {'units': '=P/x**3'}][source]

Stress field around a point defect using the Green’s function method

Parameters:
  • C ((3,3,3,3)-array) – Elastic tensor

  • x ((n,3)-array) – Positions in real space or reciprocal space (if fourier=True).

  • P ((3,3)-array) – Dipole tensor

  • n_mesh (int) – Number of mesh points in the radial integration in case if anisotropic Green’s function (ignored if isotropic=True or fourier=True)

  • optimize (bool) – cf. optimize in numpy.einsum

Returns:

Stress field

Return type:

((n,3,3)-array)