Skip to content

Use deformation basis for interpolating deformation Dirichlet bc

Sander, Oliver requested to merge fix-interpolation-memory-access into master

Previously, the code used a dim+1-dimensional basis to interpolate a dim-dimensional function with for the deformation Dirichlet values. This lead to out-of-bounds array accesses, which surprisingly did not lead to crashes or noticeable malfunctioning...

To fix the issue, this patch introduces a new dune-functions basis 'blockedBasis', which neatly separates the deformation and damage parts of childs of a composite basis. Previously, a single power basis with dim+1 children was used. With the new composite basis (which uses the same dof indexing as the old one), the deformation subbasis can be used by itself for interpolation.

In the long run, the new basis should be the only one in the code, but for a smooth transition I let it coexist with the old one.

BUGS: #2 (closed)

Merge request reports