Pre-compute shape function products and Jacobian
In the assembly routines, several products of the shape-functions and their derivatives are needed for the FE formulation.
Currently, although the values of the shape functions themselves are pre-computed during pre-processing, the products, amongst others NtN_GP
and BtB_detJ
are computed over and over again in the Fortran routine system_factors.f90
.
This costs unnecessary time and could help speed up the code.
Further, the Jacobian (and its inverse) of any element is constant in the small-strain and Total-Lagrange formulation and can be computed + stored only once during preprocessing and hence must not be recomputed every single time in the assembly.