-
-
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
Partitioned heat conduction structure is non-standard and inconsistent #228
Comments
I would vote for this option. This opens the door for alternative contributions as well. Maybe some solver do not support all combinations of data reading and writing.
If we explicitly want to run the case |
This sounds to me like replacing one thing that is non-standard with two other things that are non-standard. From my point of view option 2 is also the best one (if we want to change something). |
I just started adding 👍 and 👎 above. I understand that there are two 👍 for option 2 from @davidscn and me. There is one 👎 for option 3 from my side. And a 👍 on option 1 from my side - since this is no work. Feel free to edit this list (I think there is no need for a detailed breakdown where the votes come from). |
Among these options, I also support option 2 ( Regarding the naming, this is still inconsistent. If What is not clear to me is where to store shared files (e.g. solver files). The distinction into |
For me, |
Would a directory with a different name, such as |
|
As we are trying to extend our current structure to not have special cases, I am trying to imagine more similar cases. Such a case could also be the This also originates from the wide range of "adapter" definitions. If
We currently have "fused" solvers (A) e.g. in |
I prefer duplication here over software engineering. Splitting /duplicating the nutils code into two variants is very easy and could also make the code easier to understand. Putting some of the code into a
Yes, good point. Your last remark should be indeed a hard definition of this tutorial. |
Just to clarify: A |
This issue is quite old, but to me it reads like we actually concluded on option 2 in the end. Meaning: The action item is to split We don't have to start working on this now, but I think it would be good, if we could clearly move from the discussion phase into the doing phase here. |
I read again the whole thread. My summary:
Even though not crystal clear from the discussion above, I would also add:
I would indeed keep the FEniCS and Nutils as duplicate scripts, since this makes it easier for a user to extend/replace when preparing their own case. Please upvote/downvote. |
As discussed in precice/tutorials#228 and partially implemented in precice/tutorials#459 Also updates minor aspects in the whole page (and introduces an intentional typo).
Documented the additional rules and guidelines in precice/precice.github.io#331 Overview of inconsistencies in #461 |
Background
In PR #223 there was already a discussion whether we should change the structure of our partitioned heat conduction tutorial or not (see #223 (comment)). We decided to move this discussion to an independent issue, since it was off-topic for #223.
Current state
The current structure of this tutorial is inconsistent, since the OpenFOAM solver has independent solvers for Dirichlet and Neumann while the FEniCS and Nutils solvers don't:
Rough structure (from #223 (comment)):
Possible solutions
Currently there are three main possibilities:
fenics
andnutils
withfenics-dirichlet
,fenics-neumann
,nutils-dirichlet
,nutils-neumann
. This would be consistent with all/most of our other tutorials. 👍 👍openfoam-dirichlet
andopenfoam-neumann
intoopenfoam
. As far as I understand we concluded in Add partitioned-heat OpenFOAM participant with solver #223 that this is not possible. 👎Goal of this issue
We should agree in this issue on a structure that fits for cases like the partitioned heat equation, where there are not necessarily two independent solvers, but only a domain decomposition of a single solver happens. This structure should be as consistent with existing tutorials as possible and at the same time not introduce a large amount of code duplication (maintainment!).
The text was updated successfully, but these errors were encountered: