This pull request implements dirichlet and stacey BCs.
Implementation details
The boundary conditions are implemeted as template parameter on an element. This should improve modularity when implementing other BCs, as long as BCs have same interfaces
The boundary conditions are enforces in the compute_forces kernel in contradiction to the fortran code where BCs are enforced in subsequent CUDA kernels.
Changes and reorganizations
Moved array type to kokkos abstractions
Moved specfem::enums::coupling::type::edge -> specfem::enums::edge::type
Issue Number
If there is an issue created for these changes, link it here
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
[ ] I have added/updated documentation for the changes I am proposing
[x] I have updated CMakeLists to ensure my code builds
Description
This pull request implements dirichlet and stacey BCs.
Implementation details
Changes and reorganizations
Issue Number
If there is an issue created for these changes, link it here
Checklist
Please make sure to check developer documentation on specfem docs.