View Issue Details

IDProjectCategoryView StatusLast Update
0004013OpenFOAMBugpublic2023-09-05 08:33
Reporterblttkgl Assigned Towill  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionno change required 
PlatformUnixOSOtherOS Version(please specify)
Product Versiondev 
Summary0004013: renumberMesh run in parallel destroys the mesh with NCC
DescriptionIf renumberMesh is run in parallel, it destroys the mesh ordering if the mesh has NCC patches.
Steps To ReproduceAdd “runParallel renumberMesh -overwrite” here: https://github.com/OpenFOAM/OpenFOAM-dev/blob/master/tutorials/incompressibleFluid/ballValve/Allrun#L23 to see the problem.
TagsNo tags attached.

Activities

peksa

2023-09-02 22:12

reporter   ~0013109

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);

peksa

2023-09-02 22:30

reporter   ~0013110

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

peksa

2023-09-02 22:33

reporter   ~0013111

The above approach is also utilised in tutorial https://github.com/OpenFOAM/OpenFOAM-dev/tree/master/tutorials/incompressibleVoF/propeller

will

2023-09-05 08:33

manager   ~0013115

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.

Issue History

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