mesh_converter::MeshElement

Tetrahedron class for the 3D barycentric interpolation.

#include <MeshElement.hpp>

Public Functions

Name
MeshElement() =delete
Default constructor.
MeshElement(size_t dimension, const std::array< Point, 4 > & vertices_tetrahedron, const std::array< Point, 4 > & efield_vertices_tetrahedron)
Constructor using a vector to store the index of the nodes and a list for the mesh and electric field points.
bool isValid(double volume_cut, Point & qp) const
Checks if the tetrahedron is valid for the interpolation.
Point getObservable(Point & qp) const
Barycentric interpolation implementation.
std::string print(Point & qp) const
Print tetrahedron information for debugging.

Public Functions Documentation

function MeshElement

MeshElement() =delete

Default constructor.

function MeshElement

inline MeshElement(
    size_t dimension,
    const std::array< Point, 4 > & vertices_tetrahedron,
    const std::array< Point, 4 > & efield_vertices_tetrahedron
)

Constructor using a vector to store the index of the nodes and a list for the mesh and electric field points.

Parameters:

  • dimension Dimension of the nodes
  • vertices_tetrahedron List containing 4 mesh node points
  • efield_vertices_tetrahedron List containing 4 points with the component of the electric field at the mesh node

function isValid

bool isValid(
    double volume_cut,
    Point & qp
) const

Checks if the tetrahedron is valid for the interpolation.

Parameters:

  • volume_cut Threshold for the minimum tetrahedron volume. Values <= 0 disable coplanarity checks
  • qp Desired point for the interpolation

function getObservable

Point getObservable(
    Point & qp
) const

Barycentric interpolation implementation.

Parameters:

  • qp Point where the interpolation is being done

function print

std::string print(
    Point & qp
) const

Print tetrahedron information for debugging.

Return: String describing the mesh element


Updated on 2024-12-13 at 08:31:36 +0000