12#ifndef BELFEM_CL_FEM_SIDESET_HPP
13#define BELFEM_CL_FEM_SIDESET_HPP
248 delete_lookup_tables();
310 return mMasterIntegration( aSideSetIndex );
318 return mSlaveIntegration( aSideSetIndex );
A bounds-checked wrapper around std::vector.
Definition cl_Cell.hpp:45
size_t size() const
Definition cl_Cell.hpp:189
Definition cl_FEM_Block.hpp:35
Definition cl_FEM_Dof.hpp:28
abstract interface of the dof manager as seen by the group classes and the IWG; DofManager is its onl...
Definition cl_FEM_DofManagerBase.hpp:44
Main workhorse: DOF management, assembly coordination and the solver interface.
Definition cl_FEM_DofManager.hpp:52
Group(DofManagerBase *aParent, const GroupType aGroupType, const ElementType aElementType, const id_t aID, const index_t aNumberOfElements, const bool aOwnElements=true)
Definition cl_FEM_Group.cpp:29
Precomputed bundle of integration points, weights and shape-function values.
Definition cl_IF_IntegrationData.hpp:35
BoundaryConditionImposing bc_type(const index_t &aDimension) const
Definition cl_FEM_SideSet.hpp:258
void free()
Definition cl_FEM_SideSet.cpp:416
IntegrationData * master_integration(const uint aSideSetIndex) override
integration data on master element
Definition cl_FEM_SideSet.hpp:308
void impose_neumann(const real aValue, const uint aDofType=0)
Definition cl_FEM_SideSet.cpp:375
void initialize_lookup_tables(const uint aIntegrationOrder) override
builds the master, slave and enrichment tables for aIntegrationOrder ( 0 selects the automatic order ...
Definition cl_FEM_SideSet.cpp:495
ElementType master_type() const override
returns type of sideset master
Definition cl_FEM_SideSet.hpp:292
void impose_dirichlet(const real aValue, const uint aDofType=0)
Definition cl_FEM_SideSet.cpp:324
void impose_alpha(const real aAlpha=BELFEM_QUIET_NAN, const real aTinf=BELFEM_QUIET_NAN)
imposing an alpha value requires setting the value in the field by default, a value can be set,...
Definition cl_FEM_SideSet.cpp:389
SideSet(DofManager *aParent, const id_t aID, Cell< mesh::Facet * > &aFacets, const GroupType aGroupType=GroupType::SIDESET)
Definition cl_FEM_SideSet.cpp:104
virtual void initialize_elements(Cell< mesh::Facet * > &aFacets)
Definition cl_FEM_SideSet.cpp:195
Cell< mesh::Node * > mNodes
Definition cl_FEM_SideSet.hpp:74
Cell< BoundaryConditionImposing > mBcTypes
Definition cl_FEM_SideSet.hpp:79
Vector< real > mBcValues
Definition cl_FEM_SideSet.hpp:77
ElementType slave_type() const override
returns type of sideset slave
Definition cl_FEM_SideSet.hpp:300
IntegrationData * slave_integration(const uint aSideSetIndex) override
integration data on slave element
Definition cl_FEM_SideSet.hpp:316
const ElementType mMasterType
Definition cl_FEM_SideSet.hpp:70
Cell< mesh::Node * > & nodes()
expose the node container
Definition cl_FEM_SideSet.hpp:276
const real & bc_value(const index_t &aDimension) const
Definition cl_FEM_SideSet.hpp:267
uint number_of_boundary_conditions() const
Definition cl_FEM_SideSet.hpp:284
const ElementType mSlaveType
Definition cl_FEM_SideSet.hpp:71
void set_boundary_conditions()
Definition cl_FEM_SideSet.cpp:441
Definition cl_IFB_LINE3.hpp:21
BoundaryConditionImposing
Definition en_FEM_BoundaryConditionImposing.hpp:20
bool pin_dirichlet_dof(const DofManagerBase *aParent, Dof *aDof, const real aValue, const id_t aGroupID, const id_t aNodeID, index_t &aNumFirstFlips)
shared Dirichlet pin for a single node dof, used by SideSet::impose_dirichlet and the Maxwell factory...
Definition cl_FEM_SideSet.cpp:36
USER GUIDES:
Definition cl_Capacitor.cpp:16
unsigned int uint
Definition typedefs.hpp:30
unsigned int id_t
Definition typedefs.hpp:41
ElementType
Element types.
Definition Mesh_Enums.hpp:27
@ EMPTY
Definition Mesh_Enums.hpp:28
GroupType
Definition Mesh_Enums.hpp:130
@ SIDESET
Definition Mesh_Enums.hpp:132
uint32_t index_t
Definition typedefs.hpp:52
double real
Definition typedefs.hpp:36
#define BELFEM_QUIET_NAN
Definition typedefs.hpp:86