|
[Sponsors] |
Problems with preserving baffles with scotch parallel decomposition |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
November 22, 2019, 07:24 |
Problems with preserving baffles with scotch parallel decomposition
|
#1 |
Member
Anna Feichtner
Join Date: Dec 2016
Location: Cornwall (UK)
Posts: 36
Rep Power: 10 |
Hi all
I am trying to decompose my case with the scotch (and simple) method with baffle/patch preservation, but my baffle (set up as cyclic) gets split between two processors. It is a 2D mesh with a vertical surface which is defined as a baffle/faceZone. The baffle gets split between two processors when I decompose the domain into 14 subdomains, which leads to problems later on. I don't get any error messages, but I get a message that the baffle is specified: Code:
“… Selecting decompositionMethod scotch Selecting decompositionConstraint preserveBaffles preserveBaffles : setting constraints to preserve baffles Selecting decompositionConstraint preservePatches preservePatches : adding constraints to keep owner of faces in patches 1(plateBaffle) on same processor. This only makes sense for cyclics. Selecting decompositionConstraint preserveFaceZones preserveFaceZones : adding constraints to keep owner and neighbour of faces in zones 1(plateBaffle) on same processor … Things do work (baffles/patches exist and give correct results) when I decompose into e.g. 4 subdomains, but this could just be lucky as it doesn't have to split the baffles. One question in general: Shouldn't baffles (or patches) be preserved with the scotch method automatically? As it didn't preserve my baffles automatically, I added constraints for preservation to my decomposeParDict as follows: Code:
numberOfSubdomains 14; method scotch; constraints { // Keep owner and neighbour of baffles on same processor // (ie, keep it detectable as a baffle). // Baffles are two boundary face sharing the same points preserveBaffles //baffles { type preserveBaffles; enabled true; } preservePatches //patches { type preservePatches; patches (plateBaffle); //(plateFront plateBack plateBaffle); //NO COMMAS! //patches (plateFrontPatch_half0 plateBackPatch_half0 plateBafflePatch_half0); enabled true; } preserveFaceZones //faces { type preserveFaceZones; zones (plateBaffle); //(plateFront plateBack plateBaffle); //zones (plateFrontPatch_half0 plateBackPatch_half0 plateBafflePatch_half0); enabled true; } } Please find my case attached. Maybe someone has an idea? Best wishes Anna Last edited by AnnaF; December 6, 2019 at 07:03. Reason: more trials; syntax correction; clarification |
|
December 5, 2019, 10:21 |
|
#2 |
Member
Anna Feichtner
Join Date: Dec 2016
Location: Cornwall (UK)
Posts: 36
Rep Power: 10 |
I still do have this problem... does anyone have an idea?
|
|
June 19, 2020, 14:14 |
|
#3 |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Hi Anna,
I am working with an older version of OpenFOAM (2.3.1), but I've got the same problem. I need to preserve a certain planar inlet patch on one process. I have used similar options in decomposePar, but they apparently not working. Did you find a solution for this issue? Kind regards, syavash |
|
June 19, 2020, 15:47 |
|
#4 |
Member
Anna Feichtner
Join Date: Dec 2016
Location: Cornwall (UK)
Posts: 36
Rep Power: 10 |
Dear syavash
Unfortunately, I couldn't solve the problem with the scotch decomposition method. Instead I used manual decomposition to avoid this. Good luck Anna |
|
June 19, 2020, 17:32 |
|
#5 | |
Senior Member
Ehsan Asgari
Join Date: Apr 2010
Posts: 473
Rep Power: 18 |
Quote:
Happy to hear that it worked for you. How many processes you decomposed into? I have seen how manual method works, but I wonder if there is a straightforward way to use it for large number of processes (over 100)? Kind regards Syavash |
||
June 21, 2020, 07:21 |
|
#6 |
Member
Anna Feichtner
Join Date: Dec 2016
Location: Cornwall (UK)
Posts: 36
Rep Power: 10 |
Hi again
I have not looked into it for a larger number of processes. I only decomposed into 14 subdomains which was obviously not much effort to do it manually. I will have another look at my case and if I find out more I would give you an update. Best wishes Anna |
|
April 6, 2021, 04:04 |
|
#7 |
New Member
Alexandra H
Join Date: May 2020
Posts: 4
Rep Power: 6 |
Are you still facing the same problem?
Depending on which type of internal boundary you introduce, OpenFOAM wants different constraints (as you know). For baffles Code:
baffles { type preserveBaffles; enabled true; } Code:
patches { type preservePatches; //set (".*") for all patches, & DONT USE COMMAS! patches (cyclicPatchA0 cyclicPatchA1 cyclicPatchB0 cyclicPatchB1); enabled false; } Code:
processors { type singleProcessorFaceSets; sets ( (cyclicAMI_A -1) //these names are specefied in topoSetDict (cyclicAMI_B -1) //these names are specefied in topoSetDict ); enabled true; } |
|
November 7, 2024, 08:09 |
|
#8 |
New Member
Lorenzo Fornasari
Join Date: Dec 2023
Posts: 1
Rep Power: 0 |
Hey Ana,
I was having a similar problem with baffles aparently being split between processors, but it turns out the problem had to do with using GAMG to solve the matrices. Code:
[8] --> FOAM FATAL ERROR: (openfoam-2306) [8] Attempt to cast type cyclic to type processorLduInterface [8] [8] From Type& Foam::refCast(U&) [with Type = const Foam::processorLduInterface; U = const Foam::lduInterface] [8] in file lnInclude/typeInfo.H at line 154. [8] FOAM parallel run aborting Hope it helps.. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Parallel decomposition for large cases | me3840 | OpenFOAM Pre-Processing | 0 | March 28, 2019 17:10 |
[snappyHexMesh] How to define to right point for locationInMesh | Mirage12 | OpenFOAM Meshing & Mesh Conversion | 7 | March 13, 2016 15:07 |
OpenFOAM Scotch Decomposition: Version and Reference | dancfd | OpenFOAM Pre-Processing | 4 | April 16, 2014 22:40 |
Problems with MFIX code and Parallel Processing. | Fernando Pio | Main CFD Forum | 4 | August 29, 2006 15:33 |
CFX - Parallel Problems | CFX User | CFX | 0 | November 1, 2004 19:12 |