857 {
858 PetscFunctionBegin;
859
860 if(data.getIndices().size()==0) PetscFunctionReturn(0);
861 if(type == MBQUAD) PetscFunctionReturn(0);
862 if(type == MBEDGE && side >= 3) PetscFunctionReturn(0);
863 if(type == MBTRI && side == 4) PetscFunctionReturn(0);
864
865 int rank = data.getFieldDofs()[0]->getNbOfCoeffs();
866
867 if(type == MBVERTEX) {
868 int nb=data.getIndices().size()/2;
870 for(int ii=0; ii<nb; ii++){
871 row_ind[ii]=data.getIndices()[ii];
872 }
873 }
874
875 for(unsigned int gg = 0;gg<data.getN().size1();gg++) {
876 double area;
878 area = cblas_dnrm2(3,&normal_f3[0],1)*0.5;
879 double val = getGaussPts()(2,gg)*area;
880
881 if(type == MBVERTEX) {
883 else {
885
886 if(gg==0){
889 else{
892 }
893
894 if(type == MBVERTEX) {
897 else{
900
901 PetscFunctionReturn(0);
902 }
static PetscErrorCode ierr
UBlasVector< double > VectorDouble
MoFEMErrorCode VecSetValues(Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
Assemble PETSc vector.
ublas::vector< ublas::vector< VectorDouble > > DispAtGaussPts
PetscErrorCode shapeMat(int rank, unsigned int gg, DataForcesAndSurcesCore::EntData &col_data, MatrixDouble &N_mat, int div=1)
ublas::vector< int > row_ind