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

#include <cl_Vertex.hpp>

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

Public Member Functions

 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 const Elementelement (const uint aIndex) const
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 ()

Protected Member Functions

void delete_containers ()
 must be called by destructor
size_t array_memory () const

Protected Attributes

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

◆ Vertex()

belfem::mesh::Vertex::Vertex ( )

◆ ~Vertex()

belfem::mesh::Vertex::~Vertex ( )
overridevirtual

Reimplemented from belfem::graph::Vertex.

Member Function Documentation

◆ add_edge()

void belfem::mesh::Vertex::add_edge ( Edge * aEdge)

◆ add_element()

void belfem::mesh::Vertex::add_element ( Element * aElement)

◆ add_face()

void belfem::mesh::Vertex::add_face ( Face * aFace)

◆ add_facet()

void belfem::mesh::Vertex::add_facet ( Facet * aFacet)

◆ add_node()

void belfem::mesh::Vertex::add_node ( Node * aNode)

◆ allocate_edge_container()

void belfem::mesh::Vertex::allocate_edge_container ( const uint aCounter = 0)

◆ allocate_element_container()

void belfem::mesh::Vertex::allocate_element_container ( const uint aCounter = 0)

◆ allocate_face_container()

void belfem::mesh::Vertex::allocate_face_container ( const uint aCounter = 0)

◆ allocate_facet_container()

void belfem::mesh::Vertex::allocate_facet_container ( const uint aNumFacets = 0)

◆ allocate_node_container()

void belfem::mesh::Vertex::allocate_node_container ( const uint aCounter = 0)

◆ array_memory()

size_t belfem::mesh::Vertex::array_memory ( ) const
inlineprotected

bytes of the arrays Vertex and its bases own. The five mesh arrays are charged by their stored capacity, never by number_of_*(): Facet and Face override those to describe the wrapped element or the master and slave. Graph vertices, dofs and sources are fill counts, no capacity is stored for them

◆ delete_containers()

void belfem::mesh::Vertex::delete_containers ( )
protected

must be called by destructor

◆ edge() [1/2]

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

Reimplemented from belfem::mesh::Basis.

◆ edge() [2/2]

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

Reimplemented from belfem::mesh::Basis.

◆ element() [1/2]

const Element * belfem::mesh::Vertex::element ( const uint aIndex) const
inlinevirtual

◆ element() [2/2]

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

Reimplemented from belfem::mesh::Basis.

◆ entity_type()

EntityType belfem::mesh::Vertex::entity_type ( ) const
inlineoverridevirtual

returns the type of this mesh vertex

Reimplemented from belfem::mesh::Basis.

◆ face() [1/2]

const Face * belfem::mesh::Vertex::face ( const uint aIndex) const
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ face() [2/2]

Face * belfem::mesh::Vertex::face ( const uint aIndex)
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ facet() [1/2]

Facet * belfem::mesh::Vertex::facet ( const uint aIndex)
inlinevirtual

◆ facet() [2/2]

const Facet * belfem::mesh::Vertex::facet ( const uint aIndex) const
inlinevirtual

◆ flag_nodes()

void belfem::mesh::Vertex::flag_nodes ( const uint8_t aIndex = 0)
virtual

Reimplemented in belfem::mesh::Facet.

◆ increment_edge_counter()

void belfem::mesh::Vertex::increment_edge_counter ( )
inline

◆ increment_element_counter()

void belfem::mesh::Vertex::increment_element_counter ( )
inline

◆ increment_face_counter()

void belfem::mesh::Vertex::increment_face_counter ( )
inline

◆ increment_facet_counter()

void belfem::mesh::Vertex::increment_facet_counter ( )
inline

◆ increment_node_counter()

void belfem::mesh::Vertex::increment_node_counter ( )
inline

◆ insert_edge()

void belfem::mesh::Vertex::insert_edge ( Edge * aEdge,
const uint aIndex )

◆ insert_node()

void belfem::mesh::Vertex::insert_node ( Node * aNode,
const uint aIndex )

◆ node() [1/2]

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

Reimplemented from belfem::mesh::Basis.

◆ node() [2/2]

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

Reimplemented from belfem::mesh::Basis.

◆ number_of_edges()

uint belfem::mesh::Vertex::number_of_edges ( ) const
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ number_of_elements()

uint belfem::mesh::Vertex::number_of_elements ( ) const
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ number_of_faces()

uint belfem::mesh::Vertex::number_of_faces ( ) const
inlineoverridevirtual

Reimplemented from belfem::mesh::Basis.

◆ number_of_facets()

uint belfem::mesh::Vertex::number_of_facets ( ) const
inlinevirtual

◆ number_of_nodes()

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

Reimplemented from belfem::mesh::Basis.

◆ reset_edge_container()

void belfem::mesh::Vertex::reset_edge_container ( )

◆ reset_element_container()

void belfem::mesh::Vertex::reset_element_container ( )
overridevirtual

Reimplemented from belfem::graph::Vertex.

◆ reset_face_container()

void belfem::mesh::Vertex::reset_face_container ( )

◆ reset_facet_container()

void belfem::mesh::Vertex::reset_facet_container ( )

◆ reset_node_container()

void belfem::mesh::Vertex::reset_node_container ( )

◆ unflag_nodes()

void belfem::mesh::Vertex::unflag_nodes ( const uint8_t aIndex = 0)
virtual

Reimplemented in belfem::mesh::Facet.

Member Data Documentation

◆ mEdgeCapacity

uint8_t belfem::mesh::Vertex::mEdgeCapacity = 0
protected

◆ mEdgeCounter

uint8_t belfem::mesh::Vertex::mEdgeCounter = 0
protected

number of edges connected to this vertex

◆ mEdges

Edge** belfem::mesh::Vertex::mEdges = nullptr
protected

pointer to edges

◆ mElementCapacity

uint8_t belfem::mesh::Vertex::mElementCapacity = 0
protected

◆ mElementCounter

uint8_t belfem::mesh::Vertex::mElementCounter = 0
protected

number of elements connected to this vertex

◆ mElements

Element** belfem::mesh::Vertex::mElements = nullptr
protected

pointer to elements

◆ mFaceCapacity

uint8_t belfem::mesh::Vertex::mFaceCapacity = 0
protected

◆ mFaceCounter

uint8_t belfem::mesh::Vertex::mFaceCounter = 0
protected

number of faces connected to this vertex

◆ mFaces

Face** belfem::mesh::Vertex::mFaces = nullptr
protected

pointer to faces

◆ mFacetCapacity

uint16_t belfem::mesh::Vertex::mFacetCapacity = 0
protected

◆ mFacetCounter

uint16_t belfem::mesh::Vertex::mFacetCounter = 0
protected

number of facets connected to this vertex this one needs to be larger due to cohomoligies

◆ mFacets

Facet** belfem::mesh::Vertex::mFacets = nullptr
protected

pointer to facets

◆ mNodeCapacity

uint8_t belfem::mesh::Vertex::mNodeCapacity = 0
protected

◆ mNodeCounter

uint8_t belfem::mesh::Vertex::mNodeCounter = 0
protected

number of nodes connected to this vertex

◆ mNodes

Node** belfem::mesh::Vertex::mNodes = nullptr
protected

pointer to nodes


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