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

#include <cl_FEM_Dof.hpp>

Inheritance diagram for belfem::fem::Dof:
[legend]
Collaboration diagram for belfem::fem::Dof:
[legend]

Public Member Functions

 Dof (const id_t aID, const uint aType, mesh::Node *aNode)
 Dof (const id_t aID, const uint aType, mesh::Edge *aEdge, const uint aIndexOnEdge, const index_t aDofIndexOnField)
 Dof (const id_t aID, const uint aType, mesh::Face *aFace, uint aIndexOnFace, const index_t aDofIndexOnField)
 Dof (const id_t aID, const uint aType, mesh::Element *aElement, const uint aIndexOnElement, const index_t aDofIndexOnField)
 Dof (const id_t aID, const uint aType, mesh::Facet *aFacet, const uint aIndexOnFacet, const index_t aDofIndexOnField)
 ~Dof () override
bool mesh_basis_is_flagged ()
mesh::Basismesh_basis ()
mesh::Nodenode ()
 expose the node that is linked to this dof
mesh::Edgeedge ()
 expose the edge that is linked to this dof
mesh::Faceface ()
 expose the face that is linked to this dof
mesh::Elementelement ()
 expose the element that is linked to this dof
void fix (const real aDirichletValue)
 impose a Diriclet boundary condition on this node
void free ()
 free this dof ( remove Diriclet condition )
bool is_fixed () const
 tells if this dof is fixed
bool is_hanging () const
 tells if this dof is hanging
bool basis_is_hanging () const
 tells if basis of dof is hanging, needed during initialization
bool is_node () const
 returns true if this dof is linked to a node
bool is_edge () const
 returns true if this dof is linked to an edge
bool is_face () const
 returns true if this dof is linked to a face
bool is_cell () const
 returns true if this dof is linked to a cell ( element-interior dof )
bool is_lambda () const
 returns true if this dof is linked to a facet
EntityType entity_type () const
realvalue ()
 return the Dirichlet value
Dofdof (const uint aIndex)
 access a dof
uint type_id () const
 return the type of this dof
uint number_of_dofs () const
 how many dofs are connected to this dof
uint index_on_entity () const
 local index on mesh entity
void set_my_index (const index_t aIndex)
 set proc local index
void set_field_index (const index_t aIndex)
index_t dof_index_on_field () const
 returns the corresponding index of the dof on the field
index_t field_index () const
 returns the index of the field on the mesh
index_t my_index () const
 get proc local index
void set_sources (Cell< Dof * > &aSources, Vector< real > &aWeights)
void set_sources (Cell< Dof * > &aSources, Cell< real > &aWeights)
void set_source (Dof *aSource, const real aWeight)
void reset_sources ()
uint number_of_sources () const
Dofsource (const uint aIndex)
real weight (const uint aIndex) const
size_t memory () const
Public Member Functions inherited from belfem::graph::Vertex
 Vertex ()=default
virtual ~Vertex ()
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 ()
virtual void reset_element_container ()
void sort_vertices ()
 sorts the vertices according to their index
void reverse_vertices ()

Additional Inherited Members

Protected Attributes inherited from belfem::graph::Vertex
uint32_t mVertexCounter = 0
Vertex ** mVertices = nullptr

Constructor & Destructor Documentation

◆ Dof() [1/5]

belfem::fem::Dof::Dof ( const id_t aID,
const uint aType,
mesh::Node * aNode )

◆ Dof() [2/5]

belfem::fem::Dof::Dof ( const id_t aID,
const uint aType,
mesh::Edge * aEdge,
const uint aIndexOnEdge,
const index_t aDofIndexOnField )

◆ Dof() [3/5]

belfem::fem::Dof::Dof ( const id_t aID,
const uint aType,
mesh::Face * aFace,
uint aIndexOnFace,
const index_t aDofIndexOnField )

◆ Dof() [4/5]

belfem::fem::Dof::Dof ( const id_t aID,
const uint aType,
mesh::Element * aElement,
const uint aIndexOnElement,
const index_t aDofIndexOnField )

◆ Dof() [5/5]

belfem::fem::Dof::Dof ( const id_t aID,
const uint aType,
mesh::Facet * aFacet,
const uint aIndexOnFacet,
const index_t aDofIndexOnField )

◆ ~Dof()

belfem::fem::Dof::~Dof ( )
override

Member Function Documentation

◆ basis_is_hanging()

bool belfem::fem::Dof::basis_is_hanging ( ) const
inline

tells if basis of dof is hanging, needed during initialization

◆ dof()

Dof * belfem::fem::Dof::dof ( const uint aIndex)
inline

access a dof

◆ dof_index_on_field()

index_t belfem::fem::Dof::dof_index_on_field ( ) const
inline

returns the corresponding index of the dof on the field

Returns

◆ edge()

mesh::Edge * belfem::fem::Dof::edge ( )
inline

expose the edge that is linked to this dof

◆ element()

mesh::Element * belfem::fem::Dof::element ( )
inline

expose the element that is linked to this dof

◆ entity_type()

EntityType belfem::fem::Dof::entity_type ( ) const
inline

◆ face()

mesh::Face * belfem::fem::Dof::face ( )
inline

expose the face that is linked to this dof

◆ field_index()

index_t belfem::fem::Dof::field_index ( ) const
inline

returns the index of the field on the mesh

◆ fix()

void belfem::fem::Dof::fix ( const real aDirichletValue)
inline

impose a Diriclet boundary condition on this node

◆ free()

void belfem::fem::Dof::free ( )
inline

free this dof ( remove Diriclet condition )

◆ index_on_entity()

uint belfem::fem::Dof::index_on_entity ( ) const
inline

local index on mesh entity

◆ is_cell()

bool belfem::fem::Dof::is_cell ( ) const
inline

returns true if this dof is linked to a cell ( element-interior dof )

◆ is_edge()

bool belfem::fem::Dof::is_edge ( ) const
inline

returns true if this dof is linked to an edge

◆ is_face()

bool belfem::fem::Dof::is_face ( ) const
inline

returns true if this dof is linked to a face

◆ is_fixed()

bool belfem::fem::Dof::is_fixed ( ) const
inline

tells if this dof is fixed

◆ is_hanging()

bool belfem::fem::Dof::is_hanging ( ) const
inline

tells if this dof is hanging

◆ is_lambda()

bool belfem::fem::Dof::is_lambda ( ) const
inline

returns true if this dof is linked to a facet

◆ is_node()

bool belfem::fem::Dof::is_node ( ) const
inline

returns true if this dof is linked to a node

◆ memory()

size_t belfem::fem::Dof::memory ( ) const

◆ mesh_basis()

mesh::Basis * belfem::fem::Dof::mesh_basis ( )
inline

◆ mesh_basis_is_flagged()

bool belfem::fem::Dof::mesh_basis_is_flagged ( )
inline

◆ my_index()

index_t belfem::fem::Dof::my_index ( ) const
inline

get proc local index

◆ node()

mesh::Node * belfem::fem::Dof::node ( )
inline

expose the node that is linked to this dof

◆ number_of_dofs()

uint belfem::fem::Dof::number_of_dofs ( ) const
inline

how many dofs are connected to this dof

◆ number_of_sources()

uint belfem::fem::Dof::number_of_sources ( ) const
inline

◆ reset_sources()

void belfem::fem::Dof::reset_sources ( )

◆ set_field_index()

void belfem::fem::Dof::set_field_index ( const index_t aIndex)
inline

◆ set_my_index()

void belfem::fem::Dof::set_my_index ( const index_t aIndex)
inline

set proc local index

◆ set_source()

void belfem::fem::Dof::set_source ( Dof * aSource,
const real aWeight )

◆ set_sources() [1/2]

void belfem::fem::Dof::set_sources ( Cell< Dof * > & aSources,
Cell< real > & aWeights )

◆ set_sources() [2/2]

void belfem::fem::Dof::set_sources ( Cell< Dof * > & aSources,
Vector< real > & aWeights )

◆ source()

Dof * belfem::fem::Dof::source ( const uint aIndex)
inline

◆ type_id()

uint belfem::fem::Dof::type_id ( ) const
inline

return the type of this dof

◆ value()

real & belfem::fem::Dof::value ( )
inline

return the Dirichlet value

◆ weight()

real belfem::fem::Dof::weight ( const uint aIndex) const
inline

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