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

Nitsche model restart does not work with simplices #275

Open
blaisb opened this issue Oct 31, 2021 · 2 comments
Open

Nitsche model restart does not work with simplices #275

blaisb opened this issue Oct 31, 2021 · 2 comments
Assignees

Comments

@blaisb
Copy link
Contributor

blaisb commented Oct 31, 2021

The current code does not write the simplex mesh for the immersed boundary and thus, when restarting will crash.
Depending on the difficulty of serializing meshes that are made of simplices, this may be hard or difficult to do :)

@anicusan
Copy link
Contributor

The main advantage of the IB in our cases was that we can avoid the hexahedral meshing of very complex geometries; it's great that we can use a refined, simple hexahedral background mesh and a tetrahedralization of the complex bodies inside.

Writing simplex Nitsche meshes when checkpointing simulations would be very useful when running long jobs on shared HPCs that limit the maximum walltime. I don't see any special handling of hex over tet meshes in source/core/solid_base.cc, just:

  if (auto tria = dynamic_cast<parallel::distributed::Triangulation<dim> *>(
        this->solid_tria.get()))
    {
      std::string triangulationName = prefix + ".triangulation";
      tria->save(prefix + ".triangulation");
    }

Does the mesh serialization need to be done in deal.II? If not, would you have any pointers as to where to start with this? Apologies if my issues sound more like asking for guidance than concise problem-solving - I can follow Lethe's architecture, but using deal.II is a bigger step...

@blaisb
Copy link
Contributor Author

blaisb commented Nov 21, 2022

Dear @anicusan that's a very good question. I am not sure what's the exact issue with the checkpoint of simplex meshes right now as I have not tried it in a while. I know at the time we encountered challenges (hence this issue). Give me a day or two and I can try it on my side of things this week to see if there's any bug left and if they can be fixed. I'll message you after that :). I think I can come up with a fix since my understanding of these classes has improved over time :)!

@blaisb blaisb self-assigned this May 1, 2023
blaisb added a commit that referenced this issue May 1, 2024
Description of the problem
Nitsche does not restart when the mesh was generated with simplices. See Nitsche model restart does not work with simplices #275
Description of the solution
Fixes the issue by restarting the fully distributed triangulation for the solid correctly.
How Has This Been Tested?
Still pending a unit test, WIP
Comments
While running this test case I managed to find another bug, which is that the Nitsche model is unable of mesh adaptation once it has been restarted. This bug was there all the time. I will try to figure out something, in the meantime I will try to m erge this PR anyway.

Co-authored-by: Laura Prieto Saavedra <lauraprietosaavedra@gmail.com>
yashuuzi pushed a commit that referenced this issue May 6, 2024
Description of the problem
Nitsche does not restart when the mesh was generated with simplices. See Nitsche model restart does not work with simplices #275
Description of the solution
Fixes the issue by restarting the fully distributed triangulation for the solid correctly.
How Has This Been Tested?
Still pending a unit test, WIP
Comments
While running this test case I managed to find another bug, which is that the Nitsche model is unable of mesh adaptation once it has been restarted. This bug was there all the time. I will try to figure out something, in the meantime I will try to m erge this PR anyway.

Co-authored-by: Laura Prieto Saavedra <lauraprietosaavedra@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants