30 OGS_FATAL(
"Invalid face id '{:d}' for a line.", face_id);
47 auto const r = 0.5 * (wp[0] + 1);
58 OGS_FATAL(
"Invalid face id '{:d}' for the tri.", face_id);
86 OGS_FATAL(
"Invalid face id '{:d}' for the quad.", face_id);
116 OGS_FATAL(
"Invalid face id '{:d}' for the hexahedron.", face_id);
126 auto const r = wp[0];
127 auto const s = wp[1];
137 auto const r01 = 0.5 * (r + 1);
143 auto const r01 = 0.5 * (r + 1);
149 auto const r01 = 0.5 * (r + 1);
156 OGS_FATAL(
"Invalid face id '{:d}' for the prism.", face_id);
166 auto const r = wp[0];
167 auto const s = wp[1];
170 auto const z = 2 * s - 1;
171 auto const w = s == 1 ? -1 : 2 * r / (1 - s) - 1;
186 OGS_FATAL(
"Invalid face id '{:d}' for the pyramid.", face_id);
196 auto const r = wp[0];
197 auto const s = wp[1];
198 auto const t = 1 - r - s;
211 OGS_FATAL(
"Invalid face id '{:d}' for the tetrahedron.", face_id);
221 std::size_t
const bulk_face_id,
230 switch (bulk_element_cell_type)
234 return getBulkElementPointHex(bulk_face_id, point_on_face);
236 return getBulkElementPointPrism(bulk_face_id, point_on_face);
238 return getBulkElementPointPyramid(bulk_face_id, point_on_face);
240 return getBulkElementPointTet(bulk_face_id, point_on_face);
243 return getBulkElementPointQuad(bulk_face_id, point_on_face);
245 return getBulkElementPointTri(bulk_face_id, point_on_face);
248 return getBulkElementPointLine(bulk_face_id);
251 "Wrong cell type '{:s}' or functionality not yet implemented.",
std::size_t getDimension() const
The point dimension, i.e., the number of its coordinates.
MathLib::Point3d getBulkElementPoint(MeshLib::CellType const bulk_element_cell_type, std::size_t const bulk_face_id, MathLib::WeightedPoint const &point_on_face)
CellType
Types of mesh elements supported by OpenGeoSys.
std::string CellType2String(const CellType t)
Given a MeshElemType this returns the appropriate string.
MathLib::Point3d getBulkElementPointLine(std::size_t const face_id)
MathLib::Point3d getBulkElementPointTri(std::size_t const face_id, MathLib::WeightedPoint const &wp)
MathLib::Point3d getBulkElementPointTet(std::size_t const face_id, MathLib::WeightedPoint const &wp)
MathLib::Point3d getBulkElementPointQuad(std::size_t const face_id, MathLib::WeightedPoint const &wp)
MathLib::Point3d getBulkElementPointPrism(std::size_t const face_id, MathLib::WeightedPoint const &wp)
MathLib::Point3d getBulkElementPointHex(std::size_t const face_id, MathLib::WeightedPoint const &wp)
MathLib::Point3d getBulkElementPointPyramid(std::size_t const face_id, MathLib::WeightedPoint const &wp)