Skip to content

v4.0.0

Latest
Compare
Choose a tag to compare
@DorianDepriester DorianDepriester released this 10 Apr 09:47
· 15 commits to main since this release

Refactored project structure

In order to simplify the syntax and comply with PEP8 convention, the following changes have been made:

  • StiffnessTensor and ComplianceTensor are now at: Elasticipy.tensors.elasticity
  • StrainTensor and StressTensor 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