Skip to content

Radial shell output, radial shell IDs, duplicate DoF counting

Nils Kohl requested to merge kohl/radial-output-rebased into master

Rebased and extended from !753 (closed).

Content

This MR deals with radial output and some other features.

Contributions:

  • fixes and refactoring of the computation of radial shells and layers for the refined, radially equidistant IcosahedralShellMesh
  • a new class RadialShellData to gather and store the FE data in radial layers without connectivity
  • VTK output for point clouds (general point clouds, not limited to the radially organized data above) via VTKPointCloudOutput
  • a helper function to interpolate the radial shell ID to FE functions (can be used to filter radial shells in post-processing)
  • a helper function to interpolate the number of duplicated nodes in the VTK/ADIOS output (currently all data including ghost-nodes is written for each macro-volume - this creates duplicates - they can be detected/filtered with this additional data)

Note on layers vs shells

There are some issues regarding the nomenclature of shell and layer. It appears that their definition is unclear. We need to distinguish between

  • (what I currently call shell) 2D manifolds in 3D space, i.e., the boundaries of a sphere (centered at the origin) with a specific radius, and
  • (what I currently call layer) 3D volumes that have two such manifolds as boundaries.

Unfortunately, these definitions are not used consistently, especially in older code and documentation (see e.g. documentation of the MeshInfo).

Plots of the point cloud output

Example 1: all shells selected: point_cloud_vtk_01

Example 2: only two selected shells: point_cloud_vtk_02

Edited by Nils Kohl

Merge request reports