-
-
Notifications
You must be signed in to change notification settings - Fork 116
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
Split partitioned-heat-conduction case into complex and simple one #148
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:
|
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.
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? |
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.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs probably a bit more information. We have not yet mentioned FEniCS before.
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 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <[email protected]>
Co-authored-by: Benjamin Uekermann <[email protected]>
Co-authored-by: Benjamin Uekermann <[email protected]>
Co-authored-by: Benjamin Uekermann <[email protected]>
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.
Looks good. Did not run it again, but did not see any obvious problems.
closes #147
Specification for
partitioned-heat-conduction
:mpirun
is still supported (forfenics
)precice-config.xml
.Specification for
partitioned-heat-conduction-complex
:gamma
mpirun
is supported (forfenics
)Open Todos