1249 {
1250 PetscFunctionBegin;
1251
1252 if(data.getIndices().size()==0) PetscFunctionReturn(0);
1253 if(type == MBEDGE && side >= 3) PetscFunctionReturn(0);
1254 if(type == MBTRI && side == 4) PetscFunctionReturn(0);
1255
1256
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1270 if(type == MBVERTEX) {
1271 int nb=data.getFieldData().size()/2;
1273
1274 for(int ii=0; ii<nb; ii++){
1276 }
1279 }
1280 else{
1283 }
1284
1285
1286
1287
1288
1289
1290
1291 int Indices6[6]={0, 1, 2, 3, 4, 5};
1292 int Indices3[3]={0, 1, 2};
1293
1294 int rank = data.getFieldDofs()[0]->getNbOfCoeffs();
1295 switch(rank) {
1296 case 3:
1299 break;
1300 case 1:
1303 break;
1304 default:
1305 SETERRQ(PETSC_COMM_SELF,1,"not implemented");
1306 }
1307
1308 PetscFunctionReturn(0);
1309 }
static PetscErrorCode ierr
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)
ublas::vector< VectorDouble > Stress_Homo_elem