Skip to content

Alternative computation of the volume mapping #793

@CsatiZoltan

Description

@CsatiZoltan

t8code can handle curved elements in a cmesh by computing the volume mapping between a reference volume and its position in the physical space. The mapping is determined with the help of the vertices of the volume and contributions from its edges and faces [1, 2]. The latter two are obtained from the CAD geometry on which the mesh was constructed.

I can see its advantage, namely, the exact geometry can be approximated arbitrarily well.
On the other hand, it requires

  1. that the geometry be available in BRep format, which is not the case if you receive a mesh
  2. a heavyweight CAD engine dependency

How about implementing the volume mapping by the standard finite element basis functions $\psi_i$? Assume that a mesh generator created a mesh of curved elements (e.g. a mesh of 27-node triquadratic hexahedra). An arbitrary point $\vec{\xi}$ in the reference element is then mapped to the point $\mathbf{x}$ in the physical space by
$$\mathbf{x}(\vec{\xi}) = \sum\limits_{i=1}^{N_\mathrm{node}} \psi_i(\vec{\xi}) \mathbf{x}_i$$
where $\mathbf{x}_i$ are the coordinates of the nodes of the element.

This description tackles the above-mentioned issues. Is there any reason that it is not implemented in t8code? Does t8code provide the means that I can implement it myself?

References

[1] Constructing a Volume Geometry Map for Hexahedra with Curved Boundary Geometries - article
[2] Constructing a Volume Geometry Map for Hexahedra with Curved Boundary Geometries - presentation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions