25#include "bitpit_CG.hpp"
26#include "line_kernel.hpp"
31#if BITPIT_ENABLE_MPI==1
50 :
PatchKernel(communicator, haloSize, adaptionMode, partitioningMode)
64#if BITPIT_ENABLE_MPI==1
84 :
PatchKernel(dimension, communicator, haloSize, adaptionMode, partitioningMode)
99#if BITPIT_ENABLE_MPI==1
120 :
PatchKernel(id, dimension, communicator, haloSize, adaptionMode, partitioningMode)
138void LineKernel::initialize()
217 const Cell &cell = m_cells[id];
220 case ElementType::LINE:
252 const Cell &cell = m_cells[id];
255 case ElementType::LINE:
263 normal = normal /
norm2(normal);
270 return {{0., 0., 0.}};
294 const Cell *cell_ = &m_cells[id];
304 case ElementType::LINE:
319 for (
int i = 0; i < nVertices; ++i) {
The Cell class defines the cells.
ElementType getType() const
static ConstProxyVector< long > getVertexIds(ElementType type, const long *connectivity)
int getVertexCount() const
int getVolumeCodimension() const override
int getPointCodimension() const override
void evalBarycentricCoordinates(long id, const std::array< double, 3 > &point, double *lambda) const
virtual double evalCellLength(long id) const
double evalCellSize(long id) const override
int getLineCodimension() const override
LineKernel(MPI_Comm communicator, std::size_t haloSize, AdaptionMode adaptionMode, PartitioningMode partitioningMode)
void extractEnvelope(PointKernel &envelope) const
virtual std::array< double, 3 > evalCellNormal(long id, const std::array< double, 3 > &orientation={{0., 0., 1.}}) const
int getSurfaceCodimension() const override
The PatchKernel class provides an interface for defining patches.
Vertex & getVertex(long id)
const std::array< double, 3 > & getVertexCoords(long id) const
void extractEnvelope(PatchKernel &envelope) const
Metafunction for generating a list of elements that can be either stored in an external vectror or,...
The Vertex class defines the vertexs.
std::array< double, 3 > & getCoords()
array3D projectPointSegment(array3D const &, array3D const &, array3D const &)
std::array< T, 3 > crossProduct(const std::array< T, 3 > &x, const std::array< T, 3 > &y)
double norm2(const std::array< T, d > &x)
#define BITPIT_UNUSED(variable)