520 {
521 PetscFunctionBegin;
522
523
524
525
526 int rank = data.getFieldDofs()[0]->getNbOfCoeffs();
527
528 double x,y,z,x1,y1,z1;
529 for(unsigned int gg = 0;gg<data.getN().size1();gg++) {
530 double area;
532 area = cblas_dnrm2(3,&normal_f3[0],1)*0.5;
533 double val = getGaussPts()(2,gg)*area;
534
535
536 x = getHOCoordsAtGaussPtsF3()(gg,0);
537 y = getHOCoordsAtGaussPtsF3()(gg,1);
538 z = getHOCoordsAtGaussPtsF3()(gg,2);
539
540 x1 = getHOCoordsAtGaussPtsF4()(gg,0);
541 y1 = getHOCoordsAtGaussPtsF4()(gg,1);
542 z1 = getHOCoordsAtGaussPtsF4()(gg,2);
543
544
545
546
549
550 switch(rank) {
551 case 3:
552 X_mat[0].resize(rank,6,
false);
X_mat[0].clear();
557
558 X_mat[1].resize(rank,6,
false);
X_mat[1].clear();
563 break;
564 case 1:
565 X_mat[0].resize(rank,3,
false);
X_mat[0].clear();
567
568 X_mat[1].resize(rank,3,
false);
X_mat[1].clear();
570 break;
571 default:
572 SETERRQ(PETSC_COMM_SELF,1,"not implemented");
573 }
574
575
576 if(type == MBVERTEX) {
578 } else {
580 }
581
582 if(gg==0) {
585 } else {
588 }
589 }
590
591
592
593 PetscFunctionReturn(0);
594 }
static PetscErrorCode ierr
UBlasVector< double > VectorDouble
ublas::vector< MatrixDouble > D_mat
PetscErrorCode shapeMat(int rank, unsigned int gg, DataForcesAndSourcesCore::EntData &col_data, MatrixDouble &N_mat, int div=1)
ublas::vector< MatrixDouble > X_mat