Fix GJP for 3D elements
Issue/feature addressed
The GJP Stabilisation is currently not working properly for curved 3D elements. In detail, the NormalTraceDerivFactors for GJP are specific to each element type (Hex, Pyr, Tet or Prism). The function has some loops which write beyond array size.
Proposed solution
This MR fixes the iterators and minor issues with these factors.
Implementation
Switch = to += and use correct mappings for data structures of each element type.
Tests
- Added a test based on curved Tetrahedrons that fails on current master
Suggested reviewers
Notes
I did not yet create meshes that included every 3D element type and have curvature.
Checklist
[ ] Functions and classes, or changes to them, are documented.[ ] User guide/documentation is updated.-
Changelog is updated. -
Suitable tests added for new functionality. -
Contributed code is correctly formatted. (See the contributing guidelines). [ ] License added to any new files.-
No extraneous files have been added (e.g. compiler output or test data files).