Merges the elastic and acoustic domains into single templated domain implementation. The approach is to use medium template parameters to figure our compile time parameters required for various domains
Implemented unified method implemenation for elements, elemental sources and elemental receivers across elastic and acoustic domains
Define mass matrix component inside element class
Compute stiffness routines needed changes to enable fields of different sizes. I had to create register compile time type_real arrays based on number of compoenents inside the field. These are used to store inteermediate results calculated using compute_stesses and compute_gradient routines
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
[x] 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
[x] My code builds across all platforms
Description
Merges the elastic and acoustic domains into single templated domain implementation. The approach is to use medium template parameters to figure our compile time parameters required for various domains
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 [x] 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 [x] My code builds across all platforms