Take the 2-minute tour ×
Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It's 100% free, no registration required.

Is there a way to partition a mesh consisting of 20 noded hexahedral elements for parallel processing? I used METIS for partitioning mesh with 8 noded hexahedron elmements, which works fine but i don't know how to extend this to 20 noded element mesh.

My Fortran code is as follows, which works fine for 4 node quad and 8 node hex meshes but when i used 20 noded element it gives error

Segmentation fault

Code

subroutine split_domain(cells,nodes,topol,nprocs, epart)

implicit none

!======================================================== integer,intent(in)::cells,nodes,topol(cells,20),nprocs

integer,intent(out)::epart(cells)

integer::ne, nn

integer::eptr(cells+1),eind(20*cells),npart(nodes)

integer::ncommon,nparts,objval

integer, pointer ::vwgt,vsize,tpwgts,options

integer::j

!========================================================

ne=cells; nn=nodes; eptr(1)=1

do j=1,ne

eind(20*j-19:20*j)=topol(j,:)

eptr(j+1)=eptr(j)+20

enddo

ncommon=1; nparts=nprocs

call METIS_PartMeshDual (ne,nn,eptr,eind,vwgt,vsize,ncommon,nparts,tpwgts,options,objval,epart,npart)

end subroutine split_domain

share|improve this question
    
Zahur, welcome to SciComp! I realize it's been a while since you asked this question. I'm going to close this question, because it looks like you're looking for debugging help, which isn't on-scope for this site. If you're interested in fixing it, I'd be happy to reopen the question. I apologize for not catching this issue earlier. –  Geoff Oxberry Dec 14 '12 at 4:00
add comment

closed as not constructive by Geoff Oxberry Dec 14 '12 at 4:00

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer

METIS supports partitioning of meshes which elements consist of arbitrary number of nodes. The number of nodes per element may also vary within the mesh. You have just to create the corresponding arrays eptr and eind in the appropriate way. Check the manual, sections 5.6 and 4.1.2 for a detailed description and some small examples.

share|improve this answer
    
Thank you very much for your reply, I tried it with 20 noded elements as can be seen in the above code but it gives error as segmentation fault. I also include the code in the above Question. Please help. –  Zahur Nov 11 '12 at 20:03
3  
When getting a segmentation fault, start the debugger. Before doing that and reporting what you find, there is really no point for anyone to help you. –  Wolfgang Bangerth Nov 11 '12 at 23:16
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.