cratepy.clustering.solution.ffthombasicscheme.MacroscaleStrainIncrementer

class MacroscaleStrainIncrementer(strain_formulation, problem_type, mac_strain_total, mac_strain_init=None, inc_lfacts=[1.0], max_subinc_level=5, max_cinc_cuts=5)[source]

Bases: object

Macroscale strain loading incrementer.

_n_dim

Problem number of spatial dimensions.

Type:

int

_comp_order_sym

Strain/Stress components symmetric order.

Type:

list[str]

_comp_order_nsym

Strain/Stress components nonsymmetric order.

Type:

list[str]

_inc

Increment counter.

Type:

int

_total_lfact

Total load factor.

Type:

float

_inc_mac_strain_total

Total incremental macroscale strain second-order tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

Type:

numpy.ndarray (2d)

_mac_strain

Current macroscale strain second-order tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

Type:

numpy.ndarray (2d)

_mac_strain_old

Last converged macroscale strain tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

Type:

numpy.ndarray (2d)

_is_last_inc

Last increment flag.

Type:

bool

_sub_inc_levels

List of increments subincrementation level.

Type:

list

_n_cinc_cuts

Consecutive increment cuts counter.

Type:

int

get_inc(self)[source]

Get current increment counter.

get_current_mac_strain(self)[source]

Get current macroscale strain.

get_is_last_inc(self)[source]

Get last increment flag.

get_inc_output_data(self)[source]

Get increment output data.

update_inc(self)[source]

Update increment counter, total load factor and current loading.

increment_cut(self)[source]

Perform macroscale strain increment cut.

_update_mac_strain(self)[source]

Update current macroscale strain loading.

Constructor.

Parameters:
  • strain_formulation ({'infinitesimal', 'finite'}) – Problem strain formulation.

  • problem_type (int) – Problem type: 2D plane strain (1), 2D plane stress (2), 2D axisymmetric (3) and 3D (4).

  • mac_strain_total (numpy.ndarray (2d)) – Total macroscale strain tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

  • mac_strain_init (numpy.ndarray (2d), default=None) – Initial macroscale strain tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

  • inc_lfacts (list[float], default=[1.0,]) – List of incremental load factors (float). Default applies the total macroscale strain tensor in a single increment.

  • max_subinc_level (int, default=5) – Maximum level of macroscale loading subincrementation.

  • max_cinc_cuts (int, default=5) – Maximum number of consecutive macroscale loading increment cuts.

List of Public Methods

get_current_mac_strain

Get current macroscale strain.

get_inc

Get current increment counter.

get_inc_output_data

Get increment output data.

get_is_last_inc

Get last increment flag.

increment_cut

Perform macroscale strain increment cut.

update_inc

Update increment counter, total load factor and current loading.

Methods

__init__(strain_formulation, problem_type, mac_strain_total, mac_strain_init=None, inc_lfacts=[1.0], max_subinc_level=5, max_cinc_cuts=5)[source]

Constructor.

Parameters:
  • strain_formulation ({'infinitesimal', 'finite'}) – Problem strain formulation.

  • problem_type (int) – Problem type: 2D plane strain (1), 2D plane stress (2), 2D axisymmetric (3) and 3D (4).

  • mac_strain_total (numpy.ndarray (2d)) – Total macroscale strain tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

  • mac_strain_init (numpy.ndarray (2d), default=None) – Initial macroscale strain tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

  • inc_lfacts (list[float], default=[1.0,]) – List of incremental load factors (float). Default applies the total macroscale strain tensor in a single increment.

  • max_subinc_level (int, default=5) – Maximum level of macroscale loading subincrementation.

  • max_cinc_cuts (int, default=5) – Maximum number of consecutive macroscale loading increment cuts.

_update_mac_strain()[source]

Update current macroscale strain loading.

get_current_mac_strain()[source]

Get current macroscale strain.

Returns:

mac_strain – Current macroscale strain tensor. Infinitesimal strain tensor (infinitesimal strains) or deformation gradient (finite strains).

Return type:

2darray

get_inc()[source]

Get current increment counter.

Returns:

inc – Increment counter.

Return type:

int

get_inc_output_data()[source]

Get increment output data.

Returns:

inc_data – Increment output data.

Return type:

tuple

get_is_last_inc()[source]

Get last increment flag.

Returns:

is_last_inc – Last increment flag.

Return type:

bool

increment_cut()[source]

Perform macroscale strain increment cut.

update_inc()[source]

Update increment counter, total load factor and current loading.