TUT: DMD: update cylinder2D with new DMD functionalities

This commit is contained in:
Kutalmis Bercin 2021-04-12 09:54:43 +01:00 committed by Andrew Heather
parent 2a8e1c0865
commit 2c74298891
76 changed files with 963 additions and 203 deletions

View File

@ -36,7 +36,7 @@ boundaryField
type symmetry;
}
"left|right"
"(left|right)"
{
type empty;
}

View File

@ -36,7 +36,7 @@ boundaryField
type symmetry;
}
"left|right"
"(left|right)"
{
type empty;
}

View File

@ -13,15 +13,24 @@ runParallel renumberMesh -overwrite
cp -f system/decomposeParDict system/coarseMesh
runApplication -s coarseMesh decomposePar -region coarseMesh
runApplication -s coarseMesh \
decomposePar -region coarseMesh
runParallel -s coarseMesh renumberMesh -overwrite -region coarseMesh
runParallel -s coarseMesh \
renumberMesh -overwrite -region coarseMesh
runParallel $(getApplication)
runParallel -s main redistributePar -reconstruct -latestTime
runParallel -s main \
redistributePar -reconstruct -overwrite
runParallel -s coarseMesh redistributePar -reconstruct \
-region coarseMesh -time '50,100,200'
runParallel -s coarseMesh \
redistributePar -reconstruct -region coarseMesh -time '50,100' -overwrite
if notTest "$@"
then
runParallel -s postProcess \
$(getApplication) -postProcess -fields '(U p)' -time '10:'
fi
#------------------------------------------------------------------------------

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
location "constant";
object transportProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
location "constant";
object turbulenceProperties;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -0,0 +1,49 @@
// -*- C++ -*-
stdmd01
{
// Mandatory entries (unmodifiable)
type DMD;
libs (fieldFunctionObjects);
DMDModel STDMD;
field U;
// Optional entries (unmodifiable)
/* patch <patchName>; */
// Conditional mandatory entries (runtime modifiable)
// Option-1
/* interval 5.5; */
// Option-2
/* executeInterval 10; */
// Optional entries (runtime modifiable)
/* modeSorter firstSnapshot; */
/* nGramSchmidt 5; */
/* maxRank 50; */
/* nModes 50; */
/* fMin 0; */
/* fMax 1000000000; */
// Optional entries (runtime modifiable, yet not recommended)
/* minBasis 0.00000001; */
/* minEVal 0.00000001; */
/* sortLimiter 500.0; */
// Optional (inherited) entries
region region0;
enabled true;
log true;
timeStart 10;
timeEnd 1000;
executeControl timeStep;
executeInterval 10;
writeControl onEnd;
writeInterval 1;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd02
{
${stdmd01}
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd03
{
${stdmd01}
patch cylinder;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd04
{
${stdmd01}
patch outlet;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd05
{
${stdmd01}
maxRank 10;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd06
{
${stdmd01}
maxRank 5;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd07
{
${stdmd01}
patch outlet;
maxRank 2;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd08
{
${stdmd01}
field p;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd09
{
${stdmd01}
field p;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd10
{
${stdmd01}
field p;
patch cylinder;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd11
{
${stdmd01}
field p;
patch outlet;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd12
{
${stdmd01}
field p;
maxRank 10;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd13
{
${stdmd01}
field p;
region coarseMesh;
maxRank 5;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd14
{
${stdmd01}
field p;
patch outlet;
maxRank 2;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd15
{
${stdmd01}
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd16
{
${stdmd01}
modeSorter kiewat;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd17
{
${stdmd01}
patch cylinder;
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd18
{
${stdmd01}
patch outlet;
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd19
{
${stdmd01}
modeSorter kiewat;
maxRank 10;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd20
{
${stdmd01}
modeSorter kiewat;
maxRank 5;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd21
{
${stdmd01}
patch outlet;
modeSorter kiewat;
maxRank 2;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd22
{
${stdmd01}
field p;
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd23
{
${stdmd01}
field p;
modeSorter kiewat;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd24
{
${stdmd01}
field p;
patch cylinder;
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd25
{
${stdmd01}
field p;
patch outlet;
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd26
{
${stdmd01}
field p;
maxRank 10;
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,14 @@
// -*- C++ -*-
stdmd27
{
${stdmd01}
field p;
region coarseMesh;
maxRank 5;
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,14 @@
// -*- C++ -*-
stdmd28
{
${stdmd01}
field p;
patch outlet;
maxRank 2;
modeSorter kiewat;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd29
{
${stdmd01}
field UMean;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd30
{
${stdmd01}
field UMean;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd31
{
${stdmd01}
field UMean;
patch cylinder;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd32
{
${stdmd01}
field UMean;
patch outlet;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd33
{
${stdmd01}
field UMean;
maxRank 10;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd34
{
${stdmd01}
field UMean;
maxRank 5;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd35
{
${stdmd01}
field UMean;
patch outlet;
maxRank 2;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd36
{
${stdmd01}
field pMean;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd37
{
${stdmd01}
field pMean;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd38
{
${stdmd01}
field pMean;
patch cylinder;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd39
{
${stdmd01}
field pMean;
patch outlet;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd40
{
${stdmd01}
field pMean;
maxRank 10;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd41
{
${stdmd01}
field pMean;
maxRank 5;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd42
{
${stdmd01}
field pMean;
patch outlet;
maxRank 2;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd43
{
${stdmd01}
field pMean;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd44
{
${stdmd01}
field pMean;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd45
{
${stdmd01}
field UPrime2Mean;
patch cylinder;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd46
{
${stdmd01}
field UPrime2Mean;
patch outlet;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd47
{
${stdmd01}
field UPrime2Mean;
maxRank 10;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd48
{
${stdmd01}
field UPrime2Mean;
maxRank 5;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd49
{
${stdmd01}
field UPrime2Mean;
patch outlet;
maxRank 2;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd50
{
${stdmd01}
field UMean_movingAverageWindow;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd51
{
${stdmd01}
field UMean_movingAverageWindow;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd52
{
${stdmd01}
field UMean_movingAverageWindow;
patch cylinder;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd53
{
${stdmd01}
field UMean_movingAverageWindow;
patch outlet;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd54
{
${stdmd01}
field UMean_movingAverageWindow;
maxRank 10;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd55
{
${stdmd01}
field UMean_movingAverageWindow;
maxRank 5;
region coarseMesh;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd56
{
${stdmd01}
field UMean_movingAverageWindow;
patch outlet;
maxRank 2;
}
// ************************************************************************* //

View File

@ -0,0 +1,11 @@
// -*- C++ -*-
stdmd57
{
${stdmd01}
field yPlus;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd58
{
${stdmd01}
field yPlus;
patch cylinder;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd59
{
${stdmd01}
field yPlus;
patch outlet;
}
// ************************************************************************* //

View File

@ -0,0 +1,12 @@
// -*- C++ -*-
stdmd60
{
${stdmd01}
field yPlus;
maxRank 10;
}
// ************************************************************************* //

View File

@ -0,0 +1,13 @@
// -*- C++ -*-
stdmd61
{
${stdmd01}
field yPlus;
patch cylinder;
maxRank 2;
}
// ************************************************************************* //

View File

@ -44,10 +44,6 @@ blocks
hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) simpleGrading (1 1 1)
);
edges
(
);
boundary
(
allPatches
@ -66,8 +62,5 @@ boundary
}
);
mergePatchPairs
(
);
// ************************************************************************* //

View File

@ -23,6 +23,18 @@ x3 #eval{ 10.0*$R };
xOutlet #eval{ 18.6667*$R };
xInlet #eval{ -10.125*$R };
RsinPi8 #eval{ $R*sin(0.125*pi()) };
RsinPi8n #eval{ -$RsinPi8 };
RcosPi8 #eval{ $R*cos(0.125*pi()) };
RcosPi8n #eval{ -$RcosPi8 };
RsinPi4 #eval{ $R*sin(0.25*pi()) };
x2sinPi8 #eval{ $x2*sin(0.125*pi()) };
x2sinPi8n #eval{ -$x2sinPi8 };
x2cosPi8 #eval{ $x2*cos(0.125*pi()) };
x2cosPi8n #eval{ -$x2cosPi8 };
x2sinPi4 #eval{ $x2*sin(0.25*pi()) };
z0 -0.0075;
z1 0.0075;
nz 1;
@ -37,18 +49,15 @@ vertices #codeStream
code
#{
// sin(45), cos(45)
const scalar sqrt05 = sqrt(0.5);
pointField points(19);
points[0] = point($R, 0, $z0);
points[1] = point($x2, 0, $z0);
points[2] = point($x3, 0, $z0);
points[3] = point($x3, $x2*sqrt05, $z0);
points[4] = point($x2*sqrt05, $x2*sqrt05, $z0);
points[5] = point($R*sqrt05, $R*sqrt05, $z0);
points[3] = point($x3, $x2sinPi4, $z0);
points[4] = point($x2sinPi4, $x2sinPi4, $z0);
points[5] = point($RsinPi4, $RsinPi4, $z0);
points[6] = point($x3, $x3, $z0);
points[7] = point($x2*sqrt05, $x3, $z0);
points[7] = point($x2sinPi4, $x3, $z0);
// Mirror +x points to -x side
points[11] = point(-points[0].x(), points[0].y(), points[0].z());
@ -67,7 +76,7 @@ vertices #codeStream
// Mirror -z points to +z side
label sz = points.size();
points.resize(2*sz);
points.setSize(2*sz);
for (label i = 0; i < sz; ++i)
{
const point& pt = points[i];
@ -77,7 +86,7 @@ vertices #codeStream
// Add an inner cylinder
sz = points.size();
label nAdd = 6;
points.resize(sz + nAdd);
points.setSize(sz + nAdd);
// Points within the inner cylinder
points[sz] = point(0, 0, $z0);
@ -93,7 +102,7 @@ vertices #codeStream
// Mirror -z points to +z side
sz = points.size();
points.resize(sz + nAdd);
points.setSize(sz + nAdd);
for (label i = 0; i < nAdd; ++i)
{
const point& pt = points[i+sz-nAdd];
@ -103,21 +112,21 @@ vertices #codeStream
// Add downstream and upstream blocks
sz = points.size();
nAdd = 6;
points.resize(sz + nAdd);
points.setSize(sz + nAdd);
// Points on outlet
points[sz] = point($xOutlet, 0, $z0);
points[sz + 1] = point($xOutlet, $x3, $z0);
points[sz + 4] = point($xOutlet, $x2*sqrt05, $z0);
points[sz + 4] = point($xOutlet, $x2sinPi4, $z0);
// Points on inlet
points[sz + 2] = point($xInlet, 0, $z0);
points[sz + 3] = point($xInlet, $x3, $z0);
points[sz + 5] = point($xInlet, $x2*sqrt05, $z0);
points[sz + 5] = point($xInlet, $x2sinPi4, $z0);
// Mirror -z points to +z side
sz = points.size();
points.resize(sz + nAdd);
points.setSize(sz + nAdd);
for (label i = 0; i < nAdd; ++i)
{
const point& pt = points[i + sz - nAdd];
@ -149,22 +158,22 @@ blocks
edges
(
arc 0 5 origin (0 0 $z0)
arc 5 10 origin (0 0 $z0)
arc 1 4 origin (0 0 $z0)
arc 4 9 origin (0 0 $z0)
arc 19 24 origin (0 0 $z1)
arc 24 29 origin (0 0 $z1)
arc 20 23 origin (0 0 $z1)
arc 23 28 origin (0 0 $z1)
arc 11 16 origin (0 0 $z0)
arc 16 10 origin (0 0 $z0)
arc 12 15 origin (0 0 $z0)
arc 15 9 origin (0 0 $z0)
arc 30 35 origin (0 0 $z1)
arc 35 29 origin (0 0 $z1)
arc 31 34 origin (0 0 $z1)
arc 34 28 origin (0 0 $z1)
arc 0 5 ($RcosPi8 $RsinPi8 $z0)
arc 5 10 ($RsinPi8 $RcosPi8 $z0)
arc 1 4 ($x2cosPi8 $x2sinPi8 $z0)
arc 4 9 ($x2sinPi8 $x2cosPi8 $z0)
arc 19 24 ($RcosPi8 $RsinPi8 $z1)
arc 24 29 ($RsinPi8 $RcosPi8 $z1)
arc 20 23 ($x2cosPi8 $x2sinPi8 $z1)
arc 23 28 ($x2sinPi8 $x2cosPi8 $z1)
arc 11 16 ($RcosPi8n $RsinPi8 $z0)
arc 16 10 ($RsinPi8n $RcosPi8 $z0)
arc 12 15 ($x2cosPi8n $x2sinPi8 $z0)
arc 15 9 ($x2sinPi8n $x2cosPi8 $z0)
arc 30 35 ($RcosPi8n $RsinPi8 $z1)
arc 35 29 ($RsinPi8n $RcosPi8 $z1)
arc 31 34 ($x2cosPi8n $x2sinPi8 $z1)
arc 34 28 ($x2sinPi8n $x2cosPi8 $z1)
);
boundary
@ -261,8 +270,5 @@ boundary
}
);
mergePatchPairs
();
// ************************************************************************* //

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
location "system";
object controlDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -23,13 +22,13 @@ startTime 0;
stopAt endTime;
endTime 200;
endTime 100;
deltaT 0.05;
writeControl runTime;
writeInterval 50;
writeInterval 0.5;
purgeWrite 0;
@ -46,6 +45,45 @@ runTimeModifiable false;
functions
{
fieldAverage1
{
type fieldAverage;
libs (fieldFunctionObjects);
fields
(
U
{
mean on;
prime2Mean off;
base time;
windowType exact;
window 0.25;
windowName movingAverageWindow;
allowRestart no;
}
U
{
mean on;
prime2Mean on;
base time;
}
p
{
mean on;
prime2Mean on;
base time;
}
);
timeStart 10;
executeControl timeStep;
executeInterval 1;
writeControl onEnd;
}
mapFields1
{
type mapFields;
@ -55,7 +93,11 @@ functions
consistent no;
patchMap ();
cuttingPatches ();
fields ( U p );
fields
(
U
p
);
timeStart 10;
timeEnd 2000;
@ -67,162 +109,98 @@ functions
writeInterval 50;
}
STDMD1U
mapFields2
{
// Mandatory entries
type STDMD;
libs (fieldFunctionObjects);
field U;
// Optional entries
modeSorter firstSnap;
// Optional (inherited) entries
region coarseMesh; // mapFields must be executed before.
timeStart 10;
executeControl timeStep;
executeInterval 10;
writeControl onEnd;
${mapFields1}
fields
(
UMean
pMean
UPrime2Mean
pPrime2Mean
UMean_movingAverageWindow
);
}
STDMD1p
yPlus1
{
// Mandatory entries
type STDMD;
libs (fieldFunctionObjects);
field p;
// Optional entries
modeSorter firstSnap;
// Optional (inherited) entries
region coarseMesh;
timeStart 10;
executeControl timeStep;
executeInterval 10;
writeControl onEnd;
type yPlus;
libs (fieldFunctionObjects);
timeStart 10;
executeControl timeStep;
executeInterval 1;
writeControl writeTime;
}
STDMD2U
{
// Mandatory entries
type STDMD;
libs (fieldFunctionObjects);
field U;
#include "DMDs/stdmd01" // field=U
#include "DMDs/stdmd02" // field=U, region=coarseMesh
#include "DMDs/stdmd03" // field=U, patch=cylinder
#include "DMDs/stdmd04" // field=U, patch=outlet
#include "DMDs/stdmd05" // field=U, maxRank=10
#include "DMDs/stdmd06" // field=U, region=coarseMesh, maxRank=5
#include "DMDs/stdmd07" // field=U, patch=outlet, maxRank=2
// Optional entries
modeSorter firstSnap;
nModes 2;
maxRank 2;
nGramSchmidt 5;
fMin 0;
fMax 1000000000;
testEigen true;
dumpEigen true;
minBasis 0.00000001;
minEVal 0.00000001;
absTol 0.001;
relTol 0.0001;
#include "DMDs/stdmd08" // field=p
#include "DMDs/stdmd09" // field=p, region=coarseMesh
#include "DMDs/stdmd10" // field=p, patch=cylinder
#include "DMDs/stdmd11" // field=p, patch=outlet
#include "DMDs/stdmd12" // field=p, maxRank=10
#include "DMDs/stdmd13" // field=p, region=coarseMesh, maxRank=5
#include "DMDs/stdmd14" // field=p, patch=outlet, maxRank=2
// Optional (inherited) entries
timeStart 50;
timeEnd 2000;
executeControl timeStep;
executeInterval 10;
writeControl onEnd;
}
#include "DMDs/stdmd15" // field=U, modeSorter=kiewat
#include "DMDs/stdmd16" // field=U, region=coarseMesh, modeSorter=kiewat
#include "DMDs/stdmd17" // field=U, patch=cylinder, modeSorter=kiewat
#include "DMDs/stdmd18" // field=U, patch=outlet, modeSorter=kiewat
#include "DMDs/stdmd19" // field=U, maxRank=10, modeSorter=kiewat
#include "DMDs/stdmd20" // field=U, region=coarseMesh, maxRank=5, modeSorter=kiewat
#include "DMDs/stdmd21" // field=U, patch=outlet, maxRank=2, modeSorter=kiewat
STDMD3U
{
// Mandatory entries
type STDMD;
libs (fieldFunctionObjects);
field U;
#include "DMDs/stdmd22" // field=p, modeSorter=kiewat
#include "DMDs/stdmd23" // field=p, region=coarseMesh, modeSorter=kiewat
#include "DMDs/stdmd24" // field=p, patch=cylinder, modeSorter=kiewat
#include "DMDs/stdmd25" // field=p, patch=outlet, modeSorter=kiewat
#include "DMDs/stdmd26" // field=p, maxRank=10, modeSorter=kiewat
#include "DMDs/stdmd27" // field=p, region=coarseMesh, maxRank=5, modeSorter=kiewat
#include "DMDs/stdmd28" // field=p, patch=outlet, maxRank=2, modeSorter=kiewat
// Optional entries
modeSorter firstSnap;
#include "DMDs/stdmd29" // field=UMean
// #include "DMDs/stdmd30" // field=UMean, region=coarseMesh
#include "DMDs/stdmd31" // field=UMean, patch=cylinder
#include "DMDs/stdmd32" // field=UMean, patch=outlet
#include "DMDs/stdmd33" // field=UMean, maxRank=10
// #include "DMDs/stdmd34" // field=UMean, region=coarseMesh, maxRank=5
#include "DMDs/stdmd35" // field=UMean, patch=outlet, maxRank=2
// Optional (inherited) entries
region coarseMesh;
timeStart 10;
timeEnd 150;
executeControl timeStep;
executeInterval 10;
writeControl runTime;
writeInterval 50;
}
#include "DMDs/stdmd36" // field=pMean
// #include "DMDs/stdmd37" // field=pMean, region=coarseMesh
#include "DMDs/stdmd38" // field=pMean, patch=cylinder
#include "DMDs/stdmd39" // field=pMean, patch=outlet
#include "DMDs/stdmd40" // field=pMean, maxRank=10
// #include "DMDs/stdmd41" // field=pMean, region=coarseMesh, maxRank=5
#include "DMDs/stdmd42" // field=pMean, patch=outlet, maxRank=2
STDMD4U
{
// Mandatory entries
type STDMD;
libs (fieldFunctionObjects);
field U;
#include "DMDs/stdmd43" // field=UPrime2Mean
// #include "DMDs/stdmd44" // field=UPrime2Mean, region=coarseMesh
#include "DMDs/stdmd45" // field=UPrime2Mean, patch=cylinder
#include "DMDs/stdmd46" // field=UPrime2Mean, patch=outlet
#include "DMDs/stdmd47" // field=UPrime2Mean, maxRank=10
// #include "DMDs/stdmd48" // field=UPrime2Mean, region=coarseMesh, maxRank=5
#include "DMDs/stdmd49" // field=UPrime2Mean, patch=outlet, maxRank=2
// Optional entries
modeSorter kiewat;
#include "DMDs/stdmd50" // field=UMean_movingAverageWindow
// #include "DMDs/stdmd51" // field=UMean_movingAverageWindow, region=coarseMesh
#include "DMDs/stdmd52" // field=UMean_movingAverageWindow, patch=cylinder
#include "DMDs/stdmd53" // field=UMean_movingAverageWindow, patch=outlet
#include "DMDs/stdmd54" // field=UMean_movingAverageWindow, maxRank=10
// #include "DMDs/stdmd55" // field=UMean_movingAverageWindow, region=coarseMesh, maxRank=5
#include "DMDs/stdmd56" // field=UMean_movingAverageWindow, patch=outlet, maxRank=2
// Optional (inherited) entries
region coarseMesh;
timeStart 10;
executeControl timeStep;
executeInterval 10;
writeControl onEnd;
}
STDMD4p
{
// Mandatory entries
type STDMD;
libs (fieldFunctionObjects);
field p;
// Optional entries
modeSorter kiewat;
// Optional (inherited) entries
region coarseMesh;
timeStart 10;
executeControl timeStep;
executeInterval 10;
writeControl onEnd;
}
STDMD5U
{
// Mandatory entries
type STDMD;
libs (fieldFunctionObjects);
field U;
// Optional entries
modeSorter kouZhang;
// Optional (inherited) entries
region coarseMesh;
timeStart 10;
executeControl timeStep;
executeInterval 10;
writeControl onEnd;
}
STDMD5p
{
// Mandatory entries
type STDMD;
libs (fieldFunctionObjects);
field p;
// Optional entries
modeSorter kouZhang;
// Optional (inherited) entries
region coarseMesh;
timeStart 10;
executeControl timeStep;
executeInterval 10;
writeControl onEnd;
}
#include "DMDs/stdmd57" // field=yPlus
#include "DMDs/stdmd58" // field=yPlus, patch=cylinder
#include "DMDs/stdmd59" // field=yPlus, patch=outlet
#include "DMDs/stdmd60" // field=yPlus, maxRank=10
#include "DMDs/stdmd61" // field=yPlus, patch=cylinder, maxRank=2
}

View File

@ -10,18 +10,17 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
location "system";
object decomposeParDict;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
numberOfSubdomains 8;
numberOfSubdomains 12;
method hierarchical;
coeffs
{
n (8 1 1);
n (4 3 1);
}

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
@ -28,6 +27,7 @@ gradSchemes
divSchemes
{
default Gauss linear;
div((nuEff*dev(T(grad(U))))) Gauss linear;
}

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0;
format ascii;
class dictionary;
location "system";
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -24,4 +24,5 @@ pointAndNormalDict
planeTolerance 1e-3;
// ************************************************************************* //

View File

@ -22,7 +22,7 @@ geometry
{
cylinder
{
type cylinder;
type searchableCylinder;
point1 (0 0 -0.00375);
point2 (0 0 0.00375);
radius 0.06;