Make jet for small-strain gradient be a symmetric matrix

Sander, Oliver requested to merge symmetric-jet into master

The jet of the brittle-fracture problem for small-strain plasticity contains the strain, which by construction is a symmetric matrix. However, the implementation always used a full matrix. This wastes memory and memory bandwidth (in particular in 3d), because it makes the evaluationMatrix larger than necessary.

With this patch the jet stores the symmetric matrix without redundant memory entries. Depending on the problem dimension and the type of energy density, this leads to a speed-up between 20% and 50%.

As a downside, we lose the possibility to switch to the small strain problem at run-time. I guess that is acceptable.

Edited by Sander, Oliver

Merge request reports