202 {
203 PetscFunctionBegin;
204 if(data.getIndices().size()==0) PetscFunctionReturn(0);
205 try {
206 EntityHandle this_tet = getNumeredEntFiniteElementPtr()->getEnt();
207 int nb_gauss_pts = data.getN().size1();
208 for(int ffgg = 0;ffgg<nb_gauss_pts;ffgg++) {
210 CommonData::MultiIndexData gauss_pt_data(gg,side,type);
211 pair<CommonData::Container::iterator,bool> p;
213 if(!p.second) {
215 }
216 CommonData::MultiIndexData &p_data = const_cast<CommonData::MultiIndexData&>(*p.first);
217 MatrixDouble &diff_shape_fun = p_data.diffShapeFunctions;
218 diff_shape_fun = data.getDiffN(ffgg);
219 p_data.iNdices = data.getIndices();
220 if(type == MBVERTEX) {
223 }
224 }
225 } catch (const std::exception& ex) {
226 ostringstream ss;
227 ss << "throw in method: " << ex.what() << endl;
228 SETERRQ(PETSC_COMM_SELF,1,ss.str().c_str());
229 }
230 PetscFunctionReturn(0);
231 }
@ MOFEM_DATA_INCONSISTENCY
UBlasMatrix< double > MatrixDouble
std::vector< MatrixDouble > jacStress
this is simply material tangent operator
std::vector< MatrixDouble3by3 > sTress
vector< MatrixDouble > stressJacobian
Container volumesContainer
vector< MatrixDouble > sTress
map< EntityHandle, vector< int > > inTetTetGaussPtsNumber