//************************************************************************************ //************************************************************************************ void Electrostatic2D::GetDofList(DofsVectorType& ElementalDofList,ProcessInfo& CurrentProcessInfo) { unsigned int number_of_nodes = GetGeometry().PointsNumber(); if(ElementalDofList.size() != number_of_nodes) ElementalDofList.resize(number_of_nodes); for (unsigned int i=0; i<number_of_nodes; i++) ElementalDofList[i] = GetGeometry()[i].pGetDof(ELECTROSTATIC_POTENTIAL); }
void PeriodicConditionLM2D2N::GetDofList(DofsVectorType& ConditionalDofList,ProcessInfo& CurrentProcessInfo) { if(ConditionalDofList.size() != 6) ConditionalDofList.resize(6); GeometryType& geom = GetGeometry(); ConditionalDofList[0] = geom[0].pGetDof( DISPLACEMENT_X ); ConditionalDofList[1] = geom[0].pGetDof( DISPLACEMENT_Y ); ConditionalDofList[2] = geom[1].pGetDof( DISPLACEMENT_X ); ConditionalDofList[3] = geom[1].pGetDof( DISPLACEMENT_Y ); ConditionalDofList[4] = geom[0].pGetDof( DISPLACEMENT_LAGRANGE_X ); ConditionalDofList[5] = geom[0].pGetDof( DISPLACEMENT_LAGRANGE_Y ); }
//************************************************************************************ //************************************************************************************ void UpdatedLagrangianFluid3Dinc::GetDofList(DofsVectorType& ElementalDofList,ProcessInfo& CurrentProcessInfo) { unsigned int number_of_nodes = GetGeometry().PointsNumber(); unsigned int dim = 3; if(ElementalDofList.size() != number_of_nodes*dim) ElementalDofList.resize(number_of_nodes*dim); for (unsigned int i=0; i<number_of_nodes; i++) { ElementalDofList[i*dim] = GetGeometry()[i].pGetDof(DISPLACEMENT_X); ElementalDofList[i*dim+1] = GetGeometry()[i].pGetDof(DISPLACEMENT_Y); ElementalDofList[i*dim+2] = GetGeometry()[i].pGetDof(DISPLACEMENT_Z); } }
void TwoStepPeriodicCondition<TDim>::GetPressureDofList(DofsVectorType& rElementalDofList, ProcessInfo& rCurrentProcessInfo) { GeometryType& rGeom = this->GetGeometry(); const SizeType NumNodes = rGeom.PointsNumber(); if (rElementalDofList.size() != NumNodes) rElementalDofList.resize(NumNodes); SizeType LocalIndex = 0; for (SizeType i = 0; i < NumNodes; ++i) { rElementalDofList[LocalIndex++] = rGeom[i].pGetDof(PRESSURE); } }
//************************************************************************************ //************************************************************************************ void Monolithic2DNeumann::GetDofList(DofsVectorType& ElementalDofList,ProcessInfo& CurrentProcessInfo) { KRATOS_TRY unsigned int number_of_nodes = GetGeometry().PointsNumber(); unsigned int dim = 2; unsigned int node_size = dim; if(ElementalDofList.size() != number_of_nodes*node_size) ElementalDofList.resize(number_of_nodes*node_size); for (unsigned int i=0; i<number_of_nodes; i++) { ElementalDofList[i*node_size] = GetGeometry()[i].pGetDof(VELOCITY_X); ElementalDofList[i*node_size+1] = GetGeometry()[i].pGetDof(VELOCITY_Y); } KRATOS_CATCH(""); }
void TwoStepPeriodicCondition<2>::GetVelocityDofList(DofsVectorType& rElementalDofList, ProcessInfo& rCurrentProcessInfo) { GeometryType& rGeom = this->GetGeometry(); const SizeType NumNodes = rGeom.PointsNumber(); const SizeType LocalSize = 2*NumNodes; if (rElementalDofList.size() != LocalSize) rElementalDofList.resize(LocalSize); SizeType LocalIndex = 0; for (SizeType i = 0; i < NumNodes; ++i) { rElementalDofList[LocalIndex++] = rGeom[i].pGetDof(VELOCITY_X); rElementalDofList[LocalIndex++] = rGeom[i].pGetDof(VELOCITY_Y); } }
//************************************************************************************ //************************************************************************************ void NDFluid2DCrankNicolson::GetDofList(DofsVectorType& ElementalDofList,ProcessInfo& CurrentProcessInfo) { unsigned int number_of_nodes = GetGeometry().PointsNumber(); if(ElementalDofList.size() != number_of_nodes) ElementalDofList.resize(number_of_nodes); unsigned int FractionalStepNumber = CurrentProcessInfo[FRACTIONAL_STEP]; if(FractionalStepNumber == 1) //step 1 for (unsigned int i=0; i<number_of_nodes; i++) ElementalDofList[i] = GetGeometry()[i].pGetDof(FRACT_VEL_X); else if(FractionalStepNumber == 2) //step 2 for (unsigned int i=0; i<number_of_nodes; i++) ElementalDofList[i] = GetGeometry()[i].pGetDof(FRACT_VEL_Y); else if(FractionalStepNumber == 4) // pressure correction step for (unsigned int i=0; i<number_of_nodes; i++) ElementalDofList[i] = GetGeometry()[i].pGetDof(PRESSURE); }