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; type symmetry;
} }
"left|right" "(left|right)"
{ {
type empty; type empty;
} }

View File

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

View File

@ -13,15 +13,24 @@ runParallel renumberMesh -overwrite
cp -f system/decomposeParDict system/coarseMesh 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 $(getApplication)
runParallel -s main redistributePar -reconstruct -latestTime runParallel -s main \
redistributePar -reconstruct -overwrite
runParallel -s coarseMesh redistributePar -reconstruct \ runParallel -s coarseMesh \
-region coarseMesh -time '50,100,200' 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; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "constant";
object transportProperties; object transportProperties;
} }
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

View File

@ -10,7 +10,6 @@ FoamFile
version 2.0; version 2.0;
format ascii; format ascii;
class dictionary; class dictionary;
location "constant";
object turbulenceProperties; 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) hex (0 1 2 3 4 5 6 7) ($nx $ny $nz) simpleGrading (1 1 1)
); );
edges
(
);
boundary boundary
( (
allPatches allPatches
@ -66,8 +62,5 @@ boundary
} }
); );
mergePatchPairs
(
);
// ************************************************************************* // // ************************************************************************* //

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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