Refactored project structure
In order to simplify the syntax and comply with PEP8 convention, the following changes have been made:
StiffnessTensor
andComplianceTensor
are now at:Elasticipy.tensors.elasticity
StrainTensor
andStressTensor
are now at:Elasticipy.tensors.stress_strain
ThermalExpansion
is now at:Elasticipy.tensors.thermal_expansion
For instance, the former import statements
# Old syntax
from Elasticipy.FourthOrderTensor import StiffnessTensor
from Elasticipy.StressStressTensors import StressTensor, StrainTensor
from Elasticipy.ThermalExpansion import ThermalExpansionTensor
becomes
# New syntax
from Elasticipy.tensors.elasticity import StiffnessTensor
from Elasticipy.tensors.stress_strain import StressTensor, StrainTensor
from Elasticipy.tensors.thermal_expansion import ThermalExpansionTensor
Backward compatibility has been maintained, but a deprecation warning is raised if one uses the old syntax.
Multidimensional arrays of 4th-order tensors
It is now possible to define nd-arrays of 4th-order tensors (such as StiffnessTensor
). This can easily be done with orix rotations. These arrays no longer store the orientations, but all the rotated components as a (...,6,6) matrix.
General-purpose 4th-order tensors
The release introduces the classes FourthOrderTensor
and SymmetricFourthOrderTensor
. This allows to perform tensor operation on between two 4th-order tensors.
New features
This release provides new features, such as:
- invariants for
SymmetricFourthOrderTensor
- invariant-based tests for isotropic, cubic and tetragonal symmetries
- invariant-based method to compute the Zener ratio