ENH: channel395: run in parallel. Tests processorCyclic.

This commit is contained in:
mattijs
2012-11-08 12:00:40 +00:00
parent 74cb846be1
commit 2a686dc44c
3 changed files with 152 additions and 1 deletions

View File

@ -8,7 +8,15 @@ cd ${0%/*} || exit 1 # run from this directory
application=`getApplication`
runApplication blockMesh
runApplication $application
#- Run serial
#runApplication $application
#- Run parallel
runApplication decomposePar -cellDist
runParallel $application 5
runApplication reconstructPar
runApplication postChannel
# ----------------------------------------------------------------- end-of-file

View File

@ -32,6 +32,7 @@ FoamFile
sides1_half0
{
type cyclic;
inGroups 1(cyclic);
nFaces 1000;
startFace 177700;
matchTolerance 0.0001;
@ -40,6 +41,7 @@ FoamFile
sides1_half1
{
type cyclic;
inGroups 1(cyclic);
nFaces 1000;
startFace 178700;
matchTolerance 0.0001;
@ -48,6 +50,7 @@ FoamFile
sides2_half0
{
type cyclic;
inGroups 1(cyclic);
nFaces 1000;
startFace 179700;
matchTolerance 0.0001;
@ -56,6 +59,7 @@ FoamFile
sides2_half1
{
type cyclic;
inGroups 1(cyclic);
nFaces 1000;
startFace 180700;
matchTolerance 0.0001;
@ -64,6 +68,7 @@ FoamFile
inout1_half0
{
type cyclic;
inGroups 1(cyclic);
nFaces 750;
startFace 181700;
matchTolerance 0.0001;
@ -72,6 +77,7 @@ FoamFile
inout1_half1
{
type cyclic;
inGroups 1(cyclic);
nFaces 750;
startFace 182450;
matchTolerance 0.0001;
@ -80,6 +86,7 @@ FoamFile
inout2_half0
{
type cyclic;
inGroups 1(cyclic);
nFaces 750;
startFace 183200;
matchTolerance 0.0001;
@ -88,6 +95,7 @@ FoamFile
inout2_half1
{
type cyclic;
inGroups 1(cyclic);
nFaces 750;
startFace 183950;
matchTolerance 0.0001;

View File

@ -0,0 +1,135 @@
/*--------------------------------*- 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;
note "mesh decomposition control dictionary";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 5;
//- 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));
//- 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 (bottomPatch);
}
//// 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"
//);
// ************************************************************************* //