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

abstract interface of the dof manager as seen by the group classes and the IWG; DofManager is its only implementation More...

#include <cl_FEM_DofManagerBase.hpp>

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

Public Member Functions

 DofManagerBase (const DofManagerType aType, Kernel *aParent)
virtual ~DofManagerBase ()=default
DofManagerType type () const
proc_t rank () const
 return the rank of this proc ( faster than comm_rank() )
Meshmesh ()
Kernelparent ()
IWGiwg ()
Vector< real > & field_data (const string &aLabel)
virtual Dofdof (const id_t aID)
 return a specific dof
virtual id_t calculate_dof_id (const mesh::Node *aNode, const uint aDofType) const
virtual id_t calculate_dof_id (const mesh::Edge *aEdge, const uint aDofType) const
virtual id_t calculate_dof_id (const mesh::Facet *aFacet, const uint aDofType) const
virtual Blockblock (const id_t aID)
virtual SideSetsideset (const id_t aID)
virtual uint number_of_dofs_per_node () const
virtual uint number_of_dofs_per_edge () const
virtual uint sideset_integration_order () const
virtual uint block_integration_order () const
virtual IntegrationScheme integration_scheme () const
virtual bool block_exists (const id_t &aID) const
virtual bool sideset_exists (const id_t &aID) const
virtual void collect_fields (const Cell< string > &aFieldLabels)
virtual void distribute_fields (const Cell< string > &aFieldLabels)
virtual void synchronize_fields (const Cell< string > &aFieldLabels)
 collect and distribute afterwards
bool is_master () const
virtual bool dof_exists (const id_t aID) const
virtual void print_worst_dof ()
virtual void write_residuals_to_mesh ()
virtual void initialize ()
virtual bool is_initialized () const
 true once initialize() has frozen the free/fixed dof split and the matrix graphs; a first fix() of a free dof after that point changes a classification the solver containers are sized for ( see SideSet::impose_dirichlet )

Protected Attributes

KernelmParent
MeshmMesh
IWGmIWG = nullptr
const proc_t mCommRank

Detailed Description

abstract interface of the dof manager as seen by the group classes and the IWG; DofManager is its only implementation

Constructor & Destructor Documentation

◆ DofManagerBase()

belfem::fem::DofManagerBase::DofManagerBase ( const DofManagerType aType,
Kernel * aParent )

◆ ~DofManagerBase()

virtual belfem::fem::DofManagerBase::~DofManagerBase ( )
virtualdefault

Member Function Documentation

◆ block()

Block * belfem::fem::DofManagerBase::block ( const id_t aID)
virtual

Reimplemented in belfem::fem::DofManager.

◆ block_exists()

bool belfem::fem::DofManagerBase::block_exists ( const id_t & aID) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ block_integration_order()

uint belfem::fem::DofManagerBase::block_integration_order ( ) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ calculate_dof_id() [1/3]

id_t belfem::fem::DofManagerBase::calculate_dof_id ( const mesh::Edge * aEdge,
const uint aDofType ) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ calculate_dof_id() [2/3]

id_t belfem::fem::DofManagerBase::calculate_dof_id ( const mesh::Facet * aFacet,
const uint aDofType ) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ calculate_dof_id() [3/3]

id_t belfem::fem::DofManagerBase::calculate_dof_id ( const mesh::Node * aNode,
const uint aDofType ) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ collect_fields()

void belfem::fem::DofManagerBase::collect_fields ( const Cell< string > & aFieldLabels)
virtual

Reimplemented in belfem::fem::DofManager.

◆ distribute_fields()

void belfem::fem::DofManagerBase::distribute_fields ( const Cell< string > & aFieldLabels)
virtual

Reimplemented in belfem::fem::DofManager.

◆ dof()

Dof * belfem::fem::DofManagerBase::dof ( const id_t aID)
virtual

return a specific dof

Reimplemented in belfem::fem::DofManager.

◆ dof_exists()

bool belfem::fem::DofManagerBase::dof_exists ( const id_t aID) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ field_data()

Vector< real > & belfem::fem::DofManagerBase::field_data ( const string & aLabel)
inline

◆ initialize()

void belfem::fem::DofManagerBase::initialize ( )
virtual

Reimplemented in belfem::fem::DofManager.

◆ integration_scheme()

IntegrationScheme belfem::fem::DofManagerBase::integration_scheme ( ) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ is_initialized()

virtual bool belfem::fem::DofManagerBase::is_initialized ( ) const
inlinevirtual

true once initialize() has frozen the free/fixed dof split and the matrix graphs; a first fix() of a free dof after that point changes a classification the solver containers are sized for ( see SideSet::impose_dirichlet )

Reimplemented in belfem::fem::DofManager.

◆ is_master()

bool belfem::fem::DofManagerBase::is_master ( ) const

◆ iwg()

IWG * belfem::fem::DofManagerBase::iwg ( )
inline

◆ mesh()

Mesh * belfem::fem::DofManagerBase::mesh ( )
inline

◆ number_of_dofs_per_edge()

uint belfem::fem::DofManagerBase::number_of_dofs_per_edge ( ) const
virtual

◆ number_of_dofs_per_node()

uint belfem::fem::DofManagerBase::number_of_dofs_per_node ( ) const
virtual

◆ parent()

Kernel * belfem::fem::DofManagerBase::parent ( )
inline

◆ print_worst_dof()

void belfem::fem::DofManagerBase::print_worst_dof ( )
virtual

◆ rank()

proc_t belfem::fem::DofManagerBase::rank ( ) const
inline

return the rank of this proc ( faster than comm_rank() )

◆ sideset()

SideSet * belfem::fem::DofManagerBase::sideset ( const id_t aID)
virtual

Reimplemented in belfem::fem::DofManager.

◆ sideset_exists()

bool belfem::fem::DofManagerBase::sideset_exists ( const id_t & aID) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ sideset_integration_order()

uint belfem::fem::DofManagerBase::sideset_integration_order ( ) const
virtual

Reimplemented in belfem::fem::DofManager.

◆ synchronize_fields()

void belfem::fem::DofManagerBase::synchronize_fields ( const Cell< string > & aFieldLabels)
virtual

collect and distribute afterwards

Parameters
aFieldLabels

Reimplemented in belfem::fem::DofManager.

◆ type()

DofManagerType belfem::fem::DofManagerBase::type ( ) const
inline

◆ write_residuals_to_mesh()

void belfem::fem::DofManagerBase::write_residuals_to_mesh ( )
virtual

Member Data Documentation

◆ mCommRank

const proc_t belfem::fem::DofManagerBase::mCommRank
protected

◆ mIWG

IWG* belfem::fem::DofManagerBase::mIWG = nullptr
protected

◆ mMesh

Mesh* belfem::fem::DofManagerBase::mMesh
protected

◆ mParent

Kernel* belfem::fem::DofManagerBase::mParent
protected

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