Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge domains #87

Merged
merged 12 commits into from
Aug 28, 2023
Merged

Merge domains #87

merged 12 commits into from
Aug 28, 2023

Conversation

Rohit-Kakodkar
Copy link
Collaborator

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

  • 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

Now rmass inverse is calculated at elemental level inside element class. This seemed like a better location to compute rmass inverse given mass matrix is dependent on properties of an element.
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
Acceleration had to be update to be a register type_real array for a unified interface.
@Rohit-Kakodkar Rohit-Kakodkar merged commit 653509a into code-along Aug 28, 2023
2 checks passed
@Rohit-Kakodkar Rohit-Kakodkar deleted the merge-domains branch November 12, 2024 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant