276 {
277 PetscFunctionBegin;
278
279 if(type!=MBVERTEX) PetscFunctionReturn(0);
280 if(data.getIndices().size()==0) PetscFunctionReturn(0);
281
282
283 const FENumeredDofEntity *dof_ptr;
284 ierr = getNumeredEntFiniteElementPtr()->getColDofsByPetscGlobalDofIdx(data.getIndices()[0],&dof_ptr); CHKERRQ(
ierr);
285 int rank = dof_ptr->getNbOfCoeffs();
286
287 double x,y,z;
288 for(unsigned int gg = 0;gg<data.getN().size1();gg++) {
289 double area;
291 area = norm_2(getNormalsAtGaussPt(gg))*0.5;
292 } else {
293 area = getArea();
294 }
295 double val = getGaussPts()(2,gg)*area;
296
297 x = getHoCoordsAtGaussPts()(gg,0);
298 y = getHoCoordsAtGaussPts()(gg,1);
299 z = getHoCoordsAtGaussPts()(gg,2);
300
301 switch(rank) {
302 case 3:
303 X_mat.resize(rank,6,
false);
309 break;
310 case 1:
311 X_mat.resize(rank,3,
false);
316 break;
317 default:
319 }
322
323 if(gg==0) {
326 } else {
329 }
330 }
331
332 PetscFunctionReturn(0);
333 }
static PetscErrorCode ierr
PetscErrorCode shapeMat(int rank, unsigned int gg, DataForcesAndSurcesCore::EntData &col_data, MatrixDouble &n)
PetscErrorCode hMat(VectorDouble face_normal, int rank, MatrixDouble &n_mat, MatrixDouble &h_mat)