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

Triangular slip constraint development #57

Merged
merged 6 commits into from
Dec 18, 2021
Merged

Conversation

jploveless
Copy link
Collaborator

Currently implemented in a code block in celeri.ipynb. Need to move to a function within celeri.py. Currently only works for setting any edge combination to creeping.

  • Modified mesh_parameters.json to force creep on top, bottom, and sides, just to test method. Tested with [0, 1, 0], [1, 1, 0], and [1, 1, 1] and all work
  • Modified general smoothing solution. Previously, smoothing matrix was multiplied by smoothing weight in the operator construction, but smoothing weight should instead go into the weighting vector. I'm curious about weighting vector construction (raw data uncertainties used, rather than reciprocal of their squares), and clearly this implementation of smoothing yields wacky TDE slip rate values
  • Added two new utility functions to celeri.py: get_2component_index and get_3component_index. These general index arrays multiple components given indices of an object. For example, if we want to find the index into a slip component matrix for elements [2, 7, 10], get_2component_index will return [3, 4, 13, 14, 19, 20].

@brendanjmeade
Copy link
Owner

Before merging this, I wonder if we could Zoom quickly. The reason I'm asking is that it looks like this PR had led to some changes that are breaking the tests, and they seem to be related to the number of returned values expected from some of the file read in commands. I'd like to hunt these down and get them fixed up! @jploveless Let me know if you have time on Friday!

  • Modified mesh_parameters.json to force creep on top, bottom, and sides, just to test method. Tested with [0, 1, 0], [1, 1, 0], and [1, 1, 1] and all work

While we're here should we move from [A, B, C] specificatn in the .json file (and elsewhere) to something more explicit. Maybe "top_mesh_bc", "bottom_mesh_bc", and "edge_mesh_bc"?

  • Modified general smoothing solution. Previously, smoothing matrix was multiplied by smoothing weight in the operator construction, but smoothing weight should instead go into the weighting vector. I'm curious about weighting vector construction (raw data uncertainties used, rather than reciprocal of their squares), and clearly this implementation of smoothing yields wacky TDE slip rate values

You are correct! I just threw in dummy numbers for convenience and never updated them. Thanks!

  • Added two new utility functions to celeri.py: get_2component_index and get_3component_index. These general index arrays multiple components given indices of an object. For example, if we want to find the index into a slip component matrix for elements [2, 7, 10], get_2component_index will return [3, 4, 13, 14, 19, 20].

The latter seems similar to "get_keep_index_12". Should we unify these?

celeri.get_2component_index and celeri.get_3_component_index
- Changed edge constraint variable names to be explicit:
"top_slip_rate_constraint", "bot_slip_rate_constraint", and
"side_slip_rate_constraint"
- Added help for indexing functions, and moved them to the
same place in celeri.py
- Removed previous return of mesh_param from read_data. Hopefully
this allows github tests to pass
@brendanjmeade brendanjmeade merged commit 198dd71 into main Dec 18, 2021
@brendanjmeade
Copy link
Owner

@jploveless This is a huge and fantastic PR!

@brendanjmeade
Copy link
Owner

@jploveless this runs for me locally! Quick question. I see where "top_slip_rate_constraint" etc. get read in and assigned as elements of the meshes list of dictionaries. What I can't seem to find is where they are later used to apply the constraints. In the PR version all three Cascadia BCs are set to one and the solution, at least for me, still look unconstrained. Thoughts?

Screen Shot 2021-12-17 at 11 19 32 PM

@jploveless
Copy link
Collaborator Author

jploveless commented Dec 18, 2021 via email

@brendanjmeade
Copy link
Owner

@jploveless Thanks and I see it now! Some how VSCODE was showing me an older cached version! I'll update the uncertainty weighting and hope that we can start to recover some classical looking coupling distributions on Cascadia!

@jploveless jploveless deleted the tri_constraint_dev branch December 18, 2021 19:19
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.

2 participants