-
Notifications
You must be signed in to change notification settings - Fork 9
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
Adjoint simulations #112
Merged
Merged
Adjoint simulations #112
+237,685
−19,971
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Major changes going into this commit - The properties are broken down into individual structs for every material type - This should let us reference the material directly inside the kernels - Material structs are templated on material type and material property (isotropic, anisotropic) - Implemented point property method Changes to the testing methods for properties - The properties views are now compacted by removing zero values where the property doesnt apply. This makes me update testing routine so binary read properties can be compacted before comparison
- Reimplemented sources - Restructed compute sources routine - Encapsulated algorithms
- Added fields within the compute namespace - This follows the idea that all simulation data should be owned by compute namespace - The operating kernels can have a reference to this data - Advantages of new implementation - Lower memory footprint through compressed field storage - Lower RangePolicy kernel time since kernel will only iterate though non-zero nglobs
Assembly implementation
…t update acceleration
Reimplement kernels
- Moved fortranio to IO namespace - Compiling version of HDF5 wrapper
- Developed a singular interface for IO writers - Wrappers for HDF5 library based on the interface - Defined wavefield format - working implementation for HDF5 format
Write forward fields
- HDF5 implementation takes in an operator template to configure IO to read/write
- Modified SPECFEM config file format to account for adjoint simulations
- Modifying the enum namespace
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Full adjoint simulations capabilities (major changes)
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
[x] 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