CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Native Meshers: snappyHexMesh and Others (http://www.cfd-online.com/Forums/openfoam-meshing-snappyhexmesh/)
-   -   snappyHewMesh decomposition method ??? (http://www.cfd-online.com/Forums/openfoam-meshing-snappyhexmesh/106267-snappyhewmesh-decomposition-method.html)

Djub August 23, 2012 10:38

snappyHewMesh decomposition method ???
 
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.

:confused: Very strange, isn't it? :confused:

wyldckat August 23, 2012 13:43

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

Djub August 24, 2012 04:55

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 ?:confused:
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

wyldckat August 24, 2012 17:40

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 (Post 378499)
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

Djub August 27, 2012 03:39

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!

wyldckat August 27, 2012 06:11

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

Tuxeedo September 26, 2012 05:04

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

wyldckat September 26, 2012 09:08

Quote:

Originally Posted by Tuxeedo (Post 383675)
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 (Post 383675)
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.


All times are GMT -4. The time now is 18:26.