Elasticipy.FourthOrderTensor module
- class Elasticipy.FourthOrderTensor.ComplianceTensor(C, check_positive_definite=True, **kwargs)[source]
Bases:
StiffnessTensorClass for manipulating compliance tensors
Construct of stiffness tensor from a (6,6) matrix.
The input matrix must be symmetric, otherwise an error is thrown (except if check_symmetry==False, see below)
- Parameters:
M (np.ndarray) – (6,6) matrix corresponding to the stiffness tensor, written using the Voigt notation, or array of shape (3,3,3,3).
phase_name (str, default None) – Name to display
symmetry (str, default Triclinic) – Name of the crystal’s symmetry
check_symmetry (bool, optional) – Whether to check or not that the input matrix is symmetric.
check_positive_definite (bool, optional) – Whether to check or not that the input matrix is definite positive
- Hill_average()[source]
Compute the (Voigt-Reuss-)Hill average of the stiffness tensor. If the tensor contains no orientation, we assume isotropic behaviour. Otherwise, the mean is computed over all orientations.
- Returns:
Voigt-Reuss-Hill average of tensor
- Return type:
See also
Voigt_averagecompute the Voigt average
Reuss_averagecompute the Reuss average
averagegeneric function for calling either the Voigt, Reuss or Hill average
- Reuss_average()[source]
Compute the Reuss average of the stiffness tensor. If the tensor contains no orientation, we assume isotropic behaviour. Otherwise, the mean is computed over all orientations.
- Returns:
Reuss average of stiffness tensor
- Return type:
See also
Voigt_averagecompute the Voigt average
Hill_averagecompute the Voigt-Reuss-Hill average
averagegeneric function for calling either the Voigt, Reuss or Hill average
- Voigt_average()[source]
Compute the Voigt average of the stiffness tensor. If the tensor contains no orientation, we assume isotropic behaviour. Otherwise, the mean is computed over all orientations.
- Returns:
Voigt average of stiffness tensor
- Return type:
See also
Reuss_averagecompute the Reuss average
Hill_averagecompute the Voigt-Reuss-Hill average
averagegeneric function for calling either the Voigt, Reuss or Hill average
- classmethod isotropic(E=None, nu=None, lame1=None, lame2=None, phase_name=None)[source]
Create an isotropic stiffness tensor from two elasticity coefficients, namely: E, nu, lame1, or lame2. Exactly two of these coefficients must be provided.
- Parameters:
E (float, None) – Young modulus
nu (float, None) – Poisson ratio
lame1 (float, None) – First Lamé coefficient
lame2 (float, None) – Second Lamé coefficient
phase_name (str, None) – Name to print
- Return type:
Corresponding isotropic stiffness tensor
See also
transverse_isotropiccreate a transverse-isotropic tensor
Examples
On can check that the shear modulus for steel is around 82 GPa:
>>> from Elasticipy.FourthOrderTensor import StiffnessTensor >>> C=StiffnessTensor.isotropic(E=210e3, nu=0.28) >>> C.shear_modulus Hyperspherical function Min=82031.24999999991, Max=82031.24999999997
- classmethod orthotropic(*args, **kwargs)[source]
Create a stiffness tensor corresponding to orthotropic symmetry, given the engineering constants.
- Parameters:
Ex (float) – Young modulus along the x axis
Ey (float) – Young modulus along the y axis
Ez (float) – Young modulus along the z axis
nu_yx (float) – Poisson ratio between x and y axes
nu_zx (float) – Poisson ratio between x and z axes
nu_zy (float) – Poisson ratio between y and z axes
Gxy (float) – Shear modulus in the x-y plane
Gxz (float) – Shear modulus in the x-z plane
Gyz (float) – Shear modulus in the y-z plane
kwargs (dict, optional) – Keyword arguments to pass to the StiffnessTensor constructor
- Return type:
See also
transverse_isotropiccreate a stiffness tensor for transverse-isotropic symmetry
- to_pymatgen()[source]
Convert the compliance tensor (from Elasticipy) to Python Materials Genomics (Pymatgen) format.
- Returns:
Compliance tensor for pymatgen
- Return type:
pymatgen.analysis.elasticity.elastic.Compliance
- classmethod transverse_isotropic(*args, **kwargs)[source]
Create a stiffness tensor corresponding to the transverse isotropic symmetry, given the engineering constants.
- Parameters:
Ex (float) – Young modulus along the x axis
Ez (float) – Young modulus along the y axis
nu_yx (float) – Poisson ratio between x and y axes
nu_zx (float) – Poisson ratio between x and z axes
Gxz (float) – Shear modulus in the x-z plane
kwargs (dict) – Keyword arguments to pass to the StiffnessTensor constructor
- Return type:
See also
orthotropiccreate a stiffness tensor for orthotropic symmetry
- property universal_anisotropy[source]
Compute the universal anisotropy factor.
It is actually an alias for inv().universal_anisotropy.
- Returns:
Universal anisotropy factor
- Return type:
float
- voigt_map = array([[1., 1., 1., 2., 2., 2.], [1., 1., 1., 2., 2., 2.], [1., 1., 1., 2., 2., 2.], [2., 2., 2., 4., 4., 4.], [2., 2., 2., 4., 4., 4.], [2., 2., 2., 4., 4., 4.]])[source]
- classmethod weighted_average(*args)[source]
Compute the weighted average of a list of stiffness tensors, with respect to a given method (Voigt, Reuss or Hill).
- Parameters:
Cs (list of StiffnessTensor or list of ComplianceTensor or tuple of StiffnessTensor or tuple of ComplianceTensor) – Series of tensors to compute the average from
volume_fractions (iterable of floats) – Volume fractions of each phase
method (str, {'Voigt', 'Reuss', 'Hill'}) – Method to use. It can be ‘Voigt’, ‘Reuss’, or ‘Hill’.
- Returns:
Average tensor
- Return type:
- class Elasticipy.FourthOrderTensor.StiffnessTensor(S, check_positive_definite=True, **kwargs)[source]
Bases:
SymmetricTensorClass for manipulating fourth-order stiffness tensors.
Construct of stiffness tensor from a (6,6) matrix.
The input matrix must be symmetric, otherwise an error is thrown (except if check_symmetry==False, see below)
- Parameters:
M (np.ndarray) – (6,6) matrix corresponding to the stiffness tensor, written using the Voigt notation, or array of shape (3,3,3,3).
phase_name (str, default None) – Name to display
symmetry (str, default Triclinic) – Name of the crystal’s symmetry
check_symmetry (bool, optional) – Whether to check or not that the input matrix is symmetric.
check_positive_definite (bool, optional) – Whether to check or not that the input matrix is definite positive
- Christoffel_tensor(u)[source]
Create the Christoffel tensor along a given direction, or set or directions.
- Parameters:
u (list or np.ndarray) – 3D direction(s) to compute the Christoffel tensor along with
- Returns:
Gamma – Array of Christoffel tensor(s). if u is a list of directions, Gamma[i] is the Christoffel tensor for direction u[i].
- Return type:
np.ndarray
See also
wave_velocitycomputes the p- and s-wave velocities.
Notes
For a given stiffness tensor C and a given unit vector u, the Christoffel tensor is defined as [2] :
\[M_{ij} = C_{iklj}.u_k.u_l\]
- Hill_average()[source]
Compute the (Voigt-Reuss-)Hill average of the stiffness tensor. If the tensor contains no orientation, we assume isotropic behaviour. Otherwise, the mean is computed over all orientations.
- Returns:
Voigt-Reuss-Hill average of tensor
- Return type:
See also
Voigt_averagecompute the Voigt average
Reuss_averagecompute the Reuss average
averagegeneric function for calling either the Voigt, Reuss or Hill average
- Reuss_average()[source]
Compute the Reuss average of the stiffness tensor. If the tensor contains no orientation, we assume isotropic behaviour. Otherwise, the mean is computed over all orientations.
- Returns:
Reuss average of stiffness tensor
- Return type:
See also
Voigt_averagecompute the Voigt average
Hill_averagecompute the Voigt-Reuss-Hill average
averagegeneric function for calling either the Voigt, Reuss or Hill average
- Voigt_average()[source]
Compute the Voigt average of the stiffness tensor. If the tensor contains no orientation, we assume isotropic behaviour. Otherwise, the mean is computed over all orientations.
- Returns:
Voigt average of stiffness tensor
- Return type:
See also
Reuss_averagecompute the Reuss average
Hill_averagecompute the Voigt-Reuss-Hill average
averagegeneric function for calling either the Voigt, Reuss or Hill average
- average(method)[source]
Compute either the Voigt, Reuss, or Hill average of the stiffness tensor.
This function is just a shortcut for Voigt_average(), Reuss_average(), or Hill_average() and Hill_average().
- Parameters:
method (str {'Voigt', 'Reuss', 'Hill'})
average. (Method to use to compute the)
- Return type:
See also
Voigt_averagecompute the Voigt average
Reuss_averagecompute the Reuss average
Hill_averagecompute the Voigt-Reuss-Hill average
- classmethod from_MP(ids, api_key=None)[source]
Import stiffness tensor(s) from the Materials Project API, given their material ids.
You need to register to https://materialsproject.org first to get an API key. This key can be explicitly passed as an argument (see below), or provided as an environment variable named MP_API_KEY.
- Parameters:
ids (str or list of str) – ID(s) of the material to import (e.g. “mp-1048”)
api_key (str, optional) – API key to the Materials Project API. If not provided, it should be available as the API_KEY environment variable.
- Returns:
If one of the requested material ids was not found, the corresponding value in the list will be None.
- Return type:
list of StiffnessTensor
- classmethod isotropic(E=None, nu=None, lame1=None, lame2=None, phase_name=None)[source]
Create an isotropic stiffness tensor from two elasticity coefficients, namely: E, nu, lame1, or lame2. Exactly two of these coefficients must be provided.
- Parameters:
E (float, None) – Young modulus
nu (float, None) – Poisson ratio
lame1 (float, None) – First Lamé coefficient
lame2 (float, None) – Second Lamé coefficient
phase_name (str, None) – Name to print
- Return type:
Corresponding isotropic stiffness tensor
See also
transverse_isotropiccreate a transverse-isotropic tensor
Examples
On can check that the shear modulus for steel is around 82 GPa:
>>> from Elasticipy.FourthOrderTensor import StiffnessTensor >>> C=StiffnessTensor.isotropic(E=210e3, nu=0.28) >>> C.shear_modulus Hyperspherical function Min=82031.24999999991, Max=82031.24999999997
- property linear_compressibility[source]
Compute the directional linear compressibility.
- Returns:
Directional linear compressibility
- Return type:
- classmethod orthotropic(*, Ex, Ey, Ez, nu_yx, nu_zx, nu_zy, Gxy, Gxz, Gyz, **kwargs)[source]
Create a stiffness tensor corresponding to orthotropic symmetry, given the engineering constants.
- Parameters:
Ex (float) – Young modulus along the x axis
Ey (float) – Young modulus along the y axis
Ez (float) – Young modulus along the z axis
nu_yx (float) – Poisson ratio between x and y axes
nu_zx (float) – Poisson ratio between x and z axes
nu_zy (float) – Poisson ratio between y and z axes
Gxy (float) – Shear modulus in the x-y plane
Gxz (float) – Shear modulus in the x-z plane
Gyz (float) – Shear modulus in the y-z plane
kwargs (dict, optional) – Keyword arguments to pass to the StiffnessTensor constructor
- Return type:
See also
transverse_isotropiccreate a stiffness tensor for transverse-isotropic symmetry
- to_pymatgen()[source]
Convert the stiffness tensor (from Elasticipy) to Python Materials Genomics (Pymatgen) format.
- Returns:
Stiffness tensor for pymatgen
- Return type:
pymatgen.analysis.elasticity.elastic.ElasticTensor
- classmethod transverse_isotropic(*, Ex, Ez, nu_yx, nu_zx, Gxz, **kwargs)[source]
Create a stiffness tensor corresponding to the transverse isotropic symmetry, given the engineering constants.
- Parameters:
Ex (float) – Young modulus along the x axis
Ez (float) – Young modulus along the y axis
nu_yx (float) – Poisson ratio between x and y axes
nu_zx (float) – Poisson ratio between x and z axes
Gxz (float) – Shear modulus in the x-z plane
kwargs (dict) – Keyword arguments to pass to the StiffnessTensor constructor
- Return type:
See also
orthotropiccreate a stiffness tensor for orthotropic symmetry
- property universal_anisotropy[source]
Compute the universal anisotropy factor.
The larger the value, the more likely the material will behave in an anisotropic way.
- Returns:
The universal anisotropy factor.
- Return type:
float
Notes
The universal anisotropy factor is defined as [3]:
\[5\frac{G_v}{G_r} + \frac{K_v}{K_r} - 6\]References
- wave_velocity(rho)[source]
Compute the wave velocities, given the mass density.
- Parameters:
rho (float) – mass density. Its unit must be consistent with that of the stiffness tensor. See notes for hints.
See also
ChristoffelTensorComputes the Christoffel tensor along a given direction
- Returns:
c_p (SphericalFunction) – Velocity of the primary (compressive) wave
c_s1 (SphericalFunction) – Velocity of the fast secondary (shear) wave
c_s2 (SphericalFunction) – Velocity of the slow secondary (shear) wave
Notes
The estimation of the wave velocities is made by finding the eigenvalues of the Christoffel tensor [2].
One should double-check the units. The table below provides hints about the unit you get, depending on the units you use for stiffness and the mass density:
Stiffness
Mass density
Velocities
Notes
Pa (N/m²)
kg/m³
m/s
SI units
GPa (10⁹ Pa)
kg/dm³
km/s
Conversion factor
GPa (10³ N/mm²)
kg/mm³
m/s
Consistent units
MPa (10⁶ Pa)
kg/m³
km/s
Conversion factor
MPa (10³ N/mm²)
g/mm³
m/s
Consistent units
References
[2] (1,2) J. W. Jaeken, S. Cottenier, Solving the Christoffel equation: Phase and group velocities, Computer Physics Communications (207), 2016, https://doi.org/10.1016/j.cpc.2016.06.014.
- classmethod weighted_average(Cs, volume_fractions, method)[source]
Compute the weighted average of a list of stiffness tensors, with respect to a given method (Voigt, Reuss or Hill).
- Parameters:
Cs (list of StiffnessTensor or list of ComplianceTensor or tuple of StiffnessTensor or tuple of ComplianceTensor) – Series of tensors to compute the average from
volume_fractions (iterable of floats) – Volume fractions of each phase
method (str, {'Voigt', 'Reuss', 'Hill'}) – Method to use. It can be ‘Voigt’, ‘Reuss’, or ‘Hill’.
- Returns:
Average tensor
- Return type:
- class Elasticipy.FourthOrderTensor.SymmetricTensor(M, phase_name=None, symmetry='Triclinic', orientations=None, check_symmetry=True, check_positive_definite=False)[source]
Bases:
objectTemplate class for manipulating symmetric fourth-order tensors.
- matrix[source]
(6,6) matrix gathering all the components of the tensor, using the Voigt notation.
- Type:
np.ndarray
Construct of stiffness tensor from a (6,6) matrix.
The input matrix must be symmetric, otherwise an error is thrown (except if check_symmetry==False, see below)
- Parameters:
M (np.ndarray) – (6,6) matrix corresponding to the stiffness tensor, written using the Voigt notation, or array of shape (3,3,3,3).
phase_name (str, default None) – Name to display
symmetry (str, default Triclinic) – Name of the crystal’s symmetry
check_symmetry (bool, optional) – Whether to check or not that the input matrix is symmetric.
check_positive_definite (bool, optional) – Whether to check or not that the input matrix is definite positive
- classmethod cubic(*, C11=0.0, C12=0.0, C44=0.0, phase_name=None)[source]
Create a fourth-order tensor from cubic symmetry.
- Parameters:
C11 (float)
C12 (float)
C44 (float)
phase_name (str, optional) – Phase name to display
- Return type:
See also
hexagonalcreate a tensor from hexagonal symmetry
orthorhombiccreate a tensor from orthorhombic symmetry
- classmethod fromCrystalSymmetry(symmetry='Triclinic', point_group=None, diad='y', phase_name=None, prefix=None, **kwargs)[source]
Create a fourth-order tensor from limited number of components, taking advantage of crystallographic symmetries
- Parameters:
symmetry (str, default Triclinic) – Name of the crystallographic symmetry
point_group (str) – Point group of the considered crystal. Only used (and mandatory) for tetragonal and trigonal symmetries.
diad (str {'x', 'y'}, default 'x') – Alignment convention. Sets whether x||a or y||b. Only used for monoclinic symmetry.
phase_name (str, default None) – Name to use when printing the tensor
prefix (str, default None) – Define the prefix to use when providing the components. By default, it is ‘C’ for stiffness tensors, ‘S’ for compliance.
kwargs – Keywords describing all the necessary components, depending on the crystal’s symmetry and the type of tensor. For Stiffness, they should be named as ‘Cij’ (e.g. C11=…, C12=…). For Comliance, they should be named as ‘Sij’ (e.g. S11=…, S12=…). See examples below. The behaviour can be overriten with the prefix option (see above)
- Return type:
FourthOrderTensor
See also
StiffnessTensor.isotropiccreates an isotropic stiffness tensor from two paremeters (e.g. E and v).
Notes
The relationships between the tensor’s components depend on the crystallogrpahic symmetry [1].
References
[1] Nye, J. F. Physical Properties of Crystals. London: Oxford University Press, 1959.
Examples
>>> from Elasticipy.FourthOrderTensor import StiffnessTensor
>>> StiffnessTensor.fromCrystalSymmetry(symmetry='monoclinic', diad='y', phase_name='TiNi', ... C11=231, C12=127, C13=104, ... C22=240, C23=131, C33=175, ... C44=81, C55=11, C66=85, ... C15=-18, C25=1, C35=-3, C46=3) Stiffness tensor (in Voigt notation) for TiNi: [[231. 127. 104. 0. -18. 0.] [127. 240. 131. 0. 1. 0.] [104. 131. 175. 0. -3. 0.] [ 0. 0. 0. 81. 0. 3.] [-18. 1. -3. 0. 11. 0.] [ 0. 0. 0. 3. 0. 85.]] Symmetry: monoclinic
>>> from Elasticipy.FourthOrderTensor import ComplianceTensor
>>> ComplianceTensor.fromCrystalSymmetry(symmetry='monoclinic', diad='y', phase_name='TiNi', ... S11=8, S12=-3, S13=-2, ... S22=8, S23=-5, S33=10, ... S44=12, S55=116, S66=12, ... S15=14, S25=-8, S35=0, S46=0) Compliance tensor (in Voigt notation) for TiNi: [[ 8. -3. -2. 0. 14. 0.] [ -3. 8. -5. 0. -8. 0.] [ -2. -5. 10. 0. 0. 0.] [ 0. 0. 0. 12. 0. 0.] [ 14. -8. 0. 0. 116. 0.] [ 0. 0. 0. 0. 0. 12.]] Symmetry: monoclinic
- classmethod from_txt_file(filename)[source]
Load the tensor from a text file.
The two first lines can have data about phase name and symmetry, but this is not mandatory.
- Parameters:
filename (str) – Filename to load the tensor from.
- Returns:
The reconstructed tensor read from the file.
- Return type:
See also
save_to_txtcreate a tensor from text file
- full_tensor()[source]
Returns the full (unvoigted) tensor, as a [3, 3, 3, 3] array
- Returns:
Full tensor (4-index notation)
- Return type:
np.ndarray
- classmethod hexagonal(*, C11=0.0, C12=0.0, C13=0.0, C33=0.0, C44=0.0, phase_name=None)[source]
Create a fourth-order tensor from hexagonal symmetry.
- Parameters:
C11 (float) – Components of the tensor, using the Voigt notation
C12 (float) – Components of the tensor, using the Voigt notation
C13 (float) – Components of the tensor, using the Voigt notation
C33 (float) – Components of the tensor, using the Voigt notation
C44 (float) – Components of the tensor, using the Voigt notation
phase_name (str, optional) – Phase name to display
- Return type:
FourthOrderTensor
See also
transverse_isotropiccreates a transverse-isotropic tensor from engineering parameters
cubiccreate a tensor from cubic symmetry
tetragonalcreate a tensor from tetragonal symmetry
- classmethod monoclinic(*, C11=0.0, C12=0.0, C13=0.0, C22=0.0, C23=0.0, C33=0.0, C44=0.0, C55=0.0, C66=0.0, C15=None, C25=None, C35=None, C46=None, C16=None, C26=None, C36=None, C45=None, phase_name=None)[source]
Create a fourth-order tensor from monoclinic symmetry. It automatically detects whether the components are given according to the Y or Z diad, depending on the input arguments.
For Diad || y, C15, C25, C35 and C46 must be provided. For Diad || z, C16, C26, C36 and C45 must be provided.
- Parameters:
C11 (float) – Components of the tensor, using the Voigt notation
C12 (float) – Components of the tensor, using the Voigt notation
C13 (float) – Components of the tensor, using the Voigt notation
C22 (float) – Components of the tensor, using the Voigt notation
C23 (float) – Components of the tensor, using the Voigt notation
C33 (float) – Components of the tensor, using the Voigt notation
C44 (float) – Components of the tensor, using the Voigt notation
C55 (float) – Components of the tensor, using the Voigt notation
C66 (float) – Components of the tensor, using the Voigt notation
C15 (float, optional) – C15 component of the tensor (if Diad || y)
C25 (float, optional) – C25 component of the tensor (if Diad || y)
C35 (float, optional) – C35 component of the tensor (if Diad || y)
C46 (float, optional) – C46 component of the tensor (if Diad || y)
C16 (float, optional) – C16 component of the tensor (if Diad || z)
C26 (float, optional) – C26 component of the tensor (if Diad || z)
C36 (float, optional) – C36 component of the tensor (if Diad || z)
C45 (float, optional) – C45 component of the tensor (if Diad || z)
phase_name (str, optional) – Name to display
- Return type:
FourthOrderTensor
See also
tricliniccreate a tensor from triclinic symmetry
orthorhombiccreate a tensor from orthorhombic symmetry
- classmethod orthorhombic(*, C11=0.0, C12=0.0, C13=0.0, C22=0.0, C23=0.0, C33=0.0, C44=0.0, C55=0.0, C66=0.0, phase_name=None)[source]
Create a fourth-order tensor from orthorhombic symmetry.
- Parameters:
C11 (float) – Components of the tensor, using the Voigt notation
C12 (float) – Components of the tensor, using the Voigt notation
C13 (float) – Components of the tensor, using the Voigt notation
C22 (float) – Components of the tensor, using the Voigt notation
C23 (float) – Components of the tensor, using the Voigt notation
C33 (float) – Components of the tensor, using the Voigt notation
C44 (float) – Components of the tensor, using the Voigt notation
C55 (float) – Components of the tensor, using the Voigt notation
C66 (float) – Components of the tensor, using the Voigt notation
phase_name (str, optional) – Phase name to display
- Return type:
FourthOrderTensor
See also
monocliniccreate a tensor from monoclinic symmetry
orthorhombiccreate a tensor from orthorhombic symmetry
- rotate(rotation)[source]
Apply a single rotation to a tensor, and return its component into the rotated frame.
- Parameters:
rotation (Rotation or orix.quaternion.rotation.Rotation) – Rotation to apply
- Returns:
Rotated tensor
- Return type:
- save_to_txt(filename, matrix_only=False)[source]
Save the tensor to a text file.
- Parameters:
filename (str) – Filename to save the tensor to.
matrix_only (bool, False) – If true, only the components of tje stiffness tensor is saved (no data about phase nor symmetry)
See also
from_txt_filecreate a tensor from text file
- classmethod tetragonal(*, C11=0.0, C12=0.0, C13=0.0, C33=0.0, C44=0.0, C16=0.0, C66=0.0, phase_name=None)[source]
Create a fourth-order tensor from tetragonal symmetry.
- Parameters:
C11 (float) – Components of the tensor, using the Voigt notation
C12 (float) – Components of the tensor, using the Voigt notation
C13 (float) – Components of the tensor, using the Voigt notation
C33 (float) – Components of the tensor, using the Voigt notation
C44 (float) – Components of the tensor, using the Voigt notation
C66 (float) – Components of the tensor, using the Voigt notation
C16 (float, optional) – C16 component in Voigt notation (for point groups 4, -4 and 4/m only)
phase_name (str, optional) – Phase name to display
- Return type:
FourthOrderTensor
See also
trigonalcreate a tensor from trigonal symmetry
orthorhombiccreate a tensor from orthorhombic symmetry
- classmethod triclinic(C11=0.0, C12=0.0, C13=0.0, C14=0.0, C15=0.0, C16=0.0, C22=0.0, C23=0.0, C24=0.0, C25=0.0, C26=0.0, C33=0.0, C34=0.0, C35=0.0, C36=0.0, C44=0.0, C45=0.0, C46=0.0, C55=0.0, C56=0.0, C66=0.0, phase_name=None)[source]
- Parameters:
C11 (float) – Components of the tensor
C12 (float) – Components of the tensor
C13 (float) – Components of the tensor
C14 (float) – Components of the tensor
C15 (float) – Components of the tensor
C16 (float) – Components of the tensor
C22 (float) – Components of the tensor
C23 (float) – Components of the tensor
C24 (float) – Components of the tensor
C25 (float) – Components of the tensor
C26 (float) – Components of the tensor
C33 (float) – Components of the tensor
C34 (float) – Components of the tensor
C35 (float) – Components of the tensor
C36 (float) – Components of the tensor
C44 (float) – Components of the tensor
C45 (float) – Components of the tensor
C46 (float) – Components of the tensor
C55 (float) – Components of the tensor
C56 (float) – Components of the tensor
C66 (float) – Components of the tensor
phase_name (str, optional) – Name to display
- Return type:
FourthOrderTensor
See also
monocliniccreate a tensor from monoclinic symmetry
orthorhombiccreate a tensor from orthorhombic symmetry
- classmethod trigonal(*, C11=0.0, C12=0.0, C13=0.0, C14=0.0, C33=0.0, C44=0.0, C15=0.0, phase_name=None)[source]
Create a fourth-order tensor from trigonal symmetry.
- Parameters:
C11 (float) – Components of the tensor, using the Voigt notation
C12 (float) – Components of the tensor, using the Voigt notation
C13 (float) – Components of the tensor, using the Voigt notation
C14 (float) – Components of the tensor, using the Voigt notation
C33 (float) – Components of the tensor, using the Voigt notation
C44 (float) – Components of the tensor, using the Voigt notation
C15 (float, optional) – C15 component of the tensor, only used for point groups 3 and -3.
phase_name (str, optional) – Phase name to display
- Return type:
FourthOrderTensor
See also
tetragonalcreate a tensor from tetragonal symmetry
orthorhombiccreate a tensor from orthorhombic symmetry