CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Native Meshers: snappyHexMesh and Others

snappyHewMesh decomposition method ???

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

Reply
 
LinkBack Thread Tools Display Modes
Old   August 23, 2012, 10:38
Question snappyHewMesh decomposition method ???
  #1
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 150
Rep Power: 4
Djub is on a distinguished road
Hi everybody,
I am working on a case using snappyHexMesh. I have a snappyHexMeshDict, of course, and also a decomposeParDict because my case will be decomposed on several cores.
Whyle running snappyHexMesh, FOAM gets out with this error:
Code:
Selecting decompositionMethod scotch
 
--> FOAM FATAL ERROR: 
Unknown decompositionMethod scotch
Valid decompositionMethods are : 
6
(
hierarchical
manual
multiLevel
ptscotch
simple
structured
)
 
    From function decompositionMethod::New(const dictionary& decompositionDict)
    in file decompositionMethod/decompositionMethod.C at line 62.
FOAM exiting
I don't understand why ??? If I change, in my decomposeParDict , sotch to ptscotch, it works! But then it's up to decomposePar to get out on error because he doesn't know about ptscotch method. So I have to change again my decomposeParDict and now it works.

Very strange, isn't it?
Djub is offline   Reply With Quote

Old   August 23, 2012, 13:43
Default
  #2
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,080
Blog Entries: 34
Rep Power: 82
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Greetings Julien,

"scotch" and "ptscotch" cannot reside in the same memory space. If you check the tutorials that show how this works, you would see that some switch to-from "ptscotch".
Here's the official explanation: http://www.openfoam.org/mantisbt/view.php?id=458

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   August 24, 2012, 04:55
Default
  #3
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 150
Rep Power: 4
Djub is on a distinguished road
Thanks Bruno
By the way, I still do not understand (in fact, in don't know at all ptscotch, and only very few about scotch).
Does it mean that it is forbidden to decompose my domain using scotch, if my mesh has been treated by snappyHexMesh ?
Should I continue to use this solution consisting of "changing the entry in the decomposeDict every time" ?
Why do snappyHexMesh reads the decomposeDict ?
Thanks for advices
Djub is offline   Reply With Quote

Old   August 24, 2012, 17:40
Default
  #4
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,080
Blog Entries: 34
Rep Power: 82
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Hi Julien,

If you choose "scotch" for decomposition, then you have to change it to something else for running snappyHexMesh.
Quote:
Originally Posted by Djub View Post
Why do snappyHexMesh reads the decomposeDict ?
Because snappyHexMesh can be executed in parallel and it needs a decomposition method for assigning mesh refinement between processors.

Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   August 27, 2012, 03:39
Smile
  #5
Senior Member
 
Julien
Join Date: Jun 2012
Location: France
Posts: 150
Rep Power: 4
Djub is on a distinguished road
Hi Bruno, thanks. May I explain this with my words, ans you correct me if I am wrong?
snappyHewMesh is able to run in parallel. When running in parallel, it needs a decomposeParDict, same as any solver. Even with no paralleling, it reads decomposeParDict (with no effects, of course).
By the way, scotch is unknown to snappyHexMesh, while ptscotch is invalid for classic decomposePar.
All this is why you have to adjust decomposeParDict between snappyHexMesh and decomposePar.

'hope this thread can help somebody else!
Djub is offline   Reply With Quote

Old   August 27, 2012, 06:11
Default
  #6
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,080
Blog Entries: 34
Rep Power: 82
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Hi Julien,

To complement your description:
  • Only a few applications need the "decomposeParDict" file, mainly those that need the ability to decompose or handle a decomposed mesh. The applications are (if I'm not mistaken): decomposePar, redistributePar, snappyHexMesh.
  • snappyHexMesh is basically hard coded to need "decomposeParDict", because it's able to run in parallel; and when running in parallel, it needs to access the decomposition to know how to add more or manipulate cells on the mesh.
  • As I've indicated in another post, "ptscotch" and "scotch" cannot coexist in the same application memory space, due to naming collisions. This is why snappyHexMesh doesn't know what "scotch" is.
Best regards,
Bruno
wyldckat is offline   Reply With Quote

Old   September 26, 2012, 05:04
Default
  #7
New Member
 
Tuxeedo's Avatar
 
Hauke
Join Date: Jun 2012
Posts: 5
Rep Power: 4
Tuxeedo is on a distinguished road
Hey Folks
I find myself asking: "why?!"
Why can't SHM accept "scotch" as decomposition Method?
Why hasn't anyone introduced a scotch-like decompostion Method that is usable in both "tools"?

But the way it is now only creates confusion and/or Frustration among beginners.
Bugreport says it's "not fixable" Does that mean Foamers will have to live with that Issue forever?
I hope not
Tuxeedo is offline   Reply With Quote

Old   September 26, 2012, 09:08
Default
  #8
Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 8,080
Blog Entries: 34
Rep Power: 82
wyldckat is just really nicewyldckat is just really nicewyldckat is just really nicewyldckat is just really nice
Quote:
Originally Posted by Tuxeedo View Post
But the way it is now only creates confusion and/or Frustration among beginners.
Being able to cope with frustration is basically one of the major requirements to use OpenFOAM

Quote:
Originally Posted by Tuxeedo View Post
Bugreport says it's "not fixable" Does that mean Foamers will have to live with that Issue forever?
I hope not
Like Mattjis indicated: when Scotch is fixed, so will snappyHexMesh be fixed.
wyldckat is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
interFoam & decomposition method: scotch MacGyver OpenFOAM Running, Solving & CFD 2 May 23, 2012 07:00
decomposePar: can use this decomposition method only for the whole mesh aloeven OpenFOAM Bugs 0 March 16, 2011 11:15
Domain decomposition method Bram OpenFOAM 4 August 19, 2010 18:14
Domain decomposition method Bram OpenFOAM Pre-Processing 0 October 12, 2009 09:14
ILU decomposition in GMRES/ILU(0) method Jian Xia Main CFD Forum 2 October 14, 2000 11:42


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