CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Meshing & Mesh Conversion (https://www.cfd-online.com/Forums/openfoam-meshing/)
-   -   [mesh manipulation] decomposePar of directMapped Patches with metis (https://www.cfd-online.com/Forums/openfoam-meshing/92312-decomposepar-directmapped-patches-metis.html)

chegdan September 9, 2011 11:50

decomposePar of directMapped Patches with metis
 
I have seen several threads about the direct mapped patches in parallel:

http://www.cfd-online.com/Forums/ope...apped+parallel

http://www.cfd-online.com/Forums/ope...apped+parallel

http://www.cfd-online.com/Forums/ope...apped+parallel

http://www.cfd-online.com/Forums/ope...apped+parallel

And I know that we have to keep faces that are being mapped to and from on the same processor (owners and neighbors). However, I'm too complex to use the "simple" method in my decomposePardict and I want to be complex and use "metis". This is where this question is different, the use of metis.

So, how does one use preserveFaceZones properly so that the to and from faces are on the same processor? Right now, I have my two patches inlet and outlet at two ends of domain. I map the outlet to the inlet and everything is happy. I then tried to use preservefacezones by creating a set using faceSet made from the faces of my inlet and outlet together in a set creatively called directMappedSet. Using setsToZones, i populated the faceZones file in polyMesh and then added:

method metis;
preserveFaceZones (directMappedSet);

to my decomposeParDict file and decomposed my case. Upon checking my processor meshes, i found that it did not decompose how I expected. Some informational messages I received were:

Code:

Calculating distribution of cells
Keeping owner and neighbour of faces in zones
1
(
directMappedSet
)
 on same processor
Selecting decompositionMethod metis
Selected 42924 faces whose owner and neighbour cell should be kept on the same processor
--> FOAM Warning :
    From function min(const UList<Type>&)
    in file /home/dcombest/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/FieldFunctions.C at line 342
    empty field, returning zero

Finished decomposition in 23.18 s

So, long story for a simple question...how does one decompose a complex geometry so that directMapped patches work properly in parallel?

Dan

ic3wall October 31, 2012 15:48

Did you solve this ?

I also have to run a case containing directMapped boundary condition in parallel...

chegdan November 1, 2012 04:53

At the time I had a workaround, but i think this has been taken care of in another bugfix. Give it a try and if there is an issue I can look at it again.

ic3wall November 1, 2012 08:21

I found that depending how I decompose, sometimes the simulation starts without problems, sometimes it stops at time 1. It says cpus are 100% busy but nothing happens.

Do you know if it's important to keep the directMapped zone (like cyclic) on the same processor or it doesn't matter ?

chegdan November 1, 2012 08:42

unless they changed this, if I remember correctly you must keep the coupled patches an the same processor in the same subdomain.

Quote:

Originally Posted by ic3wall (Post 389661)
I found that depending how I decompose, sometimes the simulation starts without problems, sometimes it stops at time 1. It says cpus are 100% busy but nothing happens.

Do you know if it's important to keep the directMapped zone (like cyclic) on the same processor or it doesn't matter ?


ic3wall November 1, 2012 20:31

When using directMapped, no patches are coupled.

chegdan November 2, 2012 05:48

Take a look at the first post of this thread. Glance through the list of cited posts and you question is answered in

http://www.cfd-online.com/Forums/ope...-parallel.html


All times are GMT -4. The time now is 00:51.