-
Notifications
You must be signed in to change notification settings - Fork 89
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
Maintenance in porepy.ad #1166
Maintenance in porepy.ad #1166
Conversation
…and time step indices
…ultiple inheritance.
…time dependent dense array.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks extremely useful, thanks! I did a curiosity motivated review, deferring to @keileg or @OmarDuran for the proper review. Please bear with my stupid questions and somewhat random suggestions.
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
Co-authored-by: Ivar Stefansson <[email protected]>
@vlipovac: So you know, I am working my way through the PR, but I'm not done yet. To be continued. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! Some remarks:
- Thanks for taking care of the parsing of variables in the EquationSystem. The previous code will not be missed!
- It seems there is a consensus to let the indexes of time steps and iterates both start at 0.
- Overall, I think the cleanup in EquationSystem is to the good, although you are surely right this needs further clarifications, and quite likely refinement of the logic you have introduced.
- My only major concern is the changes proposed to dofs_of, which (I believe) are contrary to the way I would expect such a method to behave. This is particularly relevant when working with solvers and similar. I suggest we hear from the solver guys before making any decisions there.
@keileg, regarding your comment
|
I pushed the easy/trivial suggestions and resolved respective conversations (including my self-review). |
@keileg @IvarStefansson Also, this will introduce minor changes in several files, where |
I'll see if I can have a look at some code later today, and will get back to this (soon, I hope). |
Co-authored-by: Eirik Keilegavlen <[email protected]>
@vlipovac: I have gone through the changes and resolved conversations with a somewhat heavy hand. In addition to what looks like minor fixes, there are two remaining issues (both discussed in some details in the relevant conversations):
Let me know if you have comments or questions. |
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the effort, @vlipovac
Proposed changes
parse
for variables and replacing projection of global forward AdArray by slicing (less expensive than matrix multiplication)Since the changes are a bit extensive, I am giving a walk-through in the form of a self-review.
EDIT:
Following the 1st round of reviews, the index convention for previous time steps is now unified with the convention for previous iterates:
Since current time (unknown value) is given by
time_step_index = 0
and anyiterate_index >= 0
, it would be ambiguous to use the time step index. (and also unnecessary to store same data twice).Therefore
time_step_index = 0
is now not supported anymore.Types of changes
Checklist
pytest
was run with the--run-skipped
flag.