-
-
Notifications
You must be signed in to change notification settings - Fork 16
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
Support multiple coupling subdomains #7
Comments
The intended use of the adapter is one interface. In certain situations more than one interface might be needed, but I don't really see the need for this feature now. As a workaround I can imagine that creating two instances of the adapter object might even be sufficient. From a developer's perspective this is also the preferred solution, since supporting N coupling interfaces in the adapter would make the code considerably more complicated for an edge case. I will close this issue. Feel free to reopen it or comment. Especially related:
|
Going with "only supporting one interface" is perfectly fine, it is a design decision.
Use cases I can think of:
I don't know anything about the FEniCS adapter code, but in the OpenFOAM adapter we have it like this and it works. |
I totally misunderstood the issue. We are talking about fenics-adapter/fenicsprecice/fenicsprecice.py Lines 267 to 268 in 87e03f8
This is, of course, a totally valid use-case. We already have several tutorials dealing with this and I can also imagine extending the fenics adapter into this direction, if needed. note: Naming with interface vs. subdomain is in some places inconsistent and confusing. I will open a PR in a moment to clean this up. |
fenics-adapter/fenicsadapter/fenicsadapter.py
Lines 89 to 97 in 7fec6f3
By having the
configure()
directly inside theAdapter
class, we assume that the adapter can only work with one coupling interface. By separating the adapter class (that also handles the time control etc) from the interface itself, we could support multiple coupling interfaces (for example, for Fluid-Solid-Fluid coupling, as in the shell-and-tubes heat exchanger tutorial).Then, the
configure()
method would not be called in the adapter itself, but in each coupling interface. The same for the methods to read/write data etc.The text was updated successfully, but these errors were encountered: