class matlantis_features.features.elasticity.elastic_properties.ElasticProperties(data: ndarray)#

Bases: object

Elastic properties.

Methods

__init__(data)

Initialize an instance.

from_elastic_tensor(elastic_tensor)

Create elastic properties object from elastic tensor.

get_directional_linear_compressibility(vec)

Calculate directional linear compressibility.

get_directional_poisson_ratio(vec1, vec2)

Calculate directional Poisson’s ratio.

get_directional_shear_modulus(vec1, vec2)

Calculate directional shear modulus.

get_directional_young_modulus(vec)

Calculate directional Young’s modulus.

get_prop_results([dir1, dir2])

Calculate elastic properties.

__init__(data: ndarray)#

Initialize an instance.

Parameters

data (np.ndarray) – The elastic tensor.

classmethod from_elastic_tensor(elastic_tensor: ElasticTensor) ElasticProperties#

Create elastic properties object from elastic tensor.

Parameters

elastic_tensor (ElasticTensor) – Elastic tensor.

Returns

Resulting object.

Return type

ElasticProperties

get_directional_linear_compressibility(vec: ndarray) float#

Calculate directional linear compressibility. Adopted the method from elate https://github.com/coudertlab/elate linear compressibility along specific direction.

Parameters

vec (np.ndarray) – 3D vector specifying the direction.

Returns

Resulting directional linear compressibility value.

Return type

float

get_directional_poisson_ratio(vec1: ndarray, vec2: ndarray) float#

Calculate directional Poisson’s ratio.

Adopted the method from elate https://github.com/coudertlab/elate
poisson ratio along specific directions.

Parameters
  • vec1 (np.ndarray) – First 3D vector specifying the direction.

  • vec2 (np.ndarray) – Second 3D vector specifying the direction.
    vec2 should be perpendicular to vec1.

Returns

Resulting directional Poisson’s ratio.

Return type

float

get_directional_shear_modulus(vec1: ndarray, vec2: ndarray) float#

Calculate directional shear modulus.

Adopted the method from elate https://github.com/coudertlab/elate
shear modulus along specific directions.

Parameters
  • vec1 (np.ndarray) – The first 3D vector specifying the direction.

  • vec2 (np.ndarray) – The second 3D vector specifying the direction.
    vec2 should be perpendicular to vec1.

Returns

Resulting directional shear modulus.

Return type

float

get_directional_young_modulus(vec: ndarray) float#

Calculate directional Young’s modulus. Adopted the method from elate https://github.com/coudertlab/elate young’s modulus along specific direction.

Parameters

vec (np.ndarray) – 3D vector specifying the direction.

Returns

Resulting directional Young’s modulus value.

Return type

float

get_prop_results(dir1: Optional[List[float]] = None, dir2: Optional[List[float]] = None) Dict[str, Union[float, Dict[str, float], Dict[str, List[float]]]]#

Calculate elastic properties.

Parameters
  • dir1 (list[float] or None, optional) – First 3D vector specifying the direction.
    If None, directional properties will not be calculated.
    Defaults to None.

  • dir2 (list[float] or None, optional) – Second 3D vector specifying the direction.
    vec2 should be perpendicular to vec1.
    Defaults to None.

Returns

Result object containing the calculated properties.

Return type

PostElasticFeatureResult