CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Weight in graph of mesh partitioning algo.

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 29, 2006, 05:48
Default Weight in graph of mesh partitioning algo.
  #1
Joseph
Guest
 
Posts: n/a
Hi currently i am working on metis a graph partitioning package. I am converting my mesh information into graph and then partitioning. But i couldnt understand that what is weight in graph? Can anybody tell me abt this? Thanks u all in advance.

  Reply With Quote

Old   November 29, 2006, 08:56
Default Re: Weight in graph of mesh partitioning algo.
  #2
pc
Guest
 
Posts: n/a
You can assign a weighting factor for each element of the graph, which metis takes into account when balancing the partitions. If you want to consider each element equally, you can set the weights to 1. If the elements have a different workload associated with them in your solver, you can specify weights accordingly to balance the workload rather than the sheer number of elements.
  Reply With Quote

Old   November 30, 2006, 00:39
Default Re: Weight in graph of mesh partitioning algo.
  #3
Joseph
Guest
 
Posts: n/a
Thnaks pc, but i dont know how to find weight factor? Can u give some info of how to calculate weight of vertex? or can you provide any link. Thanks
  Reply With Quote

Old   November 30, 2006, 09:04
Default Re: Weight in graph of mesh partitioning algo.
  #4
pc
Guest
 
Posts: n/a
The weight factor is something that you, the user, define.

The simplest thing to do is to define the weights to be 1 for all vertices in the graph. Then the partitions will be balanced based solely on the number of vertices (roughly equal number of vertices per partition).

If you need to get more complex in balancing the workload among the processors for your code/application, metis allows you to do that by specifying weights that are non-uniform. In this case you the user define weights based on the amount of CPU work done for each vertex/cell in the graph, for example.

Is that a bit clearer?

  Reply With Quote

Old   November 30, 2006, 23:40
Default Re: Weight in graph of mesh partitioning algo.
  #5
Joseph
Guest
 
Posts: n/a
Thank you pc, I have your answer has encouraged me to understand , but at the same time generated these queries. (1) so, you mean to say that metis internally doesnt depend on weight of vertices. Is this right? (2) Wht i was thinking abt weight was that, suppose one vertices is connected to 3 edges, so its weight will be 3. In same way if one edge is conneted to 3 faces, so its weight will be 3. And for face there must be weight of 2,bcoz it cant be connected with more than 2 cells. Is it right? (3) so, in metis can i specify my own weights ? bcoz when i am converting my mesh structure into graph , it gives me diffent weight for different vertices. So, my doubt is how metis calcultes these weights for each vertices? Thnaks again.
  Reply With Quote

Old   December 1, 2006, 08:14
Default Re: Weight in graph of mesh partitioning algo.
  #6
pc
Guest
 
Posts: n/a
Hi Joseph. I'll try my best to answer:

1) Metis will use the weights you provide to form the partitions. There is also an option not to use weights at all, where it will (I believe) weight all vertices equally.

2) Weights can be anything you want them to be. Ideally you would like them to reflect the work done in your solver, to balance the processors' workload when running your simulation. So if the relative work for a given cell is dependent on its adjacencies, as you suggest, then the weights you suggest are good. If the work per cell in your solver is the same for all cells, the weights should be 1 for all cells.

3) Yes, you can specify your own weights, those are passed in to the partitioning routines. From what you describe, it seems metis calculates weights based on vertex adjacency (# of edges shared by each vertex). However I have never used the metis routines that convert the mesh to the graph, I've always provided the adjacency graph directly. So I can't say for certain.

Why don't you try a few weighting experiments and see how they alter the resulting decomposition? Then you can get a better feel for what metis is doing.

Good luck.

  Reply With Quote

Old   December 1, 2006, 08:55
Default Re: Weight in graph of mesh partitioning algo.
  #7
Joseph
Guest
 
Posts: n/a
Hi thank you very much pc.
  Reply With Quote

Old   December 4, 2006, 05:02
Default Re: Weight in graph of mesh partitioning algo.
  #8
Joseph
Guest
 
Posts: n/a
Hi pc, pls help me if you can. I have done partion using mesh, but i want to know that how interface information is written is output file. bcoz, when i am seeing in visulizes (pmvis) it gives me some space beteen interface. i.e. whether metis is cutting element of it is just passing though face between elments. Pls tell me. whther it will also produce fake elments?

  Reply With Quote

Old   December 4, 2006, 08:41
Default Re: Weight in graph of mesh partitioning algo.
  #9
pc
Guest
 
Posts: n/a
First of all, I've never used "pmvis", whatever that is.

Second, what you get from metis depends on what your graph represents. That is, the graph can represent physical cells or the actual nodes of your mesh. Then from that you will need to form the individual decomposed domains from the processor assignments metis computes. If the graph represents nodes metis will cut across physical edges. If the graph represents cells metis will cut across the faces of the mesh.

Why don't you send me an email and we can discuss this more offline.

- pc

  Reply With Quote

Old   January 31, 2017, 04:53
Default partitioning in specific x,y,z directions using weight factors
  #10
New Member
 
Stephen Wornom
Join Date: Jun 2010
Posts: 2
Rep Power: 0
wornomsf is on a distinguished road
Quote:
Originally Posted by pc
;46755
You can assign a weighting factor for each element of the graph, which metis takes into account when balancing the partitions. If you want to consider each element equally, you can set the weights to 1. If the elements have a different workload associated with them in your solver, you can specify weights accordingly to balance the workload rather than the sheer number of elements.
How would one force partitions in say ONLY the x-direction with weights =1?
wornomsf is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
how to set periodic boundary conditions Ganesh FLUENT 15 November 18, 2020 06:09
3D Hybrid Mesh Errors DarrenC ANSYS Meshing & Geometry 11 August 5, 2013 06:42
[ICEM] Generating Mesh for STL Car in Windtunnel Simulation tommymoose ANSYS Meshing & Geometry 48 April 15, 2013 04:24
Mesh partitioning krrishcfd ANSYS Meshing & Geometry 3 May 16, 2010 21:33
[snappyHexMesh] external flow with snappyHexMesh chelvistero OpenFOAM Meshing & Mesh Conversion 11 January 15, 2010 19:43


All times are GMT -4. The time now is 14:03.