Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp (revision 17560) +++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateFaces.cpp (revision 17561) @@ -243,10 +243,10 @@ int numbervertices; if(iomodel->meshtype==Mesh3DEnum){ - if((iomodel->faces[6*facenumber+5]-1)==1){ + if((iomodel->faces[6*facenumber+5])==1){ numbervertices=3; } - else if((iomodel->faces[6*facenumber+5]-1)==2){ + else if((iomodel->faces[6*facenumber+5])==2){ numbervertices=4; } else _error_("face marker not supported yet "); @@ -258,11 +258,11 @@ for(int i=0;i<3;i++) facevertices[i]=iomodel->faces[6*facenumber+i]-1; } else if(numbervertices==4){ - int i,j,cols,faceid; + int i,j,k,cols,faceid; int maxnbf,nbf,elementnbf,elementnbv,facemaxnbv; int *elementfaces = NULL; int *elementfaces_markers = NULL; - int elementid=iomodel->faces[6*facenumber+4]-1; + int elementid=iomodel->faces[6*facenumber+3]; int counter=0; /*Recreate element properties*/ @@ -288,13 +288,17 @@ for(faceid=2;faceid<5;faceid++){ counter=0; for(j=0;j<3;j++){ - if(iomodel->elements[elementid*6+elementfaces[cols*faceid+j]] == iomodel->faces[6*facenumber+j]) counter++; + for(k=1;k<5;k++){ + if(iomodel->elements[(elementid-1)*6+elementfaces[cols*faceid+k]] == iomodel->faces[6*facenumber+j]) counter++; + } } if(counter==3) break; } if(counter!=3) _error_("face not found in element"); - for(j=0;j<3;j++) facevertices[i]=iomodel->elements[elementid*6+elementfaces[cols*faceid+j]]; + for(j=0;j<4;j++){ + facevertices[j]=iomodel->elements[(elementid-1)*6+elementfaces[cols*faceid+j+1]]; + } /*Delete*/ xDelete(elementfaces); Index: ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp =================================================================== --- ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp (revision 17560) +++ ../trunk-jpl/src/c/modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp (revision 17561) @@ -124,17 +124,18 @@ FaceGetVertexIndices(iomodel,&numfacevertices,&faceverticesid,i); isnan=0; for(j=0;j(spcdata[faceverticesid[j]])) isnan=1; + if(xIsNan(spcdata[faceverticesid[j]-1])) isnan=1; } if(isnan==0){ value=0; for(j=0;jAddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1, dof,value,analysis_type)); count++; } + xDelete(faceverticesid); } } } @@ -183,12 +184,12 @@ FaceGetVertexIndices(iomodel,&numfacevertices,&faceverticesid,i); isnan=0; for(j=0;j(spcdata[faceverticesid[j]])) isnan=1; + if(xIsNan(spcdata[faceverticesid[j]-1])) isnan=1; } if(isnan==0){ value=0; for(j=0;jAddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+iomodel->numberofvertices+3*iomodel->numberofedges+3*i+1, dof,value,analysis_type)); @@ -198,6 +199,7 @@ dof,value,analysis_type)); count=count+3; } + xDelete(faceverticesid); } } } @@ -465,7 +467,6 @@ } /*Free ressources:*/ - xDelete(faceverticesid); xDelete(times); xDelete(values); xDelete(my_edges);