Merge branch 'master' of ssh://dm/home/dm4/OpenFOAM/OpenFOAM-dev

This commit is contained in:
Henry
2012-11-14 16:00:13 +00:00
40 changed files with 1087 additions and 324 deletions

View File

@ -31,7 +31,7 @@ vertices
blocks
(
hex (0 1 2 3 4 5 6 7) (20 20 20) simpleGrading (1 1 1)
hex (0 1 2 3 4 5 6 7) (20 20 10) simpleGrading (1 1 1)
);
edges

View File

@ -42,38 +42,6 @@ geometry
max (1 1 1);
}
fridgeFreezer
{
type searchableSurfaceCollection;
mergeSubRegions true;
freezer
{
surface box1;
scale (1 1 1);
transform
{
type cartesian;
origin (0 0 0);
e1 (1 0 0);
e3 (0 0 1);
}
}
fridge
{
surface box1;
scale (1 1 1.1);
transform
{
type cartesian;
origin (0 0 1);
e1 (1 0 0);
e3 (0 0 1);
}
}
}
twoFridgeFreezers
{
type searchableSurfaceCollection;
@ -150,7 +118,7 @@ castellatedMeshControls
(
{
file "fridgeA.eMesh";
level 3;
levels ((0.01 3));
}
);

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"
//);
// ************************************************************************* //

View File

@ -6,6 +6,7 @@ cd ${0%/*} || exit 1 # run from this directory
# copy motorbike surface from resources folder
cp $FOAM_TUTORIALS/resources/geometry/motorBike.obj.gz constant/triSurface/
runApplication surfaceFeatureExtract
runApplication blockMesh
@ -19,6 +20,7 @@ runParallel snappyHexMesh 6 -overwrite
ls -d processor* | xargs -i rm -rf ./{}/0 $1
ls -d processor* | xargs -i cp -r 0.org ./{}/0 $1
runParallel patchSummary 6
runParallel potentialFoam 6 -noFunctionObjects -writep
runParallel `getApplication` 6

View File

@ -90,10 +90,10 @@ castellatedMeshControls
// This is a featureEdgeMesh, read from constant/triSurface for now.
features
(
//{
// file "someLine.eMesh";
// level 2;
//}
{
file "motorBike.eMesh";
level 0;
}
);
@ -189,10 +189,21 @@ snapControls
// before upon reaching a correct mesh.
nRelaxIter 5;
//- Highly experimental and wip: number of feature edge snapping
// iterations. Leave out altogether to disable.
// Do not use here since mesh resolution too low and baffles present
//nFeatureSnapIter 10;
// Feature snapping
//- Number of feature edge snapping iterations.
// Leave out altogether to disable.
nFeatureSnapIter 10;
//- Detect (geometric only) features by sampling the surface
// (default=false).
implicitFeatureSnap false;
//- Use castellatedMeshControls::features (default = true)
explicitFeatureSnap true;
//- Detect points on multiple surfaces (only for explicitFeatureSnap)
multiRegionFeatureSnap true;
}
@ -239,7 +250,11 @@ addLayersControls
//- When not to extrude surface. 0 is flat surface, 90 is when two faces
// make straight angle.
featureAngle 30;
featureAngle 60;
//- At non-patched sides allow mesh to slip if extrusion direction makes
// angle larger than slipFeatureAngle.
slipFeatureAngle 30;
//- Maximum number of snapping relaxation iterations. Should stop
// before upon reaching a correct mesh.

View File

@ -13,9 +13,6 @@ runApplication blockMesh
#setSet -batch system/sets.setSet > log.setSet1 2>&1
runApplication topoSet
# convert sets to zones
setsToZones -noFlipMap > log.setsToZones 2>&1
# create the first cyclic - lhs of porous zone
# Note that we don't know what value to give these patches-out-of-nothing so
# - use binary writing to avoid 'nan'

View File

@ -28,6 +28,17 @@ actions
box (1.5 -10 -10) (2 10 10);
}
}
{
name filter;
type cellZoneSet;
action new;
source setToCellZone;
sourceInfo
{
set filter;
}
}
{
name leftFluid;
@ -39,6 +50,16 @@ actions
box (-10 -10 -10) (1.5 10 10);
}
}
{
name leftFluid;
type cellZoneSet;
action new;
source setToCellZone;
sourceInfo
{
set leftFluid;
}
}
{
name rightFluid;
type cellSet;
@ -49,6 +70,16 @@ actions
box (2 -1 -1) (10 10 10);
}
}
{
name rightFluid;
type cellZoneSet;
action new;
source setToCellZone;
sourceInfo
{
set rightFluid;
}
}
// cycLeft
@ -74,6 +105,17 @@ actions
option all;
}
}
// Create faceZone from cycLeft
{
name cycLeft;
type faceZoneSet;
action new;
source setToFaceZone;
sourceInfo
{
faceSet cycLeft; // name of faceSet
}
}
// cycRight
{
@ -98,6 +140,18 @@ actions
option all;
}
}
// Create faceZone from cycRight
{
name cycRight;
type faceZoneSet;
action new;
source setToFaceZone;
sourceInfo
{
faceSet cycRight; // name of faceSet
}
}
);
// ************************************************************************* //