Magpar & Metis

Hi everybody!!

I'm new in this partitioning world, and besides I don't speak English very well, so I will try to explain myself as well as I know, be patient with me please!! I'm sorry because I don't know if I'm writing in the right thread.

I'm developing my final studies project. I have got a partitioner called PaGrid and I want to change it into an application called magpar ( http://magnet.atp.tuwien.ac.at/scholz/magpar/ ). I'm a bit lost because I don't know if this PaGrid partitioner is compatible with magpar, and if it will be able to replace Metis.

This is the code part where Metis function is called: http://magnet.atp.tuwien.ac.at/scholz/magpar/doc/html/parteleser_8c-source.html

00063 /* partition nodes */
00064 METIS_PartMeshNodal(
00065 &gdata->n_ele,
00066 &gdata->n_vert,
00067 gdata->elevert,
00068 &two,
00069 &zero,
00070 &parts,
00071 &t_edgecut,
00072 gdata->elenewproc,
00073 gdata->vertnewproc
00074 );

According to the documentation n_ele is the element number, n_vert the vertex number, and elevert is the vertex conectivity.
elenewproc and vertnewproc should be the function result (assignment of elements to new processors and assignment of vertex to new processors)

I'm a bit frightened because I think that Pagrid partitioner doesn't contemplate anything about elements, and makes me feel hesitated about the possibility of replace it by Metis. I think that Pagrid is a multilevel mesh partitioner and this Metis function that magpar uses, METIS_PartMeshNodal is a mesh Partitioner. I have been reading the Metis manual ( glaros.dtc.umn.edu/gkhome/fetch/sw/metis/manual.pdf - ) and Pagrid input file is similar what is explained in 8 page. It only contemplates vertex and edges number:

10240 30380
806 1951 2641
2033 765 2092
2196 2247 6182
1560 918 2936
5433 5646 7311 8063 8185
9133 7901 7904 7900 7899 7982 9170 7979 7978
6146 6392 5897 8330 8331
7271 1613 7435
...

The other Pagrid input file is related to Grid format, and has processor, and their conexion information.

So what should I do? Do I have to convert the Mesh into a Graph? or I'm trying to developed an impossible thing? I think I not very far from the solution becouse both programs have a very similar data structures.

I thank you your help beforehand.

Antonio