cratepy.clustering.solution.dnshomogenization.DNSHomogenizationMethod

class DNSHomogenizationMethod[source]

Bases: ABC

DNS homogenization-based multi-scale method interface.

compute_rve_local_response(self, mac_strain_id, mac_strain)[source]

abstract: Compute RVE local strain response.

get_hom_stress_strain(self)[source]

abstract: Get the homogenized strain-stress material response.

Constructor.

List of Public Methods

compute_rve_local_response

Compute RVE local strain response.

get_hom_stress_strain

Get the homogenized strain-stress material response.

Methods

abstract __init__()[source]

Constructor.

abstract compute_rve_local_response(mac_strain_id, mac_strain)[source]

Compute RVE local strain response.

Compute the RVE local strain response (solution of microscale equilibrium problem) when subjected to a given macroscale strain loading, namely a macroscale infinitesimal strain tensor (infinitesimal strains) or a macroscale deformation gradient (finite strains). It is assumed that the RVE is spatially discretized in a regular grid of voxels.


Parameters:
  • mac_strain_id (int) – Macroscale strain second-order tensor identifier.

  • mac_strain (numpy.ndarray (2d)) – Macroscale strain second-order tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

Returns:

strain_vox – RVE local strain response (item, numpy.ndarray of shape equal to RVE regular grid discretization) for each strain component (key, str). Infinitesimal strain tensor (infinitesimal strains) or material logarithmic strain tensor (finite strains).

Return type:

dict

abstract get_hom_stress_strain()[source]

Get the homogenized strain-stress material response.

Returns:

_hom_stress_strain – RVE homogenized stress-strain response (item, numpy.ndarray (2d)) for each macroscale strain loading identifier (key, int). The homogenized strain and homogenized stress tensor components of the i-th loading increment are stored columnwise in the i-th row, sorted respectively. Infinitesimal strain tensor and Cauchy stress tensor (infinitesimal strains) or Deformation gradient and first Piola-Kirchhoff stress tensor (finite strains).

Return type:

numpy.ndarray (2d)