BELFEM 0.9.0
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
belfem::mesh::Segment Class Reference

#include <cl_Segment.hpp>

Inheritance diagram for belfem::mesh::Segment:
[legend]
Collaboration diagram for belfem::mesh::Segment:
[legend]

Public Member Functions

 Segment (Element *aElement)
 ~Segment () override
id_t id () const
ElementType type () const
uint number_of_nodes () const override
Nodenode (const uint aIndex) override
const Nodenode (const uint aIndex) const override
Edgeedge ()
const Edgeedge () const
void insert_edge (Edge *aEdge)
void clear_edge ()
int edge_direction () const
Elementelement ()
 expose the element pointer
Elementelement (const uint aIndex) override
 inherited, but forbidden function
const Elementelement (const uint aIndex) const override
 inherited, but forbidden function
size_t memory () const
Edgeedge (const uint aIndex) override
const Edgeedge (const uint aIndex) const override
Public Member Functions inherited from belfem::mesh::Vertex
 Vertex ()
 ~Vertex () override
EntityType entity_type () const override
 returns the type of this mesh vertex
void reset_node_container ()
void increment_node_counter ()
void allocate_node_container (const uint aCounter=0)
void add_node (Node *aNode)
void insert_node (Node *aNode, const uint aIndex)
uint number_of_nodes () const override
Nodenode (const uint aIndex) override
const Nodenode (const uint aIndex) const override
void reset_edge_container ()
void increment_edge_counter ()
void allocate_edge_container (const uint aCounter=0)
void add_edge (Edge *aEdge)
void insert_edge (Edge *aEdge, const uint aIndex)
uint number_of_edges () const override
Edgeedge (const uint aIndex) override
const Edgeedge (const uint aIndex) const override
void reset_face_container ()
void increment_face_counter ()
void allocate_face_container (const uint aCounter=0)
void add_face (Face *aFace)
uint number_of_faces () const override
Faceface (const uint aIndex) override
const Faceface (const uint aIndex) const override
void reset_facet_container ()
void increment_facet_counter ()
void allocate_facet_container (const uint aNumFacets=0)
void add_facet (Facet *aFacet)
virtual uint number_of_facets () const
virtual Facetfacet (const uint aIndex)
virtual const Facetfacet (const uint aIndex) const
void reset_element_container () override
void increment_element_counter ()
void allocate_element_container (const uint aCounter=0)
void add_element (Element *aElement)
uint number_of_elements () const override
Elementelement (const uint aIndex) override
virtual void flag_nodes (const uint8_t aIndex=0)
virtual void unflag_nodes (const uint8_t aIndex=0)
Public Member Functions inherited from belfem::mesh::Basis
 Basis ()
 ~Basis () override
bool is_hanging () const
uint number_of_sources () const
Basissource (const uint aIndex)
const Basissource (const uint aIndex) const
Nodesource_node (const uint aIndex)
const Nodesource_node (const uint aIndex) const
real weight (const uint aIndex) const
void set_weight (const uint aIndex, const real aValue)
void set_sources (Cell< Basis * > &aSources, const Vector< real > &aCoefficients)
void set_sources (Cell< Basis * > &aSources, const Cell< real > &aCoefficients)
void set_sources (Cell< Node * > &aSources, const Vector< real > &aCoefficients)
void reset_source_container ()
void allocate_source_container (uint aNumSources)
void add_source (Basis *aSource, const real aWeight=1.0)
void flag_sources ()
void increment_dof_counter ()
void allocate_dof_container ()
void reset_dof_container ()
void insert_dof (graph::Vertex *aDof)
uint number_of_dofs () const
graph::Vertexdof (const uint aIndex)
Public Member Functions inherited from belfem::graph::Vertex
 Vertex ()=default
void set_id (const id_t aID)
id_t id () const
virtual void set_index (const index_t aIndex)
virtual index_t index () const
virtual void set_owner (const proc_t aOwner)
virtual proc_t owner () const
index_t level () const
void set_level (const index_t aLevel)
virtual void flag (const uint8_t aIndex=0)
virtual void unflag (const uint8_t aIndex=0)
virtual bool is_flagged (const uint8_t aIndex=0) const
void increment_vertex_counter ()
void init_vertex_container ()
void init_vertex_container (const uint aSize)
void reset_vertex_container ()
void insert_vertex (Vertex *aVertex)
uint number_of_vertices () const
virtual Vertexvertex (const uint aIndex)
virtual auto vertex (const uint aIndex) const -> decltype(this)
virtual void init_element_container ()
void sort_vertices ()
 sorts the vertices according to their index
void reverse_vertices ()

Additional Inherited Members

Protected Member Functions inherited from belfem::mesh::Vertex
void delete_containers ()
 must be called by destructor
size_t array_memory () const
Protected Attributes inherited from belfem::mesh::Vertex
Node ** mNodes = nullptr
 pointer to nodes
Edge ** mEdges = nullptr
 pointer to edges
Face ** mFaces = nullptr
 pointer to faces
Facet ** mFacets = nullptr
 pointer to facets
Element ** mElements = nullptr
 pointer to elements
uint8_t mNodeCounter = 0
 number of nodes connected to this vertex
uint8_t mNodeCapacity = 0
uint8_t mEdgeCounter = 0
 number of edges connected to this vertex
uint8_t mEdgeCapacity = 0
uint8_t mFaceCounter = 0
 number of faces connected to this vertex
uint8_t mFaceCapacity = 0
uint16_t mFacetCounter = 0
uint16_t mFacetCapacity = 0
uint8_t mElementCounter = 0
 number of elements connected to this vertex
uint8_t mElementCapacity = 0
Protected Attributes inherited from belfem::graph::Vertex
uint32_t mVertexCounter = 0
Vertex ** mVertices = nullptr

Constructor & Destructor Documentation

◆ Segment()

belfem::mesh::Segment::Segment ( Element * aElement)

◆ ~Segment()

belfem::mesh::Segment::~Segment ( )
override

Member Function Documentation

◆ clear_edge()

void belfem::mesh::Segment::clear_edge ( )
inline

◆ edge() [1/4]

Edge * belfem::mesh::Segment::edge ( )
inline

◆ edge() [2/4]

const Edge * belfem::mesh::Segment::edge ( ) const
inline

◆ edge() [3/4]

const Edge * belfem::mesh::Vertex::edge ( const uint aIndex) const
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ edge() [4/4]

Edge * belfem::mesh::Vertex::edge ( const uint aIndex)
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ edge_direction()

int belfem::mesh::Segment::edge_direction ( ) const
inline

◆ element() [1/3]

Element * belfem::mesh::Segment::element ( )
inline

expose the element pointer

◆ element() [2/3]

const Element * belfem::mesh::Segment::element ( const uint aIndex) const
inlineoverridevirtual

inherited, but forbidden function

Reimplemented from belfem::mesh::Vertex.

◆ element() [3/3]

Element * belfem::mesh::Segment::element ( const uint aIndex)
inlineoverridevirtual

inherited, but forbidden function

Reimplemented from belfem::mesh::Basis.

◆ id()

id_t belfem::mesh::Segment::id ( ) const
inline

◆ insert_edge()

void belfem::mesh::Segment::insert_edge ( Edge * aEdge)
inline

◆ memory()

size_t belfem::mesh::Segment::memory ( ) const
inline

◆ node() [1/2]

const Node * belfem::mesh::Segment::node ( const uint aIndex) const
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ node() [2/2]

Node * belfem::mesh::Segment::node ( const uint aIndex)
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ number_of_nodes()

uint belfem::mesh::Segment::number_of_nodes ( ) const
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ type()

ElementType belfem::mesh::Segment::type ( ) const
inline

The documentation for this class was generated from the following files: