Discovering the capabilities of t8code for my needs #756
Replies: 6 comments 10 replies
-
Hello @CsatiZoltan ! Welcome to t8code! At a first glance, your given goals, problem description and requirements are a nice match with the capabilities t8code offers. For the nice-to-have section, I can say we already support hybrid meshes. Resolving hanging nodes exactly in the manner as you described is work-in-progress but will be part of t8code in the midterm future. About global connectivity across subdomains and in-place datastructures is, to my knowledge, not available as of now but, of course, nice to have. |
Beta Was this translation helpful? Give feedback.
-
Let us know if we can be of help in your project! Do not hesitate to ask if you have more questions! |
Beta Was this translation helpful? Give feedback.
-
Hi @jmark, Thank you for the rapid and reassuring reply. I would certainly have questions, but those are more specific to certain steps of the AMR process. I thought about restricting this issue to the features of t8code, while opening new ones concerning the concrete workflow. Moreover, since these will not be developer's issues, you could give me right to open discussion threads. What do you think? |
Beta Was this translation helpful? Give feedback.
-
But conformity within a subdomain is possible with t8code e.g. by tetrahedralization? When you create an adaptive mesh for a high-order geometry, is the resulting mesh watertight? I cannot see how it can be achieved for non-uniform quad/hex meshes. For visualization, small holes or overlapping elements are not a problem, but for many post-processing filters a manifold mesh is expected.
Until then, is it possible to turn every quad/hex into conforming tri/tetra? Another idea: what about defining a new subdivision pattern for quad/hex so that they are first decomposed into tri/tetra and then continue their subdivision as usual? Could you please point me to the relevant parts of the code, which allows me executing the following algorithm:
References[1] Constructing a Volume Geometry Map For Hexahedra With Curved Boundary Geometries - presentation |
Beta Was this translation helpful? Give feedback.
-
We discussed this concept within the group but there is no implementation of this in t8code. We have an experimental branch in t8code
The examples you referenced are mere visual glitches. When the input mesh is watertight then t8code will not introduce any leaks by its AMR operations on the given mesh. Maybe some words for clarification. t8code is not a classical mesh generator. It reads conformal input meshes, for example from Gmsh, and builds a so called "coarse mesh". In each of these coarse elements an (oct-)tree is initialized which we use for AMR, parallelization, load balancing, partitioning, etc.
In general yes, t8code offers the modularity and the interfaces to implement such a scheme you envisioned.
I think you can implement this by sub-classing You can try this specific example with this example program https://github.com/DLR-AMR/t8code/blob/main/example/cmesh/t8_cmesh_geometry_examples.cxx . We're in the process of reworking the API a little bit. So I recommend to check out the two PRs as well. The second PR implements a triangulated spherical shell. This would cover the first point. Merging the subdomains and converting it to an unstructured mesh ... for that I need more information what your actual goal is here. Which format should the unstructured mesh be in, for example? |
Beta Was this translation helpful? Give feedback.
-
In t8code you can implement new geometries and have full access to geometrical position of leaf elements which allows to implement custom geometries.
t8code handles curved elements via its geometry classes. I posted examples how to do this in a previous comment. Also check out https://github.com/DLR-AMR/t8code/blob/main/example/geometry/t8_example_geometries.cxx.
t8code can read in Gmsh files v2 and v4.
As already discussed, VTK output.
t8code does not store or refine any geometry of the elements. It computes the geometry of a leaf element on demand. The exact or high order geometry information is stored in a derived custom geometry class (or within OpenCascade read in from a Do not hesitate to follow up on this issue and ask further. |
Beta Was this translation helpful? Give feedback.
-
Feel free to move this issue to the Discussions; I opened an issue as I cannot open a discussion thread.
I collected a lot of materials (theses, presentation, etc.) about t8code, and I think it would suit my needs. However, before settling with this code, I would like to make sure that it is indeed the right tool.
Goal
A high-order solution exists on a high-order mesh. We want to replace the high-order solution and the high-order cells with an approximate solution on linear cells. Hence, we want to use AMR for post-processing, not for solving.
Characteristics of the problem
Requirements
Nice to have
Based on the demands, is t8code an appropriate tool for me? If not, could you please point me to alternatives?
Thanks,
Zoltan
Beta Was this translation helpful? Give feedback.
All reactions