-
Notifications
You must be signed in to change notification settings - Fork 85
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
Simplify extension of AbstractGrid #579
Conversation
I think I've covered all places in the src folder where Feels like we should have something like And |
Codecov ReportPatch coverage:
📣 This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more Additional details and impacted files@@ Coverage Diff @@
## master #579 +/- ##
==========================================
+ Coverage 92.66% 92.75% +0.09%
==========================================
Files 30 30
Lines 4483 4484 +1
==========================================
+ Hits 4154 4159 +5
+ Misses 329 325 -4
... and 1 file with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
The last commit is a bit problematic, because it potentially changes the complexity of the call. |
Do you mean for some special abstract grid type? |
|
Fair point, and could be fixed by this PR if you think that is better for distributed grids. A more general approach (outside the scope of this pr) could be to use Edit: And for defining new functions (in separate pr), it could make sense to have a |
Indeed, a separate function To quickly comment on the distributed assembly, in the current design we have 3 (not yet well-separated) layers. First, there is the local layer, where local manipulations work locally as expected and we have process local indices. Then we have some transitional layer which maps between local and global entities and we have the synchronization layer, which synchronizes global entities. This e.g. allows to switch between distributed assembly and the current version by just changing three lines of code (exchange the grid, dof handler and assembler). Edit: To quickly get to the point, the current design guarantees that local operations works as expected in distributed assembly. We can discuss this one separately in the distributed assembly PR if you have concerns or suggestions. |
OK, great! Then I'll leave those changes to a "new functions" pr! |
I went through the codebase and replaced direct field access when reading with already defined get functions.
No usage change, but reduces the number of functions required to define an
AbstractGrid
,see the updated example and test.