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

#include <cl_Node.hpp>

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

Public Member Functions

 Node (const id_t &aID, const real aX=0.0, const real aY=0.0, const real aZ=0.0)
 ~Node () override
EntityType entity_type () const override
 returns the type of this vertex
real x () const
real x (const uint aDimension) const
real y () const
real z () const
Vector< realcoords () const
void set_coords (const Vector< real > &aCoords)
 change the coordinates of this node
void get_coords (Vector< real > &aCoords)
void set_coords (const real aX, const real aY)
void set_coords (const real aX, const real aY, const real &aZ)
void allocate_duplicate_container (const uint aSize)
void reset_duplicate_container ()
void add_duplicate (Node *aNode)
uint number_of_duplicates () const
 returns the number of duplicates of this node
bool is_duplicate () const
Nodeduplicate (const uint aIndex)
 returns duplicates of this node
Nodeoriginal ()
 returns the original of this node
const Nodeoriginal () const
void set_original (Node *aNode)
void unlink_from_original ()
size_t memory () const
void set_periodic (Node *aNode)
Nodeperiodic ()
const Nodeperiodic () const
bool is_periodic () const
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 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 ()

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

◆ Node()

belfem::mesh::Node::Node ( const id_t & aID,
const real aX = 0.0,
const real aY = 0.0,
const real aZ = 0.0 )

◆ ~Node()

belfem::mesh::Node::~Node ( )
override

Member Function Documentation

◆ add_duplicate()

void belfem::mesh::Node::add_duplicate ( Node * aNode)
inline

◆ allocate_duplicate_container()

void belfem::mesh::Node::allocate_duplicate_container ( const uint aSize)
inline

◆ coords()

Vector< real > belfem::mesh::Node::coords ( ) const
inline

◆ duplicate()

Node * belfem::mesh::Node::duplicate ( const uint aIndex)
inline

returns duplicates of this node

◆ entity_type()

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

returns the type of this vertex

Reimplemented from belfem::mesh::Basis.

◆ get_coords()

void belfem::mesh::Node::get_coords ( Vector< real > & aCoords)
inline

◆ is_duplicate()

bool belfem::mesh::Node::is_duplicate ( ) const
inline

◆ is_periodic()

bool belfem::mesh::Node::is_periodic ( ) const
inline

◆ memory()

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

◆ number_of_duplicates()

uint belfem::mesh::Node::number_of_duplicates ( ) const
inline

returns the number of duplicates of this node

◆ original() [1/2]

Node * belfem::mesh::Node::original ( )
inline

returns the original of this node

◆ original() [2/2]

const Node * belfem::mesh::Node::original ( ) const
inline

◆ periodic() [1/2]

Node * belfem::mesh::Node::periodic ( )
inline

◆ periodic() [2/2]

const Node * belfem::mesh::Node::periodic ( ) const
inline

◆ reset_duplicate_container()

void belfem::mesh::Node::reset_duplicate_container ( )
inline

◆ set_coords() [1/3]

void belfem::mesh::Node::set_coords ( const real aX,
const real aY )

◆ set_coords() [2/3]

void belfem::mesh::Node::set_coords ( const real aX,
const real aY,
const real & aZ )

◆ set_coords() [3/3]

void belfem::mesh::Node::set_coords ( const Vector< real > & aCoords)

change the coordinates of this node

◆ set_original()

void belfem::mesh::Node::set_original ( Node * aNode)
inline

◆ set_periodic()

void belfem::mesh::Node::set_periodic ( Node * aNode)
inline

◆ unlink_from_original()

void belfem::mesh::Node::unlink_from_original ( )
inline

◆ x() [1/2]

real belfem::mesh::Node::x ( ) const
inline

◆ x() [2/2]

real belfem::mesh::Node::x ( const uint aDimension) const
inline

◆ y()

real belfem::mesh::Node::y ( ) const
inline

◆ z()

real belfem::mesh::Node::z ( ) const
inline

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