partitioned-heat-conduction: direct mesh access#299
partitioned-heat-conduction: direct mesh access#299MakisH merged 18 commits intoprecice:developfrom evalf:phc-direct
Conversation
|
@gertjanvanzwieten Could you please allow me to push to your branch. That would make things easier. Thanks! |
|
@uekerman try now? I think you should have full rights. |
|
@gertjanvanzwieten Works. Thanks! |
This patch disables all Precice mappings and replaces it by direct mesh access in both directions.
|
Ready for review.
Motivation for this case is to showcase the direct mesh access feature, developed by @davidscn. We will add more participants here in the future (potentially a Could not be merged with the existing |
|
I also have a higher-order solver using the direct-mesh access with this tutorial. I will also check for the convergence behavior when coupling with the Nutils code here. |
|
Tested it and it works like charm, even the high-order properties are preserved (as expected). |
What kind of tests did you do? Also different meshes left and right? |
deal.II uses hexahedral meshes and Nutils tet meshes, so I'm not sure what exactly you want to have more different. Maybe I should also add that I didn't do a full convergence study here, but one can clearly see the error drop when going from first order polynomials to seconds order polynomials. I can test things more thoroughly if there is any need. Right now, it was more or less meant as a consistency check. Edit: Only thing which looks a bit confusing is the reported number of DoFs by Nutils vs the vtk output. Are higher degrees sub-sampled in the vtk output? |
IshaanDesai
left a comment
There was a problem hiding this comment.
Just a minor suggestion to structure the time loop in a way that is consistent with other tutorials.
MakisH
left a comment
There was a problem hiding this comment.
I ran the case, checked the README, clean, and run scripts, and compared the precice-config.xml to the basic partitioned-heat-conduction. Apart from some minor comments, looks good! 👍
Co-authored-by: Ishaan Desai <[email protected]>
Exactly, this happens here: bezier = domain.sample('bezier', degree * 2)
...
x, u, uexact = bezier.eval(['x_i', 'u', 'uexact'] @ ns, lhs=lhs, t=t) |
Co-authored-by: Gerasimos Chourdakis <[email protected]>
Co-authored-by: Gerasimos Chourdakis <[email protected]>
|
@MakisH Ready to merge from my side |
@uekerman: over to you!