topoptlab.stiffness_tensors module
- topoptlab.stiffness_tensors.compute_elastic_properties_3d(E: None | float = None, nu: None | float = None, G: None | float = None, K: None | float = None, lam: None | float = None, M: None | float = None) Tuple[float, float, float, float, float, float][source]
Compute all 3D isotropic elastic properties from any 2 given elast. properties.
- Parameters:
E (None or float) – Young’s modulus.
nu (None or float) – Poisson’s ratio.
G (None or float) – shear modulus.
K (None or float) – bulk modulus.
lam (None or float) – Lamé’s first parameter.
M (None or float) – P-wave modulus.
- Returns:
E (float) – Young’s modulus.
nu (float) – Poisson’s ratio.
G (float) – shear modulus.
K (float) – bulk modulus.
lam (float) – Lamé’s first parameter.
M (float) – P-wave modulus.
- topoptlab.stiffness_tensors.isotropic_2d(E: float = 1.0, nu: float = 0.3, plane_stress: bool = True) ndarray[source]
2D stiffness tensor for isotropic material in engineering Voigt convention (strain shear component corresponds to engineering shear strain, so the shear entry equals G).
- Parameters:
E (float) – Young’s modulus.
nu (float) – Poisson’s ratio.
plane_stress (bool) – if True, return stiffness tensor for plane stress, otherwise return stiffness tensor for plane strain
- Returns:
c – stiffness tensor.
- Return type:
np.ndarray, shape (3,3)
- topoptlab.stiffness_tensors.isotropic_3d(E: float = 1.0, nu: float = 0.3) ndarray[source]
3D stiffness tensor for isotropic material in engineering Voigt convention (strain shear component corresponds to engineering shear strain, so the shear entry equals G).
- Parameters:
E (float) – Young’s modulus.
nu (float) – Poisson’s ratio.
- Returns:
c – stiffness tensor.
- Return type:
np.ndarray, shape (6,6)
- topoptlab.stiffness_tensors.octet_trusslattice(E: float, rho: float) ndarray[source]
Octet truss structure from
“Deshpande, Vikram S., Norman A. Fleck, and Michael F. Ashby. “Effective properties of the octet-truss lattice material.” Journal of the Mechanics and Physics of Solids 49.8 (2001): 1747-1769.”.
- Parameters:
E (float) – Young’s modulus.
rho (float) – relative density.
- Returns:
c – stiffness tensor.
- Return type:
np.ndarray, shape (6,6)
- topoptlab.stiffness_tensors.orthotropic_2d(Ex: float, Ey: float, nu_xy: float, G_xy: float, Ez: None | float = None, nu_xz: None | float = None, nu_yz: None | float = None, plane_stress: bool = True) ndarray[source]
2D stiffness tensor for orthotropic material. The indices of the Poisson ratios nu_ij are defined as the direction with the applied strain (i) and the direction of contraction/expansion j. (strain shear component corresponds to engineering shear strain, so the shear entry equals G).
- Parameters:
Ex (float) – Young’s modulus in x direction.
Ey (float) – Young’s modulus in y direction.
G_xy (float) – shear modulus in xy plane.
nu_xy (float) – Poisson’s ratio for tension in x and contraction/expansion y direction.
Ez (float or None) – Young’s modulus in z direction. Only needed for plain strain.
nu_xz (float or None) – Poisson’s ratio for tension in x and contraction/expansion z direction. Only needed for plain strain.
nu_yz (float or None) – Poisson’s ratio for tension in y and contraction/expansion z direction. Only needed for plane strain.
- Returns:
c – stiffness tensor.
- Return type:
np.ndarray, shape (3,3)
- topoptlab.stiffness_tensors.orthotropic_3d(Ex: float, Ey: float, Ez: float, nu_xy: float, nu_xz: float, nu_yz: float, G_xy: float, G_xz: float, G_yz: float) ndarray[source]
3D stiffness tensor for orthotropic material. The indices of the Poisson ratios nu_ij are defined as the direction with the applied strain (i) and the direction of contraction/expansion j. (strain shear component corresponds to engineering shear strain, so the shear entry equals G).
- Parameters:
Ex (float) – Young’s modulus in x direction.
Ey (float) – Young’s modulus in y direction.
Ez (float) – Young’s modulus in z direction.
nu_xy (float) – Poisson’s ratio for tension in x and contraction/expansion y direction.
nu_xz (float) – Poisson’s ratio for tension in x and contraction/expansion z direction.
nu_yz (float) – Poisson’s ratio for tension in y and contraction/expansion z direction.
G_xy (float) – shear modulus in xy plane.
G_xz (float) – shear modulus in xz plane.
G_yz (float) – shear modulus in yz plane.
- Returns:
c – stiffness tensor.
- Return type:
np.ndarray, shape (6,6)
- topoptlab.stiffness_tensors.rank2_2d(mu1: float, mu2: float, nu: float, E: float) ndarray[source]
Stiffness tensor for rank2 laminate in 2D taken from
“Wu, Jun, Ole Sigmund, and Jeroen P. Groen. “Topology optimization of multi-scale structures: a review.” Structural and Multidisciplinary Optimization 63 (2021): 1455-1480.”.
- Parameters:
mu1 (float) – layer width first (bigger) layer.
mu2 (float) – layer width second (smaller) layer.
nu (float) – Poisson’s ratio.
E (float) – Young’s modulus.
- Returns:
c – stiffness tensor.
- Return type:
np.ndarray, shape (3,3)