Skip to content

Add 3D case for partitioned heat conduction#714

Open
NiklasVin wants to merge 7 commits intoprecice:developfrom
NiklasVin:partitioned-heat-conduction-3d
Open

Add 3D case for partitioned heat conduction#714
NiklasVin wants to merge 7 commits intoprecice:developfrom
NiklasVin:partitioned-heat-conduction-3d

Conversation

@NiklasVin
Copy link
Copy Markdown
Collaborator

  • compared to existing heat conduction examples, it is in 3D and helps to validate vector valued and 3D coupling
  • what is necessary to run this new case: FEniCSx v0.10, preCICE v.3.3.1, preCICE python bindings v.3.3.1 and FEniCSx-preCICE adapter (currently the most recent state on the develop branch)
  • Output at t=1:
Screenshot from 2026-02-19 21-21-36

Checklist:

  • I added a summary of any user-facing changes (compared to the last release) in the changelog-entries/<PRnumber>.md.
  • I will remember to squash-and-merge, providing a useful summary of the changes of this PR.

NiklasVin added a commit to precice/fenicsx-adapter that referenced this pull request Mar 4, 2026
Move the tutorials to https://github.com/precice/tutorials. See precice/tutorials#687, precice/tutorials#688 and precice/tutorials#714

---------

Co-authored-by: Ishaan Desai <ishaandesai@gmail.com>
@NiklasVin NiklasVin requested a review from IshaanDesai March 30, 2026 08:44
Copy link
Copy Markdown
Member

@IshaanDesai IshaanDesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The case setup and folder structure look good. I think the tutorial is valuable as we currently do not have any other way of testing the FEniCSx adapter in 3D.

I remember there were some issues with data-mapping accuracy. Can you please briefly describe the issues, which mapping settings you tried, and what effect each had?

@NiklasVin
Copy link
Copy Markdown
Collaborator Author

NiklasVin commented Apr 18, 2026

I dont remember every mapping I used but I ran a few setups similar to them I tried in the past. I figured out that the mapping defined for the Dirichlet participant (i.e. read from Neumann Mesh) primarily influenced the accuracy of the result (I suppose the reason is that the Dirichlet participant requires BC function of degree 2, and the Neumann only degree 1):

  • nearest-neigbor: Does not really work (error after first time step 3.8e-1)
  • rbf-pum with compact-polynomial-c2: Better but the error is also rather large after the first time step (magnitude of about e-3)
  • rbf-pum with compact-polynomial-c8: The best I could find (the c4, c6 are also better than the c2 option)
  • For the rbf-pum, I noticed that you need to tremendously increase relative-overlap, vertices-per-cluster and support-radius from the default values to get somewhat accurate results.

Generally I am not very happy with the results because setting the dofs directly from the preCICE data yields better results (I think the error was within the magnitude of e-7). As far as I can assess this situation the solver code is correct but the mapping & interpolation steps break the accuracy...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants