View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004013 | OpenFOAM | Bug | public | 2023-09-01 22:03 | 2023-09-05 08:33 |
Reporter | blttkgl | Assigned To | will | ||
Priority | normal | Severity | crash | Reproducibility | always |
Status | closed | Resolution | no change required | ||
Platform | Unix | OS | Other | OS Version | (please specify) |
Product Version | dev | ||||
Summary | 0004013: renumberMesh run in parallel destroys the mesh with NCC | ||||
Description | If renumberMesh is run in parallel, it destroys the mesh ordering if the mesh has NCC patches. | ||||
Steps To Reproduce | Add “runParallel renumberMesh -overwrite” here: https://github.com/OpenFOAM/OpenFOAM-dev/blob/master/tutorials/incompressibleFluid/ballValve/Allrun#L23 to see the problem. | ||||
Tags | No tags attached. | ||||
|
Try decompose first, then renumberMesh and only after that nonConformalCoupling. By doing this, other operations follow your new renumbering. You may need to call topoSet in parallel again. # Decompose runApplication decomposePar -cellProc runParallel renumberMesh -noFields -overwrite # Create couples runApplication createNonConformalCouples -overwrite pipeNonCouple ballNonCouple # Run runParallel $(getApplication); |
|
Ok, I tested this myself and you can forget the above idea. The issue was that renumberMesh changes the 0 dir boundary conditions (the #include constraints are omitted). To avoid this, either a) use -noZero flag for the renumberMeshThen b) copy zero dir content into processor dirs by "runApplication -a decomposePar -fields -copyZero " So either runParallel renumberMesh -noZero -noFields -overwrite or runParallel renumberMesh -noFields -overwrite # Copy the fields into the processor directories runApplication -a decomposePar -fields -copyZero |
|
The above approach is also utilised in tutorial https://github.com/OpenFOAM/OpenFOAM-dev/tree/master/tutorials/incompressibleVoF/propeller |
|
The rule of thumb you have to follow with `createNonConformalCouples`, is that it has to happen after *all* mesh changes. That includes refinement, create/split baffles, renumbering, and many more operations. You do it last, just before running the solver. The only exceptions are decompose and reconstruct, which you can do whenever you like. User support. |
Date Modified | Username | Field | Change |
---|---|---|---|
2023-09-01 22:03 | blttkgl | New Issue | |
2023-09-02 22:12 | peksa | Note Added: 0013109 | |
2023-09-02 22:30 | peksa | Note Added: 0013110 | |
2023-09-02 22:33 | peksa | Note Added: 0013111 | |
2023-09-05 08:33 | will | Assigned To | => will |
2023-09-05 08:33 | will | Status | new => closed |
2023-09-05 08:33 | will | Resolution | open => no change required |
2023-09-05 08:33 | will | Note Added: 0013115 |