Skip to content
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

Introduce tag for use of adaptive meshes #1293

Open
fsimonis opened this issue May 17, 2022 · 4 comments · May be fixed by #1589
Open

Introduce tag for use of adaptive meshes #1293

fsimonis opened this issue May 17, 2022 · 4 comments · May be fixed by #1589
Assignees
Labels
configuration Related to the preCICE configuration enhancement A new feature, a new functionality of preCICE (from user perspective)

Comments

@fsimonis
Copy link
Member

Introducing re-meshing leads to additional synchronisation points and re-paritioning work.

To reduce this cost as much as possible, I suggest requiring adaptive meshes be tagged as such.

<mesh name="Mesh">
  ...
</mesh>

<participant name="Sender">
  <use-mesh name="Mesh" provide="true" adaptive="true" />
</participant>

<participant name="Receiver">
  <use-mesh name="Mesh" from="Sender" />
</participant>

This allows us to:

  • disable all re-meshing features by default.
    Existing configurations will work out-of-the-box without any performance impact.
  • enforce that only Sender may use resetMesh(meshID) to reset and redefine the mesh.
    This restricts which meshes need repartitioning on which participants.
  • enable the intra-participant handshake only for Sender, as it provides an adaptive mesh.
    The Receiver does not need this handshake and can skip it as it will never be able to call resetMesh itself.
  • enable re-initialization only between Sender and Receiver (everyone using Mesh from Sender)
    Other participants will never re-initialize as they don't come in contact with participants providing adaptive meshes.
@fsimonis fsimonis added the enhancement A new feature, a new functionality of preCICE (from user perspective) label May 17, 2022
@fsimonis fsimonis self-assigned this May 17, 2022
@fsimonis fsimonis added this to To do in Dynamic Meshes via automation May 17, 2022
@uekerman
Copy link
Member

I like. Just thinking a bit about the name. As a mathematical term, "adaptive" is sth different. ˋdynamicˋ could be another option or ˋremeshingˋ or ˋallow-remeshingˋ?

@fsimonis
Copy link
Member Author

Further alternatives:

  • a reverse attribute such as static=true or
  • a kind attribute kind="static" , kind="dynamic"
  • use a namespace use-mesh:static, use-mesh:dynamic

@uekerman
Copy link
Member

I like static="true" as well.

@fsimonis
Copy link
Member Author

@uekerman and I converged towards the attribute dynamic="true".

@fsimonis fsimonis mentioned this issue Nov 23, 2022
8 tasks
@fsimonis fsimonis linked a pull request Mar 2, 2023 that will close this issue
8 tasks
@fsimonis fsimonis added the configuration Related to the preCICE configuration label Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
configuration Related to the preCICE configuration enhancement A new feature, a new functionality of preCICE (from user perspective)
Projects
Dynamic Meshes
  
To do
Development

Successfully merging a pull request may close this issue.

2 participants