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

#include <cl_FEM_Block.hpp>

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

Public Member Functions

 Block (DofManagerBase *aParent, const ElementType aType=ElementType::EMPTY)
 Block (DofManagerBase *aParent, mesh::Block *aBlock, const Vector< index_t > &aOwnedElementIndices, const Vector< index_t > &aAuraElementIndices)
 ~Block () override
mesh::Blockblock ()
 expose block object on mesh
void set_integration_order (const uint aOrder)
void initialize_lookup_tables (const uint aIntegrationOrder) override
Public Member Functions inherited from belfem::fem::Group
 Group (DofManagerBase *aParent, const GroupType aGroupType, const ElementType aElementType, const id_t aID, const index_t aNumberOfElements, const bool aOwnElements=true)
virtual ~Group ()=default
GroupType type () const
 return the type of this group
id_t id () const
 return the id of the group
virtual ElementType element_type () const
 return the element type of this block
DofManagerBaseparent ()
 return the field of this block
index_t number_of_elements () const
uint number_of_nodes_per_element () const
uint number_of_edges_per_element () const
uint number_of_faces_per_element () const
const IntegrationDataintegration () const
 expose the integration data
const IntegrationDataenrichment_data (const uint aFacet) const
virtual const IntegrationDatathinshell_integration () const
Cell< Element * > & elements ()
Cell< Element * > & aura_elements ()
bool element_exists (const id_t aID)
Calculatorcalculator ()
 expose calculator object
Matrix< real > & node_coords ()
 expose container for node coords
Vector< real > & field_data (const string &aLabel)
 access scal ars from the parent
void set_material (Material *aMaterial)
void set_material (const string &aLabel)
Materialmaterial ()
const Materialmaterial () const
void create_element_map ()
Elementelement (const id_t aID)
bool has_rhs () const
void set_rhs_flag (const bool aFlag)
const id_tmesh_id () const
 if the sideset or block is empty, ID is zero.
void set_mesh_id (const id_t &aID)
virtual IntegrationDatamaster_integration (const uint aSideSetIndex)
 for special purpose integration, sideset only
virtual IntegrationDataslave_integration (const uint aSideSetIndex)
void delete_pointers ()
const InterpolationFunctioninterpolation_function () const
void set_domain_type (const DomainType aType)
DomainType domain_type () const
virtual ElementType master_type () const
 returns type of sideset master
virtual ElementType slave_type () const
 returns type of sideset slave
virtual uint number_of_thin_shell_layers () const
 dummy function, throws error unless sideset or shell
virtual uint number_of_ghost_sidesets () const
 dummy function, throws error unless sideset or shell
virtual real thin_shell_thickness (const uint aLayerIndex) const
 dummy function, throws error unless sideset or shell
virtual real thin_shell_thickness () const
 dummy function, throws error unless sideset or shell
bool is_active () const
 function telling if values from this group are computed ( default : true ) Returns true for GeometryAndDofs, false otherwise
GroupActivationMode activation_mode () const
 returns the activation mode of this group
void set_activation_mode (const GroupActivationMode aMode)
 set the activation mode of the group
void activate (bool aFlag)
 set the active flag of the group (backward compatibility) Maps bool to GeometryAndDofs (true) or Inactive (false)
bool has_enrichment ()

Additional Inherited Members

Protected Member Functions inherited from belfem::fem::Group
void create_calculator ()
Protected Attributes inherited from belfem::fem::Group
DofManagerBasemParent
CalculatormCalc = nullptr
const GroupType mType
const ElementType mElementType
const id_t mID
const index_t mNumberOfElements
const bool mOwnElements
const proc_t mCommRank
DomainType mDomainType = DomainType::Default
Matrix< realmNodeCoords
uint mNumberOfNodesPerElement = BELFEM_UINT_MAX
uint mIntegrationOrder = 0
Cell< Cell< Matrix< real > > > mBoundaryN
Cell< Element * > mElements
Cell< Element * > mAuraElements
MaterialmMaterial = nullptr
const BoundaryCondition * mBoundaryCondition = nullptr
Map< id_t, Element * > mElementMap
id_t mMeshID
bool mHasRHS = true
 flag telling if block has a right hand side
GroupActivationMode mActivationMode = GroupActivationMode::GeometryAndDofs
 activation mode determining how this group is used for computation
Cell< IntegrationData * > mEnrichmentData
 in case for example if bubble functions are used

Constructor & Destructor Documentation

◆ Block() [1/2]

belfem::fem::Block::Block ( DofManagerBase * aParent,
const ElementType aType = ElementType::EMPTY )

◆ Block() [2/2]

belfem::fem::Block::Block ( DofManagerBase * aParent,
mesh::Block * aBlock,
const Vector< index_t > & aOwnedElementIndices,
const Vector< index_t > & aAuraElementIndices )

◆ ~Block()

belfem::fem::Block::~Block ( )
override

Member Function Documentation

◆ block()

mesh::Block * belfem::fem::Block::block ( )
inline

expose block object on mesh

◆ initialize_lookup_tables()

void belfem::fem::Block::initialize_lookup_tables ( const uint aIntegrationOrder)
overridevirtual

Reimplemented from belfem::fem::Group.

◆ set_integration_order()

void belfem::fem::Block::set_integration_order ( const uint aOrder)

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