Replies: 6 comments 4 replies
-
|
Hi @EssenFOAM,
If I understand correctly, you are asking how to extract the coarsest level of the tree. Is this correct? If so, I can attach here a minimal working example, adapting one of the examples program you can find in the
The R-tree generation is done through boost. The hierarchy traversal, instead, is not natively supported in boost and was done through a suitable visitor.
I assume you are using a deal.II version greater than or equal to 9.7. You mentioned that the example files are not compiling, but you did not specify which ones. Could you please share the full compiler log so that I can better understand the issue and help you diagnose the problem, along with your |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the reply.
The face-area-based mesh agglomeration algorithm (e.g., in OpenFOAM) is complex to implement. I would appreciate it if you could attach a minimal working code to show multi-layer agglomerates using R*-tree (vtk format), so we can compare it to the mesh agglomerates generated in OpenFOAM, which are not great intuitively (non-compact, and irregularly shaped) for a non-box-like mesh domain. E.g. Pseudo 2D mesh agglomeration, level 6 and 3D mesh agglomeration 3D mesh agglomeration - level 13
[examples]$ make By patching this: I could successfully compiled few test cases. But could not eliminate all BOOST_STATIC_ASSERT_MSG errors.
|
Beta Was this translation helpful? Give feedback.
-
|
Hi @EssenFOAM,
The tree data structure is generated by Boost. We then traverse the tree using a custom visitor, which is used to agglomerate cells.
I would be happy to show here results using the geometries you provided. Could you please let me know where I can find the corresponding mesh files?
Could you please attach the |
Beta Was this translation helpful? Give feedback.
-
|
Attached is the vtk format of the agglomerations. There is the Could you please give a minimal working code of R3MG such that we can directly output agglomerations (multi-layers) to vtk files? Thanks a lot! |
Beta Was this translation helpful? Give feedback.
-
|
Hi @EssenFOAM, I have applied the R-tree-based agglomeration to generate a hierarchy from the 3D mesh you sent. Please let me know if you find the results satisfactory. If so, I am happy to provide a self-contained MWE. Below are the results for two of the generated levels. They appear visually identical, but note the different range of agglo_idx.
To better appreciate the nestedness between levels and the shape of the partitions:
On the left, one coarser element of the hierarchy. On the right, the eight sub-agglomerates (not all of them are visible). A typical output of the program gives: |
Beta Was this translation helpful? Give feedback.
-
|
Concerning the deal.II installation:
Let me know if this solves the problem |
Beta Was this translation helpful? Give feedback.





Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I could not find the key codes for generating the level-0 nodes (groups of cells' AABBs): like a process of decomposing the mesh into N tiny partitions (10-20 cells).
Do you use the lib-boost RTree packing algorithms (STR or Hilbert curve indexing)?
By the way, I have installed deal.II successfully, but still could not compile the Polydeal codes.
Mostly related to example files:
/usr/include/boost/lexical_cast/detail/converter_lexical.hpp:243:13:
error: static assertion failed: Target type is neither std::istream
able nor std::wistreamable243 | BOOST_STATIC_ASSERT_MSG((result_t::value || boost::has_right_shift<std::basic_istream<wchar_t>, T >::value),
Beta Was this translation helpful? Give feedback.
All reactions