694 {
695 PetscFunctionBegin;
696 if(data.getIndices().size()==0) PetscFunctionReturn(0);
697 if(type == MBEDGE && side >= 3) PetscFunctionReturn(0);
698 if(type == MBTRI && side == 4) PetscFunctionReturn(0);
699
700
702
703 ublas::vector<int> rowvec;
704 if(type == MBVERTEX) {
705 int nb=data.getIndices().size()/2;
706 rowvec.resize(nb);
707 for(int ii=0; ii<nb; ii++){
708 rowvec[ii]=data.getIndices()[ii];
709 }
710 } else{
711 rowvec=data.getIndices();
712 }
713
714
716 scaled_given_strain.resize(6);
718
720
721
722
723
724
725
726
730
734
735 PetscFunctionReturn(0);
736 }
static PetscErrorCode ierr
UBlasVector< double > VectorDouble
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.
ublas::vector< MatrixDouble > D_mat
CommonDataPeriodic & commonDataPeriodic
PetscErrorCode calculateDmat(int side, EntityType type, DataForcesAndSurcesCore::EntData &data)
static MoFEMErrorCode applyScale(const FEMethod *fe, boost::ptr_vector< MethodForForceScaling > &methods_op, VectorDouble &nf)