Please describe the changes/features in this pull request.
Fixes bugs listed in Issue98
Memory corruption on IntelLLVM compiler for externel BCs
The error seems to be caused by using raw pointers inside SPECFEM++ solver. I have refactored some of the raw pointers to be shared pointers. This is partially solved the problem, however quadrature pointers and mpi pointers still need to be moved.
Shared pointer implementation
Shared pointer implementations for
solver
writer
materials
sources
receivers
This should improve memory safety
TODO: move qudrature to separate class and MPI to a shared_ptr
This will be a major change
Tests fail NaN value for composite BCs
The elemental partial derivatives and properties were not loaded for elements with composite boundaries. Fixed the constexpr related to this load inside the element class
Issue Number
If there is an issue created for these changes, link it here
closes #98
Checklist
Please make sure to check developer documentation on specfem docs.
[x] I ran the code through pre-commit to check style
[ ] My code passes all the integration tests
[x] I have added sufficient unittests to test my changes
[x] I have added/updated documentation for the changes I am proposing
[x] I have updated CMakeLists to ensure my code builds
Description
Please describe the changes/features in this pull request.
Fixes bugs listed in Issue98
Memory corruption on IntelLLVM compiler for externel BCs
Tests fail NaN value for composite BCs
constexpr
related to this load inside the element classIssue Number
If there is an issue created for these changes, link it here
closes #98
Checklist
Please make sure to check developer documentation on specfem docs.