Use of equation-of-state

The equation-of-state (EOS) ID is used to determine the EOS used for the material model. We currently only support *EOS_GRUNEISEN.

GPU

The EOS calculates the pressure at a given volume. This pressure is needed by the material model. You must handle this pressure manually in your material model, replacing the pressure that's normally part of the stress tensor.

To check if EOS is enabled, use the eos parameter and the dp_eos_pressure array in the UserMatDevice struct.

    // Pressure based on volumetric strain or EOS
    if (eos == 0) {
        pressure = -cmat.bulk * (dp_strain[offset + 0] + dp_strain[offset + 1] + dp_strain[offset + 2]);
    } else {
        pressure = dp_eos_pressure[idx];
    }

CPU

The calculated pressure from EOS is applied automatically to the stress tensor and requires no actions in the implementation.