TUT: Updated vortexShed case wrt latest Curle FO updates

This commit is contained in:
Andrew Heather 2020-06-18 21:41:51 +01:00
parent 1251b82175
commit 7d4cdc4f8c
11 changed files with 1852 additions and 70 deletions

View File

@ -16,19 +16,20 @@ FoamFile
dimensions [0 1 -1 0 0 0 0];
internalField uniform (40 0 0);
internalField uniform (0.025 0 0);
boundaryField
{
cylinder
{
type noSlip;
type fixedValue;
value uniform (0 0 0);
}
inlet
{
type fixedValue;
value $internalField;
value uniform (0.025 0 0);
}
outlet
@ -38,10 +39,14 @@ boundaryField
inletValue uniform (0 0 0);
}
"top|bottom"
"(top|bottom)"
{
type pressureInletOutletVelocity;
value uniform (0 0 0);
type slip;
}
frontAndBack
{
type empty;
}
}

View File

@ -17,7 +17,7 @@ FoamFile
dimensions [0 2 -1 0 0 0 0];
internalField uniform 1.51e-05;
internalField uniform 1e-05;
boundaryField
{
@ -33,12 +33,22 @@ boundaryField
value $internalField;
}
"outlet|top|bottom"
outlet
{
type inletOutlet;
inletValue $internalField;
value $internalField;
}
"(top|bottom)"
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}

View File

@ -33,11 +33,16 @@ boundaryField
value $internalField;
}
"outlet|top|bottom"
"(outlet|top|bottom)"
{
type calculated;
value $internalField;
}
frontAndBack
{
type empty;
}
}

View File

@ -30,15 +30,25 @@ boundaryField
type zeroGradient;
}
"outlet|top|bottom"
outlet
{
type totalPressure;
type fixedValue; // totalPressure;
rho none;
psi none;
p0 $internalField;
gamma 1;
value $internalField;
}
"(top|bottom)"
{
type zeroGradient;
}
frontAndBack
{
type empty;
}
}

View File

@ -1,3 +1,15 @@
- Acoustic pressure is calculated based on Curle's analogy.
- Such field is sampled for point (probe) and surface (cutting plane)
- noise utility is operated onto these samples to obtain frequency information
Summary
- Vortex street generated from flow over a sphere
- Acoustic pressure is calculated based on Curle's analogy
- noise utility is processes the acoustic pressure to obtain frequency information
Case detailis
- cylinder diameter: 0.04
- flow speed: 0.025
- kinematic viscosity: 1e-5
- Reynolds number based on cylinder diameter, Red = 100
- For this Red, St = 0.198(1 - 0.197/Red) = 0.159
- Shedding fequency, f = St*U/d = 0.1 Hz
Plotting the FFT of the pressure field shoud show a peak at the shedding
frequency

View File

@ -17,6 +17,6 @@ FoamFile
transportModel Newtonian;
nu 2e-05;
nu 1e-05;
// ************************************************************************* //

File diff suppressed because it is too large Load Diff

View File

@ -23,15 +23,15 @@ startTime 0;
stopAt endTime;
endTime 0.2;
endTime 200;
deltaT 1e-5;
deltaT 1e-2;
writeControl timeStep;
writeInterval 100; // every 0.001s
writeInterval 100; // every 1s
purgeWrite 200;
purgeWrite 50;
writeFormat binary;
@ -55,35 +55,70 @@ functions
fields (U p);
}
curle
curleSurface
{
// Mandatory entries
type Curle;
libs (fieldFunctionObjects);
patches (cylinder);
c0 343;
input surface;
surface surface.obj;
output surface;
surfaceType ensight;
formatOptions
{
ensight
{
format ascii; // needed for surfaceNoise ...
collateTimes true;
}
}
// Optional (inherited) entries
field p;
result Curle;
p p;
region region0;
enabled true;
log true;
timeStart 0.1;
timeStart 100;
timeEnd 1000;
executeControl timeStep;
executeInterval 1;
}
curlePoint
{
// Mandatory entries
type Curle;
libs (fieldFunctionObjects);
patches (cylinder);
c0 343;
input point;
output point;
observerPositions
(
(0.20 0.17 -0.01) // N
(0.22 0.15 -0.01) // E
(0.20 0.13 -0.01) // S
(0.18 0.15 -0.01) // W
);
// Optional (inherited) entries
p p;
region region0;
enabled true;
log true;
timeStart 100;
timeEnd 1000;
executeControl timeStep;
executeInterval 1;
writeControl writeTime;
writeInterval -1;
}
cuttingPlane
{
type surfaces;
libs (sampling);
writeControl timeStep;
writeInterval 2;
timeStart 0.1;
writeControl writeTime;
timeStart 100;
surfaceFormat ensight;
formatOptions
@ -94,7 +129,7 @@ functions
collateTimes true;
}
}
fields (p Curle);
fields (p U);
interpolationScheme cellPoint;
@ -119,32 +154,14 @@ functions
type forces;
libs (forces);
writeControl writeTime;
timeStart 0.1;
timeStart 100;
patches (cylinder);
CofR (0.20 0.15 -0.01);
writeFields yes;
rho rhoInf;
rhoInf 1.205;
}
probes
{
type patchProbes;
libs (sampling);
writeControl timeStep;
timeStart 0.1;
patch cylinder;
probeLocations
(
(0.20 0.17 -0.01) // N
(0.22 0.15 -0.01) // E
(0.20 0.13 -0.01) // S
(0.18 0.15 -0.01) // W
);
fields (p forces:force Curle);
rhoInf 1;
}
}

View File

@ -17,13 +17,10 @@ FoamFile
solvers
{
p
{
solver GAMG;
smoother DICGaussSeidel;
// solver PCG;
// preconditioner DIC;
tolerance 1e-20;
relTol 0.05;
}
@ -37,10 +34,10 @@ solvers
"(U|nuTilda)"
{
// solver PBiCGStab;
// preconditioner DILU;
solver smoothSolver;
smoother symGaussSeidel;
//solver smoothSolver;
//smoother symGaussSeidel;
solver PBiCGStab;
preconditioner DILU;
tolerance 0;
relTol 0.1;
}
@ -64,9 +61,9 @@ PIMPLE
relaxationFactors
{
nuTilda 0.95;
U 0.95;
p 0.95;
nuTilda 0.8;
U 0.8;
p 0.8;
".*Final" 1.0;
}

View File

@ -34,8 +34,10 @@ pointNoiseCoeffs
files
(
"postProcessing/probes/0/p"
"postProcessing/probes/0.1/Curle"
"postProcessing/curlePoint/0/observer0.dat"
"postProcessing/curlePoint/0/observer1.dat"
"postProcessing/curlePoint/0/observer2.dat"
"postProcessing/curlePoint/0/observer3.dat"
);
nHeaderLine 6;
@ -48,7 +50,7 @@ pointNoiseCoeffs
// default = 2^16 (=65536)
N 4096;
rhoRef 1.205;
rhoRef 1;
}

View File

@ -34,7 +34,7 @@ surfaceNoiseCoeffs
// Input file
file "postProcessing/cuttingPlane/zNormal/zNormal.case";
file "postProcessing/curleSurface/surface/surface.case";
// Surface reader
reader ensight;
@ -53,13 +53,13 @@ surfaceNoiseCoeffs
}
// Pressure field
p Curle;
p pCurle;
// Number of samples in sampling window
// default = 2^16 (=65536)
N 1024;
N 4096;
rhoRef 1.205;
rhoRef 1;
}