calculate_displacements_with_numerical_integrals¶
-
dislocation_tools.backend.integral.calculate_displacements_with_numerical_integrals(radii, angles, b, m, n, xi, c)¶ Compute the displacements with integral formalism and numerical math
Calculate the displacement using Barnett and Lothe’s integral formalism [1], see [2] and [3]. The variables of the elastic problem are given similar names as in [2] and [3]. The solution involves integration, see equ. 4.1.25 in [3]. The integrands are combinations of matrices, which, in turn are contractions of the elastic stiffness tensor with two perpendicular vectors. The numerical integration used here, scipy.integrate.quad, currently does not support simultaneous integration of matrix components. Therefore, the components have to be integrated independently, and the same contractions have to be performed 9 times per matrix. The integral given by equ. 4.1.25 has to be carried out for each atom; therefore the current numerical implementation is relatively slow. For a faster solution using symbolic math see calculate_displacements_with_symbolical_integrals.
- Parameters
radii (array-like) – N×1 array of perpendicular distances of the atoms from the line direction
angles (array-like) – N×1 array of angles in the plane perpendicular to xi, and relative to m
b (array-like) – Burgers vector (in laboratory coordinate system)
m (array-like) – x-direction of the dislocation coordinate system
n (array-like) – y-direction of the dislocation coordinate system
xi (array-like) – dislocation line direction; z-direction of the coordinate system
c (array-like) – 3×3×3×3 array representation of elastic stiffness, given in laboratory coordinates
- Returns
u – displacements in laboratory coordinate system
- Return type
(numpy.ndarray)
References
Barnett, D.M.; Lothe, J. Phys. Norvegica, 7 (1973)
Hirth, J.P.; Lothe, J. Theory of Dislocations, 2nd Edition; John Wiley and Sons, 1982. pp 467
Bacon, D. J.; Barnett, D. M.; Scattergood, R. O. Progress in Materials Science 1978, 23, 51-262.