elaston.elastic_constants module
- elaston.elastic_constants.check_is_tensor(**kwargs: float | ndarray | None) bool[source]
Check if the elastic constants are given as a tensor or as Young’s modulus, Poisson’s ratio, and/or shear modulus
- Parameters:
**kwargs – elastic constants or Young’s modulus, Poisson’s ratio, and/or shear modulus
- elaston.elastic_constants.get_elastic_tensor_from_moduli(E: float | None = None, nu: float | None = None, mu: float | None = None) ndarray[source]
Get the elastic tensor from Young’s modulus, Poisson’s ratio, and/or shear modulus
- Parameters:
E (float) – Young’s modulus
nu (float) – Poisson’s ratio
mu (float) – shear modulus
- Returns:
Elastic tensor in Voigt notation
- Return type:
np.ndarray
- elaston.elastic_constants.get_elastic_tensor_from_tensor(C_tensor: ndarray | None = None, C_11: float | None = None, C_12: float | None = None, C_13: float | None = None, C_22: float | None = None, C_23: float | None = None, C_33: float | None = None, C_44: float | None = None, C_55: float | None = None, C_66: float | None = None) ndarray[source]
Get the elastic tensor from the elastic constants
- Parameters:
C_tensor (np.ndarray) – Elastic tensor in Voigt notation or full tensor
C_11 (float) – Elastic constant
C_12 (float) – Elastic constant
C_13 (float) – Elastic constant
C_22 (float) – Elastic constant
C_23 (float) – Elastic constant
C_33 (float) – Elastic constant
C_44 (float) – Elastic constant
C_55 (float) – Elastic constant
C_66 (float) – Elastic constant
- Returns:
Elastic tensor in Voigt notation
- Return type:
np.ndarray
- elaston.elastic_constants.get_reuss_average(C: ndarray) dict[str, float][source]
Get the Reuss average of the elastic constants
- Parameters:
C (np.ndarray) – Elastic constants
- Returns:
Reuss average
- Return type:
dict
- elaston.elastic_constants.get_voigt_average(C: ndarray) dict[str, float][source]
Get the Voigt average of the elastic constants
- Parameters:
C (np.ndarray) – Elastic constants
- Returns:
Voigt average
- Return type:
dict
- elaston.elastic_constants.get_zener_ratio(C: ndarray) float[source]
Get the Zener anisotropy ratio
- Parameters:
C (np.ndarray) – Elastic constants in Voigt notation
- Returns:
Zener anisotropy ratio
- Return type:
float
- elaston.elastic_constants.initialize_elastic_tensor(C_tensor: ndarray | None = None, C_11: float | None = None, C_12: float | None = None, C_13: float | None = None, C_22: float | None = None, C_33: float | None = None, C_44: float | None = None, C_55: float | None = None, C_66: float | None = None, youngs_modulus: float | None = None, poissons_ratio: float | None = None, shear_modulus: float | None = None) ndarray[source]
Initialize the elastic tensor
- Parameters:
C_tensor (np.ndarray) – Elastic tensor in Voigt notation or full tensor
C_11 (float) – Elastic constant
C_12 (float) – Elastic constant
C_13 (float) – Elastic constant
C_22 (float) – Elastic constant
C_33 (float) – Elastic constant
C_44 (float) – Elastic constant
C_55 (float) – Elastic constant
C_66 (float) – Elastic constant
youngs_modulus (float) – Young’s modulus
poissons_ratio (float) – Poisson’s ratio
shear_modulus (float) – Shear modulus
- Returns:
Elastic tensor in Voigt notation
- Return type:
np.ndarray
You can define either the full elastic tensor via C_tensor, some components of the elastic tensor or the elastic moduli. If you define the elastic moduli, the elastic tensor will be calculated from them. When two components of the elastic tensor are given, the resulting tensor will be isotropic. If at least three components are given, there must be at least C_11, C_12, and C_44.