View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002159 | OpenFOAM | Patch | public | 2016-07-22 14:02 | 2016-07-22 17:21 |
Reporter | MattijsJ | Assigned To | henry | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | GNU/Linux | OS | OpenSuSE | OS Version | 13.2 |
Product Version | dev | ||||
Fixed in Version | dev | ||||
Summary | 0002159: decomposing with constraints is extremely slow on big case | ||||
Description | Take e.g. the channel395 tutorial and change the blockMeshDict to generate 6M cells: hex (0 1 3 2 6 7 9 8) (400 250 30) simpleGrading (1 10.7028 1) hex (2 3 5 4 8 9 11 10) (400 250 30) simpleGrading (1 0.0934 1) and add to decomposeParDict: preservePatches ( sides1_half0 sides1_half1 sides2_half0 sides2_half1 inout1_half0 inout1_half1 inout2_half0 inout2_half1 ); This is still running after 30 mins. | ||||
Tags | No tags attached. | ||||
|
blockMeshDict (2,496 bytes)
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: dev | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object blockMeshDict; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 1; vertices ( (0 0 0) (4 0 0) (0 1 0) (4 1 0) (0 2 0) (4 2 0) (0 0 2) (4 0 2) (0 1 2) (4 1 2) (0 2 2) (4 2 2) ); blocks ( hex (0 1 3 2 6 7 9 8) (400 250 30) simpleGrading (1 10.7028 1) hex (2 3 5 4 8 9 11 10) (400 250 30) simpleGrading (1 0.0934 1) ); edges ( ); boundary ( bottomWall { type wall; faces ((0 1 7 6)); } topWall { type wall; faces ((4 10 11 5)); } sides1_half0 { type cyclic; neighbourPatch sides1_half1; faces ((0 2 3 1)); } sides1_half1 { type cyclic; neighbourPatch sides1_half0; faces ((6 7 9 8)); } sides2_half0 { type cyclic; neighbourPatch sides2_half1; faces ((2 4 5 3)); } sides2_half1 { type cyclic; neighbourPatch sides2_half0; faces ((8 9 11 10)); } inout1_half0 { type cyclic; neighbourPatch inout1_half1; faces ((1 3 9 7)); } inout1_half1 { type cyclic; neighbourPatch inout1_half0; faces ((0 6 8 2)); } inout2_half0 { type cyclic; neighbourPatch inout2_half1; faces ((3 5 11 9)); } inout2_half1 { type cyclic; neighbourPatch inout2_half0; faces ((2 8 10 4)); } ); mergePatchPairs ( ); // ************************************************************************* // |
|
FaceCellWave.C (33,875 bytes) |
|
FaceCellWave.H (11,657 bytes) |
|
FaceCellWaveName.C (1,412 bytes) |
|
regionSplit.C (13,008 bytes) |
|
regionSplit.H (5,916 bytes) |
|
The problem is the regionSplit algorithm which was tuned to efficiently handle a few regions. However in the case of decomposition with constraints it generates one region per cell and this was not handled efficiently. Uploaded fixed versions of src/meshTools/algorithms/MeshWave/FaceCellWave.* src/meshTools/regionSplit/regionSplit.* with these files the decomposition happens in under a minute. |
|
Resolved in OpenFOAM-dev by commit 2915e6ba197e54affca665fc7cfdf32190b569a5 |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-07-22 14:02 | MattijsJ | New Issue | |
2016-07-22 14:02 | MattijsJ | File Added: blockMeshDict | |
2016-07-22 14:03 | MattijsJ | File Added: FaceCellWave.C | |
2016-07-22 14:03 | MattijsJ | File Added: FaceCellWave.H | |
2016-07-22 14:03 | MattijsJ | File Added: FaceCellWaveName.C | |
2016-07-22 14:03 | MattijsJ | File Added: regionSplit.C | |
2016-07-22 14:03 | MattijsJ | File Added: regionSplit.H | |
2016-07-22 14:06 | MattijsJ | Note Added: 0006552 | |
2016-07-22 17:21 | henry | Note Added: 0006560 | |
2016-07-22 17:21 | henry | Status | new => resolved |
2016-07-22 17:21 | henry | Fixed in Version | => dev |
2016-07-22 17:21 | henry | Resolution | open => fixed |
2016-07-22 17:21 | henry | Assigned To | => henry |