-
-
Notifications
You must be signed in to change notification settings - Fork 129
Ensure compatibility of tutorials with fenics-adapter v1.0.0 #124
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
Conversation
This reverts commit a178d1c.
Update FEniCS cases data initialization
Use SegregatedRBFInterpolationExpression for partitioned heat equation tutorial.
1f63d45 to
3d87fe8
Compare
|
I now decided to use |
|
What will happen with this PR in the future? We will first merge This looks good to me. Obviously all changes that affect FEniCS-bases tutorials have already been merged into master via #124. The only changes that are remaining are the ones not connected to FEniCS. |
e3079ef to
3d87fe8
Compare
IshaanDesai
left a comment
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.
Manual check of all tutorials is done. All good 👍
|
@MakisH , @fsimonis: Can you comment on this PR? Not really on the content, but more on the general git merging strategy? Please speak up, if you think everything is a horrible idea. I think we will have to be careful with the merge |
MakisH
left a comment
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 am not sure I follow everything, but I understand that you did several changes in your branch, and now you want to merge to master. For some reason I don't fully understand, we will get some duplicate (empty) commits when we merge from develop to master in the next release.
Here are a few thoughts:
- All the changes here are related to FEniCS (good).
- The history of the tutorials is already quite dirty. I would not worry too much, you already seem to have thought well of every step.
- Since you are afraid that something go wrong when we merge develop to master, you can have the honor to do it yourself when it's time to release. 😉 I am optimistic that things will not go so bad. Worst case, we have to resolve some merge conflicts.
- The most important aspect I see is to merge these changes soon and to then synchronize the restructuring branch soon afterwards.
- Finally, I don't like the idea of directly merging to master right now. Do you have a good reason for this? Why skip develop? Why not merge to develop and then merge develop to master soon after? We don't need to wait for the next preCICE release to update the tutorials, develop still works perfectly fine with preCICE v2.1.1.
|
Thanks for the comment!
Important information that is missing: This is not a feature branch, but one where I collected all the FEniCS-related changes from develop.
Sounds at least, like I did not commit any major git sins ;)
Fully agree: I really would like to do a release before #125.
Main reason: We want to release the fenics-adapter soon and therefore also have a corresponding release of the tutorials.
The changes from this branch are already part of develop.
The main reason I'm not directly merging develop into master is since I don't want to risk breaking the other tutorials that are not related to FEniCS (i.e. Deal.II).
If the current state of develop is ready for releasing, we can also just do a "normal" release and close this PR. But then we will not have the "nice" FEniCS-only release ("All the changes here are related to FEniCS (good).") |
I don't see any such issue at the moment. I see more problematic bypassing our branching model (as you already pointed out that it may need some ninja tricks to not end up with spaghetti bolognese).
You could do a similar thing targetting the develop branch next time (since now everything is already in develop). If you need it for future reference, you can always close this and the diff will remain (at least if the branch remains). Other than being able to easily check what we needed to change, I don't see a reason to make it a "FEniCS-only release". The develop should always be releasable (more on this in the context of our versioning strategy). |
Ok. Then I will close this PR and open a "real" release PR from develop to master. This avoids spaghetti bolognese and ninja tricks ;) If nobody stops me: As soon as the systemtests are good. |
But then we need to release everything else now as well? (all adapters) That's sth we wanted to avoid with the new release strategy, right? It needs to be possible to only release the FEniCS adapter. |
d6cd5e5 to
92f41ae
Compare
* Applies suggestion from #124 (review) * Add minor .gitignore fixes.
|
@IshaanDesai can you check again? I removed your previously pushed commit, since this a release branch. But actually something was wrong with my previous |
IshaanDesai
left a comment
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.
Applying changes from: #142 will finalize the compatibility of tutorials with fenics-adapter v1.0.1
|
Just had a short concluding discussion with @IshaanDesai and @uekerman on this:
I will take care of the last few necessary synchronizations of this PR to |
92f41ae to
b431367
Compare
* Applies suggestion from #124 (review) * Add minor .gitignore fixes.
Output frequency of heat.py must match frequency of OpenFOAM Fluid case. Compare writeInterval in controlDict (https://github.com/precice/openfoam-adapter/blob/develop/tutorials/CHT/flow-over-plate/buoyantPimpleFoam-laplacianFoam/Fluid/system/controlDict).
Ensures compatibility with changes introduced in precice/fenics-adapter@fef80b7
* Adding 2D perpendicular flap FSI tutorial with SU2-FEniCS Co-authored-by: Benjamin Rüth <benjamin.rueth@tum.de>
* Modifying all FEniCS based tutorials to be compatible with parallel design of FEniCS-Adapter Co-authored-by: BenjaminRueth <benjamin.rueth@tum.de>
* Applies suggestion from #124 (review) * Add minor .gitignore fixes.
* Making SU2- and OpenFOAM- case of perp-flap for FEniCS consistent
b431367 to
6e285bd
Compare
This PR ensures compatibility of the tutorials with v1.0.0 of the fenics-adapter (see https://github.com/precice/fenics-adapter/milestone/4).
I've collected the following relevant commits from https://github.com/precice/tutorials/tree/develop (I'll provide the commit hashes of the original commits below).
We can still change the content of this PR and the list of commits below. I would like to maintain the history for this PR, if we merge it to master. I used the following strategy. If we decide that this is useful, we should document it at a proper place in the future:
git checkout developgit checkout -b fenics-adapter-v1.0.0git rebase -i eb3283ca64932fb2d674bed1b8b677528d5c1b76, use commits from below for rebase. (eb3283c is the last commit that we can directly apply tomaster.)git pushtoorigin/fenics-adapter-v1.0.0origin/masterandorigin/fenics-adapter-v1.0.0are evengit checkout mastergit pullgit checkout developgit merge master(might be a better idea torebasehere to avoid duplicates)git pushtoorigin/develop(then we will have togit push --forcetodevelop)Required commits:
Shortcomings
If there is a better strategy, feedback would be very welcome. A big downside of the current strategy is that for each commit a new hash is generated. This means that as soon as we merge
developinto master (i.e. next regular release), we will duplicate all commits from this PR. We can already see this in thelogofdevelopafter the last step described above: