75 IntArray dofTypeMask (std::get<IntArray>(*val));
79 for (
int i = 1; i <= dofTypeMask.
giveSize(); i++ ) {
80 if ( dofTypeMask.
at(i) != 0 ) {
90 OOFEM_ERROR(
"OOFEM ERROR: masterSizes size does not correspond to doftype size");
93 masterWeights = std::get<IntArray>(*val);
95 masterList = std::get<IntArray>(*val2);
98 for (
int j = 1; j <=
masterSizes.giveSize(); j++ ) {
105 dof_masterList.
at(i) = masterList.
at(2 * index - 1);
106 dof_dofsList.
at(i) = masterList.
at(2 * index);
107 dof_weightsList.
at(i) = masterWeights.
at(index);
122 for (
Dof *dof: *
this ) {
128 sdof->
initialize(masterDofManagers, masterDofIDArray, masterWeights);
138 for (
int j = 0; j <
masterSizes.giveSize(); j++ ) {
#define REGISTER_DofManager(class)
static ParamKey IPK_DofManager_doftypemask
void updateLocalNumbering(EntityRenumberingFunctor &f) override
void postInitialize() override
Performs post initialization steps. Called after all components are created and initialized.
ParameterManager dofmanPPM
Domain * giveDomain() const
Domain * domain
Link to domain object, useful for communicating with other FEM components.
int number
Component number.
void initializeFinish() override
static ParamKey IPK_GeneralSlaveNode_masterWeights
void postInitialize() override
Performs post initialization steps. Called after all components are created and initialized.
std::vector< FloatArray > dofs_weightsList
std::vector< IntArray > dofs_dofsList
static ParamKey IPK_GeneralSlaveNode_masterSizes
static ParamKey IPK_GeneralSlaveNode_masterList
void initializeFrom(InputRecord &ir, int priority) override
std::vector< IntArray > dofs_masterList
Master nodes for all dofs.
virtual void updateLocalNumbering(EntityRenumberingFunctor &f) override
void initializeFrom(InputRecord &ir) override
void initializeFinish() override
Performs post initialization steps.
std::optional< paramValue > getTempParam(size_t componentIndex, size_t paramIndex) const
void initialize(const IntArray &masterNodes, const IntArray &mstrDofID, const FloatArray &mstrContribution)
#define PM_DOFMAN_ERROR_IFNOTSET(_pm, _componentnum, _paramkey)
#define PM_UPDATE_TEMP_PARAMETER(_type, _pm, _ir, _componentnum, _paramkey, _prio)
#define PM_ELEMENT_ERROR_IFNOTSET(_pm, _componentnum, _paramkey)
#define PM_UPDATE_PARAMETER(_val, _pm, _ir, _componentnum, _paramkey, _prio)