603 {
604 PetscFunctionBegin;
605 if(data.getIndices().size()==0) PetscFunctionReturn(0);
606 if(
dAta.
tRis.find(getNumeredEntFiniteElementPtr()->getEnt())==
dAta.
tRis.end()) PetscFunctionReturn(0);
607
608
609
610 const FENumeredDofEntity *dof_ptr;
611 ierr = getNumeredEntFiniteElementPtr()->getRowDofsByPetscGlobalDofIdx(data.getIndices()[0],&dof_ptr); CHKERRQ(
ierr);
612 rank = dof_ptr->getNbOfCoeffs();
614
616
618
619
620
622
623 const int Indices6[6] = {0, 1, 2, 3, 4, 5};
624 const int Indices3[3] = {0, 1, 2};
626 case 3:
628 break;
629 case 1:
631 break;
632 default:
633 SETERRQ(PETSC_COMM_SELF,1,"not implemented");
634 }
635
636 PetscFunctionReturn(0);
637 }
static PetscErrorCode ierr
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.
PetscErrorCode calculateDmat(int side, EntityType type, DataForcesAndSurcesCore::EntData &data)
VectorDouble Stress_Homo_elem