|
[Sponsors] | |||||
[Other] Equal decomposition of cylindrical fluid domain |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|
|
#1 |
|
Member
Sean Gorry
Join Date: Feb 2018
Posts: 48
Rep Power: 9 ![]() |
I'm just wondering how I could equally decompose a cylindrical fluid domain so that each processor has the same number of cells. I can quarter the domain using simple but I want to divide it further. The simulation crashes unless each processor has the same number of cells, the picture below is of the YZ plane.
|
|
|
|
|
|
|
|
|
#2 |
|
Senior Member
anonymous
Join Date: Jan 2016
Posts: 416
Rep Power: 15 ![]() |
Hi!
The simplest if you use scotch. It'll try to reduce the common faces of the proc. regions (smaller processor patches -> less communication between processors) It is easy to use, you only have to specify the number of processors. |
|
|
|
|
|
|
|
|
#3 |
|
Member
Sean Gorry
Join Date: Feb 2018
Posts: 48
Rep Power: 9 ![]() |
I tried using scotch but the simulation crashes. The only time the mesh motion solver hasn't crashed is when each processor has the same amount of cells.
simple (1 2 2) Code:
Processor 0
Number of cells = 320640
Number of faces shared with processor 1 = 10736
Number of faces shared with processor 2 = 10736
Number of processor patches = 2
Number of processor faces = 21472
Number of boundary faces = 12320
Processor 1
Number of cells = 320640
Number of faces shared with processor 0 = 10736
Number of faces shared with processor 3 = 10736
Number of processor patches = 2
Number of processor faces = 21472
Number of boundary faces = 12320
Processor 2
Number of cells = 320640
Number of faces shared with processor 0 = 10736
Number of faces shared with processor 3 = 10736
Number of processor patches = 2
Number of processor faces = 21472
Number of boundary faces = 12320
Processor 3
Number of cells = 320640
Number of faces shared with processor 1 = 10736
Number of faces shared with processor 2 = 10736
Number of processor patches = 2
Number of processor faces = 21472
Number of boundary faces = 12320
Number of processor faces = 42944
Max number of cells = 320640 (0% above average 320640)
Max number of processor patches = 2 (0% above average 2)
Max number of faces between processors = 21472 (0% above average 21472)
Time = 0
Processor 0: field transfer
Processor 1: field transfer
Processor 2: field transfer
Processor 3: field transfer
End
scotch (4 equally weighted processors) Code:
Processor 0
Number of cells = 321064
Number of faces shared with processor 1 = 5353
Number of faces shared with processor 2 = 5336
Number of processor patches = 2
Number of processor faces = 10689
Number of boundary faces = 10773
Processor 1
Number of cells = 319067
Number of faces shared with processor 0 = 5353
Number of faces shared with processor 3 = 5082
Number of processor patches = 2
Number of processor faces = 10435
Number of boundary faces = 10655
Processor 2
Number of cells = 321884
Number of faces shared with processor 0 = 5336
Number of processor patches = 1
Number of processor faces = 5336
Number of boundary faces = 15494
Processor 3
Number of cells = 320545
Number of faces shared with processor 1 = 5082
Number of processor patches = 1
Number of processor faces = 5082
Number of boundary faces = 12358
Number of processor faces = 15771
Max number of cells = 321884 (0.3879741% above average 320640)
Max number of processor patches = 2 (33.33333% above average 1.5)
Max number of faces between processors = 10689 (35.5526% above average 7885.5)
Time = 0
Processor 0: field transfer
Processor 1: field transfer
Processor 2: field transfer
Processor 3: field transfer
End
|
|
|
|
|
|
|
|
|
#4 |
|
Senior Member
Zander Meiring
Join Date: Jul 2018
Posts: 125
Rep Power: 9 ![]() |
Do you have a cyclic domain boundary? If so, it's important to have those two boundaries on the same processor. This can be done with scotch by using the 'singleProcessorFaceSets' option. For example:
Code:
FoamFile
{
version 2;
format ascii;
class dictionary;
object decomposeParDict;
}
numberOfSubdomains 24;
method scotch;
singleProcessorFaceSets ( ( cyclic -1 ) );
where cyclic is a faceSet I defined in a topoSetDict: Code:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object topoSetDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
actions
(
{
name cyclic;
type faceSet;
action new;
source patchToFace;
sourceInfo
{
name side1;
}
}
{
name cyclic;
type faceSet;
action add;
source patchToFace;
sourceInfo
{
name side2;
}
}
}
|
|
|
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Wrong flow in ratating domain problem | Sanyo | CFX | 17 | August 15, 2015 07:20 |
| Error in Two phase (condensation) modeling | adilsyyed | CFX | 15 | June 24, 2015 20:42 |
| Floating point exception: Zero divide | liladhar | CFX | 11 | December 16, 2013 05:07 |
| injection problem | Mark New | FLUENT | 0 | August 4, 2013 02:30 |
| Terrible Mistake In Fluid Dynamics History | Abhi | Main CFD Forum | 12 | July 8, 2002 10:11 |