# Stiffness properties

> Note: This is optional. `NO_REDUCTION` is applied by default.

Setting the stiffness arrays and these options will allow for IMPETUS Solver to control the critical time step calculations. If set, reduction operations (per element) will be performed for the specific data array(s).

Options for each stiffness variable:

- `NO_REDUCTION`: No changes are made to the original values
- `MAX_REDUCTION`: The maximum value reduction is applied for each element
- `MIN_REDUCTION`: The minimum value reduction is applied for each element

These reduction operations affect the following data arrays defined in `UserMatDevice` struct:

- `stiff_shear` affects `device.dp_shear`
- `stiff_bulk` affects `device.dp_bulk`
- `stiff_xi` affects `device.dp_xi`
- `stiff_bfac` affects `device.dp_bfac`

## Class member variables

     int stiff_shear
     int stiff_bulk
     int stiff_xi
     int stiff_bfac

## Description

    bool stiff_shear

Setting this property will apply reduction operations on the `data.dp_shear` array.

Options:

- `NO_REDUCTION`: No changes are made to the original values
- `MAX_REDUCTION`: The maximum value reduction is applied for each element
- `MIN_REDUCTION`: The minimum value reduction is applied for each element

    int stiff_bulk

Setting this property will apply reduction operations on the `data.dp_shear` array.bulk` array.

Options:

- `NO_REDUCTION`: No changes are made to the original values
- `MAX_REDUCTION`: The maximum value reduction is applied for each element
- `MIN_REDUCTION`: The minimum value reduction is applied for each element

    int stiff_xi

Setting this property will apply reduction operations on the `data.dp_shear` array.xi` array.

Options:

- `NO_REDUCTION`: No changes are made to the original values
- `MAX_REDUCTION`: The maximum value reduction is applied for each element
- `MIN_REDUCTION`: The minimum value reduction is applied for each element

    int stiff_bfac

Setting this property will apply reduction operations on the `data.dp_shear` array.bfac` array.

Options:

- `NO_REDUCTION`: No changes are made to the original values
- `MAX_REDUCTION`: The maximum value reduction is applied for each element
- `MIN_REDUCTION`: The minimum value reduction is applied for each element