Make restrict to subgrid a method of tensor #1333
Draft
+98
−108
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.
Proposed changes
This PR addresses something encountered when trying to use more than only the two default constitutive parameters (lambda and mu) of the momentum balance model class. The "discovery" is related to when (often large) grids are divided into subgrids for overcoming big memory usage upon discretization. In that case, the tensors (second order/fourth order) are restricted to the subgrids. The restriction-functionality was implemented as a function in fvutils, making adaptations in the case of several more constitutive parameters cumbersome. In this PR the restriction-functionality is moved to be part of the (new) Tensor class, which is intended to keep common parts between the second and fourth order tensors.
Implementation kudos to @IvarStefansson.
Currently only a draft PR as documentation is still a WIP.
Types of changes
What types of changes does this PR introduce to PorePy?
Put an
x
in the boxes that apply.Checklist
Put an
x
in the boxes that apply or explain briefly why the box is not relevant.pytest
was run with the--run-skipped
flag.