Open IshaanDesai opened 2 years ago
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there:
I'm just providing a brief update on this from my current perspective today, because I just received a request by a user and I think it's useful to summarize this here:
Why is it complicated to do 3D cases in FEniCS with the adapter?
I think it might be complicated to set up a 3D case for several reasons:
Generally I don't think there are a fundamental problem, but the actual implementation requires some work. For details on parallelization and data mapping see our FEniCS adapter paper.
Added the "student" label, because I think it might be a nice thesis topic to actually create a 3D tutorial + extend the adapter correspondingly.
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there:
https://precice.discourse.group/t/capabilities-of-adapters-for-3d-cht/1310/3
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there:
https://precice.discourse.group/t/capabilities-of-adapters-for-3d-cht/1310/4
Here is a rough plan on how someone could start working on this issue:
Comment out the assertions that enforce 2D and see where problems pop up. SegregatedRBFInterpolationExpression
, for example, should work with minor modifications already in 3D.
Follow the test-driven-development path, if you want. At some point we need tests in any case and I think here it really helps to get started quickly. (For example, by creating a 3d version of the following test and see what happens: https://github.com/precice/fenics-adapter/blob/8a21819bd5c567854e809acfadcd1e75bf539640/tests/unit/test_adapter_core.py#L36-L81
What's also important: For testing we would need to come up with a simple 3D tutorial case. But I imagine one could start with a modified version of the flow-over-heated-plate tutorial.
This issue has been mentioned on preCICE Forum on Discourse. There might be relevant details there:
https://precice.discourse.group/t/automatic-differentiation-of-coupled-system/1601/2
Functionality to handle 3D cases was introduced in the adapter with https://github.com/precice/fenics-adapter/pull/133, https://github.com/precice/fenics-adapter/pull/146 and https://github.com/precice/fenics-adapter/pull/147
However there are still several restrictions on the use of this functionality. The restrictions are: