Elasticipy.tensors.mapping

class Elasticipy.tensors.mapping.KelvinMapping[source]

Bases: MappingConvention

property mapping_inverse[source]
matrix = array([[1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ]])[source]
name = 'Kelvin'[source]
class Elasticipy.tensors.mapping.MappingConvention[source]

Bases: object

Generic class for defining the mapping convention to build a 4th-order tensor from a (6,6) matrix, and the mapping convention to use for reciprocal tensor.

matrix[source]

(6,6) matrix evidencing the coefficient between the 4-index and the 2-index notations

Type:

numpy.ndarray

mapping_inverse[source]

Mapping convention to use for the reciprocal tensor

Type:

MappingConvention

property mapping_inverse[source]
matrix = array([[1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ]])[source]
class Elasticipy.tensors.mapping.VoigtMapping(tensor='Stiffness')[source]

Bases: MappingConvention

Create a Voigt mapping convention.

Parameters:

tensor (str) – It can be ‘stiffness’ or ‘compliance’ Type of tensor we define. Depending on this, the mapping convention will change (see notes).

Notes

For stiffness-like tensors (if tensor=stiffness), the mapping matrix will be:

\[\begin{split}\begin{bmatrix} 1 & 1 & 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1 & 1 & 1\\ 1 & 1 & 1 & 1 & 1 & 1\\ \end{bmatrix}\end{split}\]

Conversely, for compliance-like tensors (if tensor=compliance), the mapping matrix will be:

\[\begin{split}\begin{bmatrix} 1 & 1 & 1 & \sqrt{2} & \sqrt{2} & \sqrt{2}\\ 1 & 1 & 1 & \sqrt{2} & \sqrt{2} & \sqrt{2}\\ 1 & 1 & 1 & \sqrt{2} & \sqrt{2} & \sqrt{2}\\ \sqrt{2} & \sqrt{2} & \sqrt{2} & 2 & 2 & 2\\ \sqrt{2} & \sqrt{2} & \sqrt{2} & 2 & 2 & 2\\ \sqrt{2} & \sqrt{2} & \sqrt{2} & 2 & 2 & 2\\ \end{bmatrix}\end{split}\]
property mapping_inverse[source]
matrix = array([[1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.        , 1.        , 1.        , 1.41421356, 1.41421356,         1.41421356],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ],        [1.41421356, 1.41421356, 1.41421356, 2.        , 2.        ,         2.        ]])[source]
name = 'Voigt'[source]