Split partitioned-heat-conduction case into complex and simple one#148
Split partitioned-heat-conduction case into complex and simple one#148uekerman merged 28 commits intorestructurefrom
Conversation
|
@uekerman I assume that |
yes, |
|
Specification looks good so far. I guess a real review only makes sense once we have the compatibility with Nutils. |
To make sure I understand: We want this case for FEniCS and for nutils. Meaning, according to the new structure we get:
This means, that we need a new tutorial (according to the old structure), I think the cleanest approach would be to first create another PR from |
Yes. Sources are provided in the issue: #137
The in #137 suggested structure is Yes, the drawback of this scheme is that it leads to quite some code duplication. Maybe it is simple to understand though. Alternatively: together with some command line argument to decide whether the left Dirichlet or the right Neumann sub domain should be computed. |
I added the sources to this PR. Currently just copy-paste without any testing or updates of the code.
That's probably a good reason not to use this structure here.
I like this idea. Added to this PR 👍 |
|
I took care of updating the nutils case as far as I can get. I currently see one problem: Nutils uses two meshes and FEniCS only one. This does not allow us to use the same configuration for both cases. @uekerman any idea what we can do here? |
We could read and write at the GPs only, that should be simple |
|
The last problem with this PR that I see is that the exact solution cannot be recovered when using nutils. Remaining features are fine. |
9c7a8fa to
f80f8fd
Compare
|
I decided to postpone fixing the nutils case to #152 and #153. This PR is from my point of view ready to |
|
Notes for review:
|
IshaanDesai
left a comment
There was a problem hiding this comment.
Looks good 👍 The separation of simple and complex geometry cases makes the FEniCS code much more readable :)
|
@uekerman another hint for the review: Currently we don't provide
Any opinion? |
uekerman
left a comment
There was a problem hiding this comment.
Overall structure looks good. Minor conventions things and README stuff below.
| {% include important.html content="We have not yet ported the documentation of the preCICE tutorials from the preCICE wiki to here. Please go to the [preCICE wiki](https://github.com/precice/precice/wiki#2-getting-started---tutorials)" %} | ||
| ## Setup | ||
|
|
||
| In this tutorial we solve a partitioned heat equation. For information on the non-partitioned case, please refer to [1, p.37ff]. The corresponding FEniCS code can be found on [github:fenics-tutorial](https://github.com/hplgit/fenics-tutorial/blob/master/pub/python/vol1/ft03_heat.py). |
There was a problem hiding this comment.
Needs probably a bit more information. We have not yet mentioned FEniCS before.
There was a problem hiding this comment.
I provided more details on the case in 75e68af. I don't think that we have to explain what FEniCS is here. Or what do you mean?
There was a problem hiding this comment.
Right now, "FEniCS" falls a bit from the sky. The setup should actually be independent of the solver.
There was a problem hiding this comment.
I did some reordering in 9614c02. I think this makes it a bit better.
I guess we are also fine without a run script here for the moment. If we add some later then option 1. |
Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>
Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>
Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>
Co-authored-by: Benjamin Uekermann <benjamin.uekermann@gmail.com>
uekerman
left a comment
There was a problem hiding this comment.
Looks good. Did not run it again, but did not see any obvious problems.
closes #147
Specification for
partitioned-heat-conduction:mpirunis still supported (forfenics)precice-config.xml.Specification for
partitioned-heat-conduction-complex:gammampirunis supported (forfenics)Open Todos