mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: mapDistributePolyMesh: new test app
This commit is contained in:
3
applications/test/mapDistributePolyMesh/Make/files
Normal file
3
applications/test/mapDistributePolyMesh/Make/files
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
Test-mapDistributePolyMesh.C
|
||||||
|
EXE = $(FOAM_USER_APPBIN)/Test-mapDistributePolyMesh
|
||||||
|
|
||||||
9
applications/test/mapDistributePolyMesh/Make/options
Normal file
9
applications/test/mapDistributePolyMesh/Make/options
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
EXE_INC = \
|
||||||
|
-I$(LIB_SRC)/meshTools/lnInclude \
|
||||||
|
-I$(LIB_SRC)/finiteVolume/lnInclude \
|
||||||
|
-I$(LIB_SRC)/dynamicMesh/lnInclude
|
||||||
|
|
||||||
|
EXE_LIBS = \
|
||||||
|
-lfiniteVolume \
|
||||||
|
-ldynamicMesh \
|
||||||
|
-lmeshTools
|
||||||
@ -0,0 +1,149 @@
|
|||||||
|
/*---------------------------------------------------------------------------*\
|
||||||
|
========= |
|
||||||
|
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||||
|
\\ / O peration |
|
||||||
|
\\ / A nd | Copyright (C) 2017 OpenCFD Ltd.
|
||||||
|
\\/ M anipulation |
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
License
|
||||||
|
This file is part of OpenFOAM.
|
||||||
|
|
||||||
|
OpenFOAM is free software: you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
|
||||||
|
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Application
|
||||||
|
mapDistributePolyMesh
|
||||||
|
|
||||||
|
Description
|
||||||
|
Test for procAddressing
|
||||||
|
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
#include "IOmapDistributePolyMesh.H"
|
||||||
|
#include "argList.H"
|
||||||
|
#include "Time.H"
|
||||||
|
#include "surfaceFields.H"
|
||||||
|
#include "flipOp.H"
|
||||||
|
|
||||||
|
using namespace Foam;
|
||||||
|
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
int main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
#include "setRootCase.H"
|
||||||
|
#include "createTime.H"
|
||||||
|
#include "createMesh.H"
|
||||||
|
|
||||||
|
Info<< "Reading distribute map\n" << endl;
|
||||||
|
|
||||||
|
const word instance("0.005");
|
||||||
|
const scalar instanceValue(0.005);
|
||||||
|
|
||||||
|
|
||||||
|
IOobject io
|
||||||
|
(
|
||||||
|
"procAddressing",
|
||||||
|
instance,
|
||||||
|
fvMesh::meshSubDir,
|
||||||
|
mesh,
|
||||||
|
IOobject::MUST_READ,
|
||||||
|
IOobject::NO_WRITE,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
|
||||||
|
IOmapDistributePolyMesh map(io);
|
||||||
|
|
||||||
|
{
|
||||||
|
// Load the instance mesh
|
||||||
|
runTime.setTime(instanceValue, 0);
|
||||||
|
polyMesh distributedMesh
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
polyMesh::defaultRegion,
|
||||||
|
instance,
|
||||||
|
runTime,
|
||||||
|
IOobject::MUST_READ
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Faces, no flip
|
||||||
|
{
|
||||||
|
const mapDistribute& faceMap = map.faceMap();
|
||||||
|
pointField fc(mesh.faceCentres());
|
||||||
|
faceMap.distribute(fc, noOp());
|
||||||
|
Pout<< "Construct size:" << faceMap.constructSize() << endl;
|
||||||
|
forAll(distributedMesh.faceCentres(), facei)
|
||||||
|
{
|
||||||
|
Pout<< "face:" << facei
|
||||||
|
<< "\tmappedFc:" << fc[facei]
|
||||||
|
<< "\tactual:" << distributedMesh.faceCentres()[facei]
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Faces, flipped field
|
||||||
|
{
|
||||||
|
const mapDistribute& faceMap = map.faceMap();
|
||||||
|
scalarField flux(mesh.faceAreas() & vector(1, 1, 1));
|
||||||
|
faceMap.distribute(flux, flipOp());
|
||||||
|
Pout<< "Construct size:" << faceMap.constructSize() << endl;
|
||||||
|
const scalarField newFlux
|
||||||
|
(
|
||||||
|
distributedMesh.faceAreas()
|
||||||
|
& vector(1, 1, 1)
|
||||||
|
);
|
||||||
|
forAll(newFlux, facei)
|
||||||
|
{
|
||||||
|
Pout<< "face:" << facei
|
||||||
|
<< "\tmappedFlux:" << flux[facei]
|
||||||
|
<< "\tactual:" << newFlux[facei]
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{
|
||||||
|
const mapDistribute& cellMap = map.cellMap();
|
||||||
|
pointField cc(mesh.cellCentres());
|
||||||
|
cellMap.distribute(cc, noOp());
|
||||||
|
Pout<< "Construct size:" << cellMap.constructSize() << endl;
|
||||||
|
forAll(distributedMesh.cellCentres(), celli)
|
||||||
|
{
|
||||||
|
Pout<< "cell:" << celli
|
||||||
|
<< "\tmappedCc:" << cc[celli]
|
||||||
|
<< "\tactual:" << distributedMesh.cellCentres()[celli]
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
const mapDistribute& pointMap = map.pointMap();
|
||||||
|
pointField pc(mesh.points());
|
||||||
|
pointMap.distribute(pc, noOp());
|
||||||
|
Pout<< "Construct size:" << pointMap.constructSize() << endl;
|
||||||
|
forAll(distributedMesh.points(), pointi)
|
||||||
|
{
|
||||||
|
Pout<< "point:" << pointi
|
||||||
|
<< "\tmappedPoint:" << pc[pointi]
|
||||||
|
<< "\tactual:" << distributedMesh.points()[pointi]
|
||||||
|
<< endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Info<< "End\n" << endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
41
applications/test/mapDistributePolyMesh/cavity/0/U
Normal file
41
applications/test/mapDistributePolyMesh/cavity/0/U
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
/*--------------------------------*- 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 volVectorField;
|
||||||
|
object U;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 1 -1 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform (1 1 0);
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
movingWall
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (1 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
fixedWalls
|
||||||
|
{
|
||||||
|
type fixedValue;
|
||||||
|
value uniform (0 0 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
39
applications/test/mapDistributePolyMesh/cavity/0/p
Normal file
39
applications/test/mapDistributePolyMesh/cavity/0/p
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
/*--------------------------------*- 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 volScalarField;
|
||||||
|
object p;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 2 -2 0 0 0 0];
|
||||||
|
|
||||||
|
internalField uniform 0;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
movingWall
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
fixedWalls
|
||||||
|
{
|
||||||
|
type zeroGradient;
|
||||||
|
}
|
||||||
|
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
228
applications/test/mapDistributePolyMesh/cavity/0/phi
Normal file
228
applications/test/mapDistributePolyMesh/cavity/0/phi
Normal file
@ -0,0 +1,228 @@
|
|||||||
|
/*--------------------------------*- C++ -*----------------------------------*\
|
||||||
|
| ========= | |
|
||||||
|
| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |
|
||||||
|
| \\ / O peration | Version: plus.feature-oriented-fields |
|
||||||
|
| \\ / A nd | Web: www.OpenFOAM.com |
|
||||||
|
| \\/ M anipulation | |
|
||||||
|
\*---------------------------------------------------------------------------*/
|
||||||
|
FoamFile
|
||||||
|
{
|
||||||
|
version 2.0;
|
||||||
|
format ascii;
|
||||||
|
class surfaceScalarField;
|
||||||
|
location "0";
|
||||||
|
object fluxU;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
dimensions [0 3 -1 0 0 0 0];
|
||||||
|
oriented 1;
|
||||||
|
|
||||||
|
|
||||||
|
internalField nonuniform List<scalar>
|
||||||
|
180
|
||||||
|
(
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
0.0001
|
||||||
|
)
|
||||||
|
;
|
||||||
|
|
||||||
|
boundaryField
|
||||||
|
{
|
||||||
|
movingWall
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
fixedWalls
|
||||||
|
{
|
||||||
|
type calculated;
|
||||||
|
value uniform 0;
|
||||||
|
}
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
value nonuniform 0();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
13
applications/test/mapDistributePolyMesh/cavity/Allclean
Executable file
13
applications/test/mapDistributePolyMesh/cavity/Allclean
Executable file
@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd ${0%/*} || exit 1 # Run from this directory
|
||||||
|
|
||||||
|
# Source tutorial clean functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/CleanFunctions
|
||||||
|
|
||||||
|
cleanCase
|
||||||
|
|
||||||
|
# Restore default dictionaries
|
||||||
|
cp system/decomposeParDict-2 system/decomposeParDict
|
||||||
|
cp system/controlDict-startTime system/controlDict
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
17
applications/test/mapDistributePolyMesh/cavity/Allrun
Executable file
17
applications/test/mapDistributePolyMesh/cavity/Allrun
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
cd ${0%/*} || exit 1 # Run from this directory
|
||||||
|
|
||||||
|
# Source tutorial run functions
|
||||||
|
. $WM_PROJECT_DIR/bin/tools/RunFunctions
|
||||||
|
|
||||||
|
runApplication blockMesh
|
||||||
|
|
||||||
|
runApplication decomposePar -decomposeParDict system/decomposeParDict-2
|
||||||
|
|
||||||
|
runParallel -s scotch -np 5 redistributePar \
|
||||||
|
-decomposeParDict system/decomposeParDict-5
|
||||||
|
|
||||||
|
runParallel -np 5 Test-mapDistributePolyMesh \
|
||||||
|
-decomposeParDict system/decomposeParDict-5
|
||||||
|
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
@ -0,0 +1,21 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
location "constant";
|
||||||
|
object transportProperties;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
nu nu [ 0 2 -1 0 0 0 0 ] 0.01;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,75 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
object blockMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
convertToMeters 0.1;
|
||||||
|
|
||||||
|
vertices
|
||||||
|
(
|
||||||
|
(0 0 0)
|
||||||
|
(1 0 0)
|
||||||
|
(1 1 0)
|
||||||
|
(0 1 0)
|
||||||
|
(0 0 0.1)
|
||||||
|
(1 0 0.1)
|
||||||
|
(1 1 0.1)
|
||||||
|
(0 1 0.1)
|
||||||
|
);
|
||||||
|
|
||||||
|
blocks
|
||||||
|
(
|
||||||
|
hex (0 1 2 3 4 5 6 7) (10 10 1) simpleGrading (1 1 1)
|
||||||
|
);
|
||||||
|
|
||||||
|
edges
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
boundary
|
||||||
|
(
|
||||||
|
movingWall
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(3 7 6 2)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
fixedWalls
|
||||||
|
{
|
||||||
|
type wall;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(0 4 7 3)
|
||||||
|
(2 6 5 1)
|
||||||
|
(1 5 4 0)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
frontAndBack
|
||||||
|
{
|
||||||
|
type empty;
|
||||||
|
faces
|
||||||
|
(
|
||||||
|
(0 3 2 1)
|
||||||
|
(4 5 6 7)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
mergePatchPairs
|
||||||
|
(
|
||||||
|
);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
location "system";
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
application icoFoam;
|
||||||
|
|
||||||
|
startFrom startTime;
|
||||||
|
|
||||||
|
startTime 0;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 0.5;
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl timeStep;
|
||||||
|
|
||||||
|
writeInterval 20;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression off;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable true;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
location "system";
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
application icoFoam;
|
||||||
|
|
||||||
|
startFrom latestTime;
|
||||||
|
|
||||||
|
startTime 0;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 1.0;
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl timeStep;
|
||||||
|
|
||||||
|
writeInterval 20;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression off;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable true;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,49 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
location "system";
|
||||||
|
object controlDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
application icoFoam;
|
||||||
|
|
||||||
|
startFrom startTime;
|
||||||
|
|
||||||
|
startTime 0;
|
||||||
|
|
||||||
|
stopAt endTime;
|
||||||
|
|
||||||
|
endTime 0.5;
|
||||||
|
|
||||||
|
deltaT 0.005;
|
||||||
|
|
||||||
|
writeControl timeStep;
|
||||||
|
|
||||||
|
writeInterval 20;
|
||||||
|
|
||||||
|
purgeWrite 0;
|
||||||
|
|
||||||
|
writeFormat ascii;
|
||||||
|
|
||||||
|
writePrecision 6;
|
||||||
|
|
||||||
|
writeCompression off;
|
||||||
|
|
||||||
|
timeFormat general;
|
||||||
|
|
||||||
|
timePrecision 6;
|
||||||
|
|
||||||
|
runTimeModifiable true;
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,143 @@
|
|||||||
|
/*--------------------------------*- 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"
|
||||||
|
//);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,143 @@
|
|||||||
|
/*--------------------------------*- 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"
|
||||||
|
//);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,143 @@
|
|||||||
|
/*--------------------------------*- 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 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));
|
||||||
|
|
||||||
|
|
||||||
|
//- 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"
|
||||||
|
//);
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,29 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
|
||||||
|
method hierarchical;
|
||||||
|
|
||||||
|
hierarchicalCoeffs
|
||||||
|
{
|
||||||
|
n (1 2 1);
|
||||||
|
delta 0.001;
|
||||||
|
order xyz;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,28 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
|
||||||
|
//method scotch;
|
||||||
|
method hierarchical;
|
||||||
|
hierarchicalCoeffs
|
||||||
|
{
|
||||||
|
n (2 1 1);
|
||||||
|
delta 0.001;
|
||||||
|
order xyz;
|
||||||
|
}
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,51 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
location "system";
|
||||||
|
object fvSchemes;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
ddtSchemes
|
||||||
|
{
|
||||||
|
default Euler;
|
||||||
|
}
|
||||||
|
|
||||||
|
gradSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear;
|
||||||
|
grad(p) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
divSchemes
|
||||||
|
{
|
||||||
|
default none;
|
||||||
|
div(phi,U) Gauss linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
laplacianSchemes
|
||||||
|
{
|
||||||
|
default Gauss linear orthogonal;
|
||||||
|
}
|
||||||
|
|
||||||
|
interpolationSchemes
|
||||||
|
{
|
||||||
|
default linear;
|
||||||
|
}
|
||||||
|
|
||||||
|
snGradSchemes
|
||||||
|
{
|
||||||
|
default orthogonal;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
location "system";
|
||||||
|
object fvSolution;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
solvers
|
||||||
|
{
|
||||||
|
"(p|pFinal)"
|
||||||
|
{
|
||||||
|
solver PCG;
|
||||||
|
preconditioner DIC;
|
||||||
|
tolerance 1e-06;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
U
|
||||||
|
{
|
||||||
|
solver smoothSolver;
|
||||||
|
smoother symGaussSeidel;
|
||||||
|
tolerance 1e-05;
|
||||||
|
relTol 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
PISO
|
||||||
|
{
|
||||||
|
nCorrectors 2;
|
||||||
|
nNonOrthogonalCorrectors 0;
|
||||||
|
pRefCell 0;
|
||||||
|
pRefValue 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
/*--------------------------------*- 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;
|
||||||
|
object postProcessingDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
functions
|
||||||
|
{
|
||||||
|
processorField
|
||||||
|
{
|
||||||
|
// Type of functionObject
|
||||||
|
type processorField;
|
||||||
|
|
||||||
|
// Where to load it from (if not already in solver)
|
||||||
|
libs ("libfieldFunctionObjects.so");
|
||||||
|
|
||||||
|
// Function object enabled flag
|
||||||
|
enabled true;
|
||||||
|
|
||||||
|
// When to output the average fields
|
||||||
|
writeControl writeTime;
|
||||||
|
}
|
||||||
|
cellID
|
||||||
|
{
|
||||||
|
// Load the library containing the 'coded' functionObject
|
||||||
|
functionObjectLibs ("libutilityFunctionObjects.so");
|
||||||
|
type coded;
|
||||||
|
// Name of on-the-fly generated functionObject
|
||||||
|
redirectType cellID;
|
||||||
|
codeExecute
|
||||||
|
#{
|
||||||
|
volScalarField cellID
|
||||||
|
(
|
||||||
|
IOobject
|
||||||
|
(
|
||||||
|
"cellID",
|
||||||
|
mesh().time().timeName(),
|
||||||
|
mesh(),
|
||||||
|
IOobject::NO_READ
|
||||||
|
),
|
||||||
|
mesh(),
|
||||||
|
dimensionedScalar("cellID", dimless, 0)
|
||||||
|
);
|
||||||
|
forAll(cellID, celli)
|
||||||
|
{
|
||||||
|
cellID[celli] = celli;
|
||||||
|
}
|
||||||
|
cellID.correctBoundaryConditions();
|
||||||
|
cellID.write();
|
||||||
|
#};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
@ -0,0 +1,112 @@
|
|||||||
|
/*--------------------------------*- 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 renumbering dictionary";
|
||||||
|
object renumberMeshDict;
|
||||||
|
}
|
||||||
|
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||||
|
|
||||||
|
// Write maps from renumbered back to original mesh
|
||||||
|
writeMaps true;
|
||||||
|
|
||||||
|
// Optional entry: sort cells on coupled boundaries to last for use with
|
||||||
|
// e.g. nonBlockingGaussSeidel.
|
||||||
|
sortCoupledFaceCells false;
|
||||||
|
|
||||||
|
// Optional entry: renumber on a block-by-block basis. It uses a
|
||||||
|
// blockCoeffs dictionary to construct a decompositionMethod to do
|
||||||
|
// a block subdivision) and then applies the renumberMethod to each
|
||||||
|
// block in turn. This can be used in large cases to keep the blocks
|
||||||
|
// fitting in cache with all the the cache misses bunched at the end.
|
||||||
|
// This number is the approximate size of the blocks - this gets converted
|
||||||
|
// to a number of blocks that is the input to the decomposition method.
|
||||||
|
//blockSize 1000;
|
||||||
|
|
||||||
|
// Optional entry: sort points into internal and boundary points
|
||||||
|
//orderPoints false;
|
||||||
|
|
||||||
|
// Optional: suppress renumbering cellSets,faceSets,pointSets
|
||||||
|
//renumberSets false;
|
||||||
|
|
||||||
|
|
||||||
|
//method CuthillMcKee;
|
||||||
|
//method Sloan;
|
||||||
|
//method manual;
|
||||||
|
method random;
|
||||||
|
//method structured;
|
||||||
|
//method spring;
|
||||||
|
//method zoltan; // only if compiled with zoltan support
|
||||||
|
|
||||||
|
//CuthillMcKeeCoeffs
|
||||||
|
//{
|
||||||
|
// // Reverse CuthillMcKee (RCM) or plain
|
||||||
|
// reverse true;
|
||||||
|
//}
|
||||||
|
|
||||||
|
manualCoeffs
|
||||||
|
{
|
||||||
|
// In system directory: new-to-original (i.e. order) labelIOList
|
||||||
|
dataFile "cellMap";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// For extruded (i.e. structured in one direction) meshes
|
||||||
|
structuredCoeffs
|
||||||
|
{
|
||||||
|
// Patches that mesh was extruded from. These determine the starting
|
||||||
|
// layer of cells
|
||||||
|
patches (movingWall);
|
||||||
|
// Method to renumber the starting layer of cells
|
||||||
|
method random;
|
||||||
|
|
||||||
|
// Renumber in columns (depthFirst) or in layers
|
||||||
|
depthFirst true;
|
||||||
|
|
||||||
|
// Reverse ordering
|
||||||
|
reverse false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
springCoeffs
|
||||||
|
{
|
||||||
|
// Maximum jump of cell indices. Is fraction of number of cells
|
||||||
|
maxCo 0.01;
|
||||||
|
|
||||||
|
// Limit the amount of movement; the fraction maxCo gets decreased
|
||||||
|
// with every iteration
|
||||||
|
freezeFraction 0.999;
|
||||||
|
|
||||||
|
// Maximum number of iterations
|
||||||
|
maxIter 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
blockCoeffs
|
||||||
|
{
|
||||||
|
method scotch;
|
||||||
|
//method hierarchical;
|
||||||
|
//hierarchicalCoeffs
|
||||||
|
//{
|
||||||
|
// n (1 2 1);
|
||||||
|
// delta 0.001;
|
||||||
|
// order xyz;
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
zoltanCoeffs
|
||||||
|
{
|
||||||
|
ORDER_METHOD LOCAL_HSFC;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// ************************************************************************* //
|
||||||
Reference in New Issue
Block a user