mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: missing parallel-aware for metis-like decomposition
This commit is contained in:
@ -8,5 +8,6 @@ EXE_INC = \
|
|||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-ldecompose \
|
-ldecompose \
|
||||||
-ldecompositionMethods \
|
-ldecompositionMethods \
|
||||||
-L$(FOAM_LIBBIN)/dummy -lmetisDecomp -lscotchDecomp -lkahipDecomp \
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
|
-lkahipDecomp -lmetisDecomp -lscotchDecomp \
|
||||||
-lregionModels
|
-lregionModels
|
||||||
|
|||||||
@ -28,5 +28,6 @@ EXE_LIBS = \
|
|||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-lsampling \
|
-lsampling \
|
||||||
-ldecompositionMethods \
|
-ldecompositionMethods \
|
||||||
-L$(FOAM_LIBBIN)/dummy -lscotchDecomp -lptscotchDecomp \
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
|
-lkahipDecomp -lmetisDecomp -lptscotchDecomp -lscotchDecomp \
|
||||||
-ldynamicMesh
|
-ldynamicMesh
|
||||||
|
|||||||
@ -31,5 +31,6 @@ EXE_LIBS = \
|
|||||||
-lsampling \
|
-lsampling \
|
||||||
-ldecompositionMethods \
|
-ldecompositionMethods \
|
||||||
-ldecompose \
|
-ldecompose \
|
||||||
-L$(FOAM_LIBBIN)/dummy -lptscotchDecomp -lscotchDecomp \
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
|
-lkahipDecomp -lmetisDecomp -lptscotchDecomp -lscotchDecomp \
|
||||||
-ldynamicMesh
|
-ldynamicMesh
|
||||||
|
|||||||
@ -18,6 +18,8 @@ EXE_LIBS = \
|
|||||||
-L$(FASTDUALOCTREE_SRC_PATH) -lperf_main \
|
-L$(FASTDUALOCTREE_SRC_PATH) -lperf_main \
|
||||||
-lGL \
|
-lGL \
|
||||||
-lconformalVoronoiMesh \
|
-lconformalVoronoiMesh \
|
||||||
-ldecompositionMethods -L$(FOAM_LIBBIN)/dummy -lscotchDecomp \
|
-ldecompositionMethods \
|
||||||
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
|
-lkahipDecomp -lmetisDecomp -lscotchDecomp \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-ldynamicMesh
|
-ldynamicMesh
|
||||||
|
|||||||
@ -31,4 +31,5 @@ EXE_LIBS = \
|
|||||||
-lsampling \
|
-lsampling \
|
||||||
-ldynamicMesh \
|
-ldynamicMesh \
|
||||||
-ldecompositionMethods \
|
-ldecompositionMethods \
|
||||||
-L$(FOAM_LIBBIN)/dummy -lscotchDecomp -lptscotchDecomp
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
|
-lkahipDecomp -lmetisDecomp -lptscotchDecomp -lscotchDecomp
|
||||||
|
|||||||
@ -13,9 +13,8 @@ EXE_INC = \
|
|||||||
EXE_LIBS = \
|
EXE_LIBS = \
|
||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-ldecompositionMethods \
|
-ldecompositionMethods \
|
||||||
-L$(FOAM_LIBBIN)/dummy -lptscotchDecomp \
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
/* note: scotch < 6.0 does not like both scotch and ptscotch together */ \
|
-lkahipDecomp -lmetisDecomp -lptscotchDecomp -lscotchDecomp \
|
||||||
-lscotchDecomp \
|
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-ldynamicMesh \
|
-ldynamicMesh \
|
||||||
-ldecompose \
|
-ldecompose \
|
||||||
|
|||||||
@ -18,4 +18,5 @@ EXE_LIBS = \
|
|||||||
-lreconstruct \
|
-lreconstruct \
|
||||||
$(LINK_FLAGS) \
|
$(LINK_FLAGS) \
|
||||||
-ldecompositionMethods \
|
-ldecompositionMethods \
|
||||||
-L$(FOAM_LIBBIN)/dummy -lmetisDecomp -lscotchDecomp -lkahipDecomp
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
|
-lkahipDecomp -lmetisDecomp -lscotchDecomp
|
||||||
|
|||||||
@ -12,7 +12,8 @@ EXE_LIBS = \
|
|||||||
-ldecompose \
|
-ldecompose \
|
||||||
-lgenericPatchFields \
|
-lgenericPatchFields \
|
||||||
-ldecompositionMethods \
|
-ldecompositionMethods \
|
||||||
-L$(FOAM_LIBBIN)/dummy -lmetisDecomp -lscotchDecomp -lkahipDecomp \
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
|
-lkahipDecomp -lmetisDecomp -lscotchDecomp \
|
||||||
-llagrangian \
|
-llagrangian \
|
||||||
-ldynamicMesh \
|
-ldynamicMesh \
|
||||||
-lregionModels
|
-lregionModels
|
||||||
|
|||||||
@ -11,7 +11,8 @@ EXE_LIBS = \
|
|||||||
-lfiniteVolume \
|
-lfiniteVolume \
|
||||||
-lgenericPatchFields \
|
-lgenericPatchFields \
|
||||||
-ldecompositionMethods \
|
-ldecompositionMethods \
|
||||||
-L$(FOAM_LIBBIN)/dummy -lptscotchDecomp -lscotchDecomp \
|
-L$(FOAM_LIBBIN)/dummy \
|
||||||
|
-lkahipDecomp -lmetisDecomp -lptscotchDecomp -lscotchDecomp \
|
||||||
-ldecompose \
|
-ldecompose \
|
||||||
-lmeshTools \
|
-lmeshTools \
|
||||||
-llagrangian \
|
-llagrangian \
|
||||||
|
|||||||
@ -181,7 +181,7 @@ Foam::labelList Foam::metisLikeDecomp::decompose
|
|||||||
mesh,
|
mesh,
|
||||||
identity(mesh.nCells()),
|
identity(mesh.nCells()),
|
||||||
mesh.nCells(),
|
mesh.nCells(),
|
||||||
false,
|
true,
|
||||||
cellCells
|
cellCells
|
||||||
);
|
);
|
||||||
|
|
||||||
@ -214,7 +214,14 @@ Foam::labelList Foam::metisLikeDecomp::decompose
|
|||||||
// xadj(celli) : start of information in adjncy for celli
|
// xadj(celli) : start of information in adjncy for celli
|
||||||
|
|
||||||
CompactListList<label> cellCells;
|
CompactListList<label> cellCells;
|
||||||
calcCellCells(mesh, agglom, agglomPoints.size(), false, cellCells);
|
calcCellCells
|
||||||
|
(
|
||||||
|
mesh,
|
||||||
|
agglom,
|
||||||
|
agglomPoints.size(),
|
||||||
|
true,
|
||||||
|
cellCells
|
||||||
|
);
|
||||||
|
|
||||||
// Decompose using default weights
|
// Decompose using default weights
|
||||||
labelList decomp;
|
labelList decomp;
|
||||||
|
|||||||
@ -92,7 +92,9 @@ Foam::label Foam::kahipDecomp::decomposeSerial
|
|||||||
List<int> cellWeights;
|
List<int> cellWeights;
|
||||||
|
|
||||||
// Check for externally provided cellweights and if so initialise weights
|
// Check for externally provided cellweights and if so initialise weights
|
||||||
const scalar minWeights = gMin(cWeights);
|
// Note: min, not gMin since routine runs on master only.
|
||||||
|
const scalar minWeights = min(cWeights);
|
||||||
|
|
||||||
if (!cWeights.empty())
|
if (!cWeights.empty())
|
||||||
{
|
{
|
||||||
if (minWeights <= 0)
|
if (minWeights <= 0)
|
||||||
|
|||||||
@ -77,10 +77,11 @@ Foam::label Foam::metisDecomp::decomposeSerial
|
|||||||
// Face weights (so on the edges of the dual)
|
// Face weights (so on the edges of the dual)
|
||||||
List<label> faceWeights;
|
List<label> faceWeights;
|
||||||
|
|
||||||
|
|
||||||
// Check for externally provided cellweights and if so initialise weights
|
// Check for externally provided cellweights and if so initialise weights
|
||||||
const scalar minWeights = gMin(cWeights);
|
// Note: min, not gMin since routine runs on master only.
|
||||||
if (cWeights.size() > 0)
|
const scalar minWeights = min(cWeights);
|
||||||
|
|
||||||
|
if (!cWeights.empty())
|
||||||
{
|
{
|
||||||
if (minWeights <= 0)
|
if (minWeights <= 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -12,20 +12,21 @@ cd ${0%/*} || exit 1 # Run from this directory
|
|||||||
# Agglomerate patch faces
|
# Agglomerate patch faces
|
||||||
for i in air
|
for i in air
|
||||||
do
|
do
|
||||||
faceAgglomerate -region $i -dict constant/viewFactorsDict > log.faceAgglomerate.$i 2>&1
|
runApplication -s $i \
|
||||||
|
faceAgglomerate -region $i -dict constant/viewFactorsDict
|
||||||
done
|
done
|
||||||
|
|
||||||
# Generate view factors
|
# Generate view factors
|
||||||
for i in air
|
for i in air
|
||||||
do
|
do
|
||||||
viewFactorsGen -region $i > log.viewFactorsGen.$i 2>&1
|
runApplication -s $i \
|
||||||
|
viewFactorsGen -region $i
|
||||||
done
|
done
|
||||||
|
|
||||||
runApplication $(getApplication)
|
runApplication $(getApplication)
|
||||||
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "creating files for paraview post-processing"
|
echo "Creating files for paraview post-processing"
|
||||||
echo
|
echo
|
||||||
paraFoam -touchAll
|
paraFoam -touchAll
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cd ${0%/*} || exit 1 # Run from this directory
|
cd ${0%/*} || exit 1 # Run from this directory
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
|
||||||
# Source tutorial run functions
|
|
||||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
|
||||||
|
|
||||||
# Setup case
|
# Setup case
|
||||||
./Allrun.pre
|
./Allrun.pre
|
||||||
@ -15,18 +13,18 @@ runApplication decomposePar -allRegions -constant
|
|||||||
# Agglomerate patch faces
|
# Agglomerate patch faces
|
||||||
for i in air
|
for i in air
|
||||||
do
|
do
|
||||||
runParallel -s $i -np 4 \
|
runParallel -s $i \
|
||||||
faceAgglomerate -region $i -dict constant/viewFactorsDict
|
faceAgglomerate -region $i -dict constant/viewFactorsDict
|
||||||
done
|
done
|
||||||
|
|
||||||
# Generate view factors
|
# Generate view factors
|
||||||
for i in air
|
for i in air
|
||||||
do
|
do
|
||||||
runParallel -s $i -np 4 \
|
runParallel -s $i \
|
||||||
viewFactorsGen -region $i
|
viewFactorsGen -region $i
|
||||||
done
|
done
|
||||||
|
|
||||||
# set the initial fields
|
# Set the initial fields
|
||||||
restore0Dir
|
restore0Dir
|
||||||
|
|
||||||
runParallel $(getApplication)
|
runParallel $(getApplication)
|
||||||
@ -35,7 +33,7 @@ runParallel $(getApplication)
|
|||||||
runApplication reconstructPar -allRegions
|
runApplication reconstructPar -allRegions
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "creating files for paraview post-processing"
|
echo "Creating files for paraview post-processing"
|
||||||
echo
|
echo
|
||||||
paraFoam -touchAll
|
paraFoam -touchAll
|
||||||
|
|
||||||
|
|||||||
@ -1,30 +1,27 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cd ${0%/*} || exit 1 # Run from this directory
|
cd ${0%/*} || exit 1 # Run from this directory
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
|
||||||
# Source tutorial run functions
|
|
||||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
|
||||||
|
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
runApplication topoSet
|
runApplication topoSet
|
||||||
runApplication splitMeshRegions -cellZones -overwrite
|
runApplication splitMeshRegions -cellZones -overwrite
|
||||||
|
|
||||||
# Remove unwanted region
|
# Remove unwanted region
|
||||||
rm -r 0/domain3
|
rm -rf 0/domain3 constant/domain3 system/domain3
|
||||||
rm -r constant/domain3
|
|
||||||
rm -r system/domain3
|
|
||||||
|
|
||||||
# remove fluid fields from solid regions (important for post-processing)
|
# Remove fluid fields from solid regions (important for post-processing)
|
||||||
for i in solid floor
|
for i in solid floor
|
||||||
do
|
do
|
||||||
rm -f 0*/$i/{rho,mut,alphat,epsilon,k,U,p_rgh,qr,G,IDefault}
|
rm -f 0*/$i/{rho,mut,alphat,epsilon,k,U,p_rgh,qr,G,IDefault}
|
||||||
done
|
done
|
||||||
|
|
||||||
# set the initial fields
|
# Set the initial fields
|
||||||
restore0Dir
|
restore0Dir
|
||||||
|
|
||||||
for i in air solid floor
|
for i in air solid floor
|
||||||
do
|
do
|
||||||
runApplication -s $i changeDictionary -region $i -subDict dictionaryReplacement
|
runApplication -s $i changeDictionary \
|
||||||
|
-region $i -subDict dictionaryReplacement
|
||||||
done
|
done
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -4,11 +4,9 @@ cd ${0%/*} || exit 1 # Run from this directory
|
|||||||
# Source tutorial run functions
|
# Source tutorial run functions
|
||||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
|
||||||
# Setup case
|
# Setup case
|
||||||
./Allrun.pre
|
./Allrun.pre
|
||||||
|
|
||||||
|
|
||||||
#-- Run in parallel
|
#-- Run in parallel
|
||||||
|
|
||||||
# Decompose
|
# Decompose
|
||||||
@ -17,14 +15,14 @@ runApplication decomposePar -allRegions
|
|||||||
# Agglomerate patch faces
|
# Agglomerate patch faces
|
||||||
for i in bottomAir topAir
|
for i in bottomAir topAir
|
||||||
do
|
do
|
||||||
runParallel -s $i -np 4 \
|
runParallel -s $i \
|
||||||
faceAgglomerate -region $i -dict constant/viewFactorsDict
|
faceAgglomerate -region $i -dict constant/viewFactorsDict
|
||||||
done
|
done
|
||||||
|
|
||||||
# Generate view factors
|
# Generate view factors
|
||||||
for i in bottomAir topAir
|
for i in bottomAir topAir
|
||||||
do
|
do
|
||||||
runParallel -s $i -np 4 \
|
runParallel -s $i \
|
||||||
viewFactorsGen -region $i
|
viewFactorsGen -region $i
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -34,9 +32,8 @@ runParallel $(getApplication)
|
|||||||
# Reconstruct
|
# Reconstruct
|
||||||
runApplication reconstructPar -allRegions
|
runApplication reconstructPar -allRegions
|
||||||
|
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "creating files for paraview post-processing"
|
echo "Creating files for paraview post-processing"
|
||||||
echo
|
echo
|
||||||
paraFoam -touchAll
|
paraFoam -touchAll
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cd ${0%/*} || exit 1 # Run from this directory
|
cd ${0%/*} || exit 1 # Run from this directory
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/CleanFunctions # Tutorial clean functions
|
||||||
# Source tutorial clean functions
|
|
||||||
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
|
||||||
|
|
||||||
cleanCase
|
cleanCase
|
||||||
|
|
||||||
# Restore default dictionaries
|
# Restore default dictionaries
|
||||||
cp system/decomposeParDict-2 system/decomposeParDict
|
|
||||||
cp system/controlDict-startTime system/controlDict
|
cp system/controlDict-startTime system/controlDict
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -1,13 +1,10 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
cd ${0%/*} || exit 1 # Run from this directory
|
cd ${0%/*} || exit 1 # Run from this directory
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions # Tutorial run functions
|
||||||
# Source tutorial run functions
|
|
||||||
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
|
||||||
|
|
||||||
runApplication blockMesh
|
runApplication blockMesh
|
||||||
|
|
||||||
#cp system/decomposeParDict-2 system/decomposeParDict
|
decompDict5="-decomposeParDict system/decomposeParDict-5"
|
||||||
#runApplication decomposePar
|
|
||||||
|
|
||||||
# redistributePar to do decomposition
|
# redistributePar to do decomposition
|
||||||
runParallel -s decompose redistributePar -decompose
|
runParallel -s decompose redistributePar -decompose
|
||||||
@ -25,15 +22,12 @@ runParallel -s random icoFoam
|
|||||||
cp system/controlDict-latestTime system/controlDict
|
cp system/controlDict-latestTime system/controlDict
|
||||||
|
|
||||||
# Redistribute to 5 processors
|
# Redistribute to 5 processors
|
||||||
runParallel -s 5 -np 5 redistributePar \
|
runParallel -s 5 $decompDict5 redistributePar -cellDist
|
||||||
-decomposeParDict system/decomposeParDict-5 -cellDist
|
|
||||||
|
|
||||||
# Run a bit more
|
# Run a bit more
|
||||||
runParallel -s 5 -np 5 icoFoam \
|
runParallel -s 5 $decompDict5 icoFoam
|
||||||
-decomposeParDict system/decomposeParDict-5
|
|
||||||
|
|
||||||
# Reconstruct mesh and results
|
# Reconstruct mesh and results
|
||||||
runParallel -s reconstruct -np 5 redistributePar -reconstruct
|
runParallel -s reconstruct -np 5 redistributePar -reconstruct
|
||||||
|
|
||||||
|
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|||||||
@ -43,13 +43,14 @@ numberOfSubdomains 2;
|
|||||||
// for a balanced number of particles in a lagrangian simulation.
|
// for a balanced number of particles in a lagrangian simulation.
|
||||||
// weightField dsmcRhoNMean;
|
// weightField dsmcRhoNMean;
|
||||||
|
|
||||||
method scotch;
|
method scotch;
|
||||||
//method hierarchical;
|
// method kahip;
|
||||||
// method simple;
|
// method metis;
|
||||||
// method metis;
|
// method hierarchical;
|
||||||
// method manual;
|
// method simple;
|
||||||
// method multiLevel;
|
// method manual;
|
||||||
// method structured; // does 2D decomposition of structured mesh
|
// method multiLevel;
|
||||||
|
// method structured; // does 2D decomposition of structured mesh
|
||||||
|
|
||||||
multiLevelCoeffs
|
multiLevelCoeffs
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,143 +0,0 @@
|
|||||||
/*--------------------------------*- C++ -*----------------------------------*\
|
|
||||||
| ========= | |
|
|
||||||
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
|
||||||
| \\ / O peration | Version: plus |
|
|
||||||
| \\ / A nd | Web: www.OpenFOAM.com |
|
|
||||||
| \\/ M anipulation | |
|
|
||||||
\*---------------------------------------------------------------------------*/
|
|
||||||
FoamFile
|
|
||||||
{
|
|
||||||
version 2.0;
|
|
||||||
format ascii;
|
|
||||||
class dictionary;
|
|
||||||
note "mesh decomposition control dictionary";
|
|
||||||
object decomposeParDict;
|
|
||||||
}
|
|
||||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
|
||||||
|
|
||||||
numberOfSubdomains 2;
|
|
||||||
|
|
||||||
//- Keep owner and neighbour on same processor for faces in zones:
|
|
||||||
// preserveFaceZones (heater solid1 solid3);
|
|
||||||
|
|
||||||
//- Keep owner and neighbour on same processor for faces in patches:
|
|
||||||
// (makes sense only for cyclic patches)
|
|
||||||
//preservePatches (cyclic_half0 cyclic_half1);
|
|
||||||
|
|
||||||
//- Keep all of faceSet on a single processor. This puts all cells
|
|
||||||
// connected with a point, edge or face on the same processor.
|
|
||||||
// (just having face connected cells might not guarantee a balanced
|
|
||||||
// decomposition)
|
|
||||||
// The processor can be -1 (the decompositionMethod chooses the processor
|
|
||||||
// for a good load balance) or explicitly provided (upsets balance).
|
|
||||||
//singleProcessorFaceSets ((f0 -1));
|
|
||||||
|
|
||||||
|
|
||||||
//- Keep owner and neighbour of baffles on same processor (i.e. keep it
|
|
||||||
// detectable as a baffle). Baffles are two boundary face sharing the
|
|
||||||
// same points.
|
|
||||||
//preserveBaffles true;
|
|
||||||
|
|
||||||
//- Use the volScalarField named here as a weight for each cell in the
|
|
||||||
// decomposition. For example, use a particle population field to decompose
|
|
||||||
// for a balanced number of particles in a lagrangian simulation.
|
|
||||||
// weightField dsmcRhoNMean;
|
|
||||||
|
|
||||||
method scotch;
|
|
||||||
//method hierarchical;
|
|
||||||
// method simple;
|
|
||||||
// method metis;
|
|
||||||
// method manual;
|
|
||||||
// method multiLevel;
|
|
||||||
// method structured; // does 2D decomposition of structured mesh
|
|
||||||
|
|
||||||
multiLevelCoeffs
|
|
||||||
{
|
|
||||||
// Decomposition methods to apply in turn. This is like hierarchical but
|
|
||||||
// fully general - every method can be used at every level.
|
|
||||||
|
|
||||||
level0
|
|
||||||
{
|
|
||||||
numberOfSubdomains 64;
|
|
||||||
//method simple;
|
|
||||||
//simpleCoeffs
|
|
||||||
//{
|
|
||||||
// n (2 1 1);
|
|
||||||
// delta 0.001;
|
|
||||||
//}
|
|
||||||
method scotch;
|
|
||||||
}
|
|
||||||
level1
|
|
||||||
{
|
|
||||||
numberOfSubdomains 4;
|
|
||||||
method scotch;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Desired output
|
|
||||||
|
|
||||||
simpleCoeffs
|
|
||||||
{
|
|
||||||
n (2 1 1);
|
|
||||||
delta 0.001;
|
|
||||||
}
|
|
||||||
|
|
||||||
hierarchicalCoeffs
|
|
||||||
{
|
|
||||||
n (1 2 1);
|
|
||||||
delta 0.001;
|
|
||||||
order xyz;
|
|
||||||
}
|
|
||||||
|
|
||||||
metisCoeffs
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
processorWeights
|
|
||||||
(
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
1
|
|
||||||
);
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
scotchCoeffs
|
|
||||||
{
|
|
||||||
//processorWeights
|
|
||||||
//(
|
|
||||||
// 1
|
|
||||||
// 1
|
|
||||||
// 1
|
|
||||||
// 1
|
|
||||||
//);
|
|
||||||
//writeGraph true;
|
|
||||||
//strategy "b";
|
|
||||||
}
|
|
||||||
|
|
||||||
manualCoeffs
|
|
||||||
{
|
|
||||||
dataFile "decompositionData";
|
|
||||||
}
|
|
||||||
|
|
||||||
structuredCoeffs
|
|
||||||
{
|
|
||||||
// Patches to do 2D decomposition on. Structured mesh only; cells have
|
|
||||||
// to be in 'columns' on top of patches.
|
|
||||||
patches (movingWall);
|
|
||||||
|
|
||||||
// Method to use on the 2D subset
|
|
||||||
method scotch;
|
|
||||||
}
|
|
||||||
|
|
||||||
//// Is the case distributed? Note: command-line argument -roots takes
|
|
||||||
//// precedence
|
|
||||||
//distributed yes;
|
|
||||||
//// Per slave (so nProcs-1 entries) the directory above the case.
|
|
||||||
//roots
|
|
||||||
//(
|
|
||||||
// "/tmp"
|
|
||||||
// "/tmp"
|
|
||||||
//);
|
|
||||||
|
|
||||||
// ************************************************************************* //
|
|
||||||
@ -43,13 +43,14 @@ numberOfSubdomains 5;
|
|||||||
// for a balanced number of particles in a lagrangian simulation.
|
// for a balanced number of particles in a lagrangian simulation.
|
||||||
// weightField dsmcRhoNMean;
|
// weightField dsmcRhoNMean;
|
||||||
|
|
||||||
method scotch;
|
method scotch;
|
||||||
//method hierarchical;
|
// method kahip;
|
||||||
// method simple;
|
// method metis;
|
||||||
// method metis;
|
// method hierarchical;
|
||||||
// method manual;
|
// method simple;
|
||||||
// method multiLevel;
|
// method manual;
|
||||||
// method structured; // does 2D decomposition of structured mesh
|
// method multiLevel;
|
||||||
|
// method structured; // does 2D decomposition of structured mesh
|
||||||
|
|
||||||
multiLevelCoeffs
|
multiLevelCoeffs
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user