diff --git a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C index cda4eb0e072bd1be10a77ce5fa67d5b379eabe66..f8676ace535e82215da259f619b134bdd743f8d7 100644 --- a/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C +++ b/src/OpenFOAM/meshes/polyMesh/globalMeshData/globalIndexTemplates.C @@ -99,13 +99,12 @@ void Foam::globalIndex::gather allFld.resize_nocopy(off.last()); // Assign my local data - respect offset information - // so that we can request 0 entries to be copied + // so that we can request 0 entries to be copied. + // Also handle the case where we have a slice of the full + // list. - SubList<Type> localSlot(allFld, off[1]-off[0], off[0]); - if (!localSlot.empty()) - { - localSlot = fld; - } + SubList<Type>(allFld, off[1]-off[0], off[0]) = + SubList<Type>(fld, off[1]-off[0]); if ( diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun index 78d5debbe7f687177b9c06cd6b65b939d99f8820..088d3bc05812944922e5ae24e3bcb134ae6fcf5a 100755 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun @@ -5,6 +5,28 @@ cd "${0%/*}" || exit # Run from this directory ./Allrun.pre -runApplication $(getApplication) +runApplication decomposePar + +#- Run without processorAgglomerator +runParallel $(getApplication) + +#- Run with processorAgglomerator +foamDictionary -entry solvers.p.processorAgglomerator -set 'masterCoarsest' system/fvSolution +runParallel -s masterCoarsest $(getApplication) + +#- Run with processorAgglomerator +foamDictionary -entry solvers.p.processorAgglomerator -set 'procFaces' system/fvSolution +foamDictionary -entry solvers.p.nAgglomeratingCells -set 100 system/fvSolution +runParallel -s procFaces $(getApplication) +foamDictionary -entry solvers.p.nAgglomeratingCells -remove system/fvSolution + +#- Run with processorAgglomerator +foamDictionary -entry solvers.p.processorAgglomerator -set 'eager' system/fvSolution +runParallel -s eager $(getApplication) + +#- Run with processorAgglomerator +foamDictionary -entry solvers.p.processorAgglomerator -set 'manual' system/fvSolution +foamDictionary -entry solvers.p.processorAgglomeration -set '((9 ((0 1 2 3)(4 5 6))))' system/fvSolution +runParallel -s manual $(getApplication) #------------------------------------------------------------------------------ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun-parallel b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun-seq similarity index 85% rename from tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun-parallel rename to tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun-seq index f9aa96400d93c788a4829dbd6f6f60b7f91bae7d..78d5debbe7f687177b9c06cd6b65b939d99f8820 100755 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun-parallel +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/Allrun-seq @@ -5,8 +5,6 @@ cd "${0%/*}" || exit # Run from this directory ./Allrun.pre -runApplication decomposePar - -runParallel $(getApplication) +runApplication $(getApplication) #------------------------------------------------------------------------------ diff --git a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/controlDict b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/controlDict index 49788d6501a321346318f0d039ec880fd8f0d501..9539c8b0a0e3032137151afdbd601c328cef85ad 100644 --- a/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/controlDict +++ b/tutorials/compressible/rhoSimpleFoam/squareBendLiq/system/controlDict @@ -14,6 +14,11 @@ FoamFile } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // +DebugSwitches +{ + GAMGAgglomeration 1; +} + application rhoSimpleFoam; startFrom startTime;