-
-
Notifications
You must be signed in to change notification settings - Fork 15
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
Make t and n optional arguments in store_checkpoint #178
Open
NiklasVin
wants to merge
10
commits into
precice:develop
Choose a base branch
from
NiklasVin:i73
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 1 commit
Commits
Show all changes
10 commits
Select commit
Hold shift + click to select a range
041d207
Make t and n optional arguments in store_checkpoint
NiklasVin 4a865cf
Add integration tests
NiklasVin 3c776c6
Add changelog entry.
BenjaminRodenberg 803e64f
Remove checks for FEniCS and python3 (#182)
BenjaminRodenberg bdefd9a
Modify `setup.py` to avoid crash due to version 4.0.0 of `mpi4py` dur…
NiklasVin efc995d
Clarify installation procedure (#183)
NiklasVin c7d5924
Clarify how to merge in ReleaseGuide.md
BenjaminRodenberg f3d8189
bump version
BenjaminRodenberg a90f9ad
Include creation of post-tag bump like in python bindings.
BenjaminRodenberg debb274
Fix bare links.
BenjaminRodenberg File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
Oops, something went wrong.
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.
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.
I just tested this PR with the perpendicular flap. Generally, it seems to work. But I'm not so happy with the implications on the return value of the
retrieve_checkpoint
function: If I callthe second argument could be anything. The actual return value depends on how I called
store_checkpoint
before. This does not look right to me. Sorry to bring this up so late.Non-breaking solution
As a non-breaking solution, I can only imagine returning
None
, ift
orn
has not been provided previously. This results in always callingthis would be independent from what we did with
store_checkpoint
before.Breaking solutions
I think a more reasonable way would be the following:
and then
Meaning:
cp
would be a named tuple (see https://stackoverflow.com/questions/2970608/what-are-named-tuples-in-python). Scipy uses something similar inintegrate.solve_ivp
and calls it a "bunch object" (see https://docs.scipy.org/doc/scipy/reference/generated/scipy.integrate.solve_ivp.html).This brings us to the next question: Why not just use the following API:
We would then have to allow for FEniCS Functions or simple float or int values in the
payload
. But this would be an implementation detail and the user just gets back whatever was provided in the original payload.Important about both proposed solutions: They would be breaking (and therefore, we can only release them with fenicsprecice 3.0.0).
What to do
I would suggest to implement and merge the non-breaking solution. We can open an issue describing the breaking solution and schedule it for version
3.0.0
(probably this will happen not too soon).