627 {
628 PetscFunctionBegin;
629 if(data.getIndices().size()==0) PetscFunctionReturn(0);
630 if(
dAta.
tRis.find(getNumeredEntFiniteElementPtr()->getEnt())==
dAta.
tRis.end()) PetscFunctionReturn(0);
631
632
633
634 auto weak_ptr_dof =
635 getNumeredEntFiniteElementPtr()->getRowDofsByPetscGlobalDofIdx(
636 data.getIndices()[0]);
637 const FENumeredDofEntity *dof_ptr;
638 if (auto ptr = weak_ptr_dof.lock())
639 dof_ptr = ptr.get();
640 else
642
643 rank = dof_ptr->getNbOfCoeffs();
645
647
649
650
651
653
654 const int Indices6[6] = {0, 1, 2, 3, 4, 5};
655 const int Indices3[3] = {0, 1, 2};
657 case 3:
659 break;
660 case 1:
662 break;
663 default:
664 SETERRQ(PETSC_COMM_SELF,1,"not implemented");
665 }
666
667 PetscFunctionReturn(0);
668 }
static PetscErrorCode ierr
@ MOFEM_DATA_INCONSISTENCY
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.
PetscErrorCode calculateDmat(int side, EntityType type, DataForcesAndSourcesCore::EntData &data)
VectorDouble Stress_Homo_elem