Hallo alle zusammen,
ich möchte gerne die Umströmung des Ahmed Body (generisches Fahrzeugmodell) mit simpleFoam und anschließend mit pisoFoam simulieren. Leider scheitere ich an den RANS-Rechnungen, da diese nicht vernünftig konvergieren (besonders der Druck macht mir Probleme). Ich habe mir ein Netz (vorerst ohne Layer) über snappyHexMesh erstellt, welches ca. 700.000 Zellen auskommt und eine recht solide Qualität hat. Für die Simulation möchte ich gerne den Solver simpleFoam mit dem k-Omega-SST-Modell verwenden.
Mir ist klar, dass die Strömung hinter dem Ahmed Body instationär ist. Jedoch muss es doch möglich sein, das Problem mit einem stationären Solver wie simpleFoam zu lösen. Das haben ja bereits etliche Personen vor mir geschafft
Kann mir vielleicht jemand einen Tipp geben, wie ich sozusagen eine stationäre Lösung erzwingen kann?
Der Widerstands- und Auftriebsbeiwert ist für die Netzauflösung nicht so schlecht (Abweichung ca. 10-15% von den experimentellen Ergebnissen), jedoch möchte ich eine konvergierte Rechnung. Ich habe bereits mit nonOrthoCorrector 1-2 gerechnet und kein Erfolg gehabt. Auch die Verwendung von potentialFoam für eine Startlösung bringt nicht den gewünschten Effekt. Meine Rechnung konvergiert nur, wenn ich für div(phi,U) das upwind-Schema benutze. Dieses Schema ist aber 1. Ordnung und viel zu diffusiv um bei der Umströmung vernünftige Werte zu liefern.
Vielen Dank im Voraus,
slint
Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create timeCreate polyMesh for time = 0
Time = 0
Mesh stats
points: 543028
faces: 1556358
internal faces: 1528249
cells: 506859
faces per cell: 6.08573
boundary patches: 6
point zones: 0
face zones: 0
cell zones: 0
Overall number of cells of each type:
hexahedra: 490871
prisms: 570
wedges: 0
pyramids: 0
tet wedges: 0
tetrahedra: 0
polyhedra: 15418
Breakdown of polyhedra by number of faces:
faces number of cells
4 2
5 73
6 835
9 14373
12 105
15 11
18 11
21 8
Checking topology...
Boundary definition OK.
Cell to face addressing OK.
Point usage OK.
Upper triangular ordering OK.
Face vertices OK.
Number of regions: 1 (OK).
Checking patch topology for multiply connected surfaces...
Patch Faces Points Surface topology
inlet 200 231 ok (non-closed singly connected)
outlet 200 231 ok (non-closed singly connected)
lowerWall 14622 15061 ok (non-closed singly connected)
upperWall 1600 1701 ok (non-closed singly connected)
frontAndBack 1600 1782 ok (non-closed singly connected)
ahmed_Ahmed 9887 9950 ok (non-closed singly connected)
Checking geometry...
Overall domain bounding box (-7 -2 0) (9 2 2)
Mesh (non-empty, non-wedge) directions (1 1 1)
Mesh (non-empty) directions (1 1 1)
Boundary openness (-6.74054e-18 1.64826e-17 -3.44936e-14) OK.
Max cell openness = 3.46945e-16 OK.
Max aspect ratio = 3.64388 OK.
Minimum face area = 2.42787e-05. Maximum face area = 0.04. Face area magnitudes OK.
Min volume = 3.47553e-07. Max volume = 0.008. Total volume = 127.89. Cell volumes OK.
Mesh non-orthogonality Max: 47.4485 average: 4.95745
Non-orthogonality check OK.
Face pyramids OK.
Max skewness = 1.97202 OK.
Coupled point location match (average 0) OK.
Mesh OK.
End
Code:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSchemes;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //ddtSchemes
{
default steadyState;
}
gradSchemes
{
default Gauss linear;
grad(U) cellLimited Gauss linear 1;
}
divSchemes
{
default none;
div(phi,U) bounded Gauss linearUpwindV grad(U);
div(phi,k) bounded Gauss upwind;
div(phi,omega) bounded Gauss upwind;
div((nuEff*dev(T(grad(U))))) Gauss linear;
}
laplacianSchemes
{
default Gauss linear corrected 0.5;
}
interpolationSchemes
{
default linear;
}
snGradSchemes
{
default corrected 0.5;
}
fluxRequired
{
default no;
p;
}
// ************************************************************************* //
Code:
FoamFile
{
version 2.0;
format ascii;
class dictionary;
object fvSolution;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //solvers
{
p
{
solver GAMG;
tolerance 1e-7;
relTol 0.01;
smoother GaussSeidel;
nPreSweeps 0;
nPostSweeps 2;
cacheAgglomeration on;
agglomerator faceAreaPair;
nCellsInCoarsestLevel 10;
mergeLevels 1;
}
U
{
solver smoothSolver;
smoother GaussSeidel;
tolerance 1e-8;
relTol 0.1;
nSweeps 1;
}
k
{
solver smoothSolver;
smoother GaussSeidel;
tolerance 1e-8;
relTol 0.1;
nSweeps 1;
}
omega
{
solver smoothSolver;
smoother GaussSeidel;
tolerance 1e-8;
relTol 0.1;
nSweeps 1;
}
}
SIMPLE
{
nNonOrthogonalCorrectors 0;
}
/*
potentialFlow
{
nNonOrthogonalCorrectors 10;
}
*/
relaxationFactors
{
fields
{
p 0.3;
}
equations
{
U 0.7;
k 0.7;
omega 0.7;
}
}
cache
{
grad(U);
}
// ************************************************************************* //
Code:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object k;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 2 -2 0 0 0 0];
internalField uniform 6.00;
boundaryField
{
inlet
{
type fixedValue;
value uniform 6.00;
}
outlet
{
type inletOutlet;
inletValue uniform 6.00;
value uniform 6.00;
}
lowerWall
{
type kqRWallFunction;
value uniform 6.00;
}
"ahmed_.*"
{
type kqRWallFunction;
value uniform 6.00;
}
upperWall
{
type slip;
}
frontAndBack
{
type slip;
}
}
// ************************************************************************* //
Code:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
location "0";
object nut;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 2 -1 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type calculated;
value uniform 0;
}
outlet
{
type calculated;
value uniform 0;
}
lowerWall
{
type nutkWallFunction;
value uniform 0;
}
upperWall
{
type calculated;
value uniform 0;
}
"ahmed_.*"
{
type nutkWallFunction;
value uniform 0;
}
frontAndBack
{
type calculated;
value uniform 0;
}
}
// ************************************************************************* //
Code:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object omega;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 0 -1 0 0 0 0];
internalField uniform 21.21;
boundaryField
{
inlet
{
type fixedValue;
value uniform 21.21;
}
outlet
{
type inletOutlet;
inletValue uniform 21.21;
value uniform 21.21;
}
lowerWall
{
type epsilonWallFunction;
value uniform 21.21;
}
"ahmed_.*"
{
type epsilonWallFunction;
value uniform 21.21;
}
upperWall
{
type slip;
}
frontAndBack
{
type slip;
}
}
// ************************************************************************* //
Code:
FoamFile
{
version 2.0;
format ascii;
class volScalarField;
object p;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
dimensions [0 2 -2 0 0 0 0];
internalField uniform 0;
boundaryField
{
inlet
{
type zeroGradient;
}
outlet
{
type fixedValue;
value uniform 0;
}
lowerWall
{
type zeroGradient;
}
"ahmed_.*"
{
type zeroGradient;
}
upperWall
{
type slip;
}
frontAndBack
{
type slip;
}
}
// ************************************************************************* //
Code:
FoamFile
{
version 2.0;
format ascii;
class volVectorField;
location "0";
object U;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //dimensions [0 1 -1 0 0 0 0];
internalField uniform (40 0 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (40 0 0);
}
outlet
{
type inletOutlet;
inletValue uniform (0 0 0);
value uniform (40 0 0);
}
lowerWall
{
type fixedValue;
value uniform (40 0 0);
}
"ahmed_.*"
{
type fixedValue;
value uniform (0 0 0);
}
upperWall
{
type slip;
}
frontAndBack
{
type slip;
}
}
// ************************************************************************* //
[Diese Nachricht wurde von slint am 08. Aug. 2013 editiert.]
[Diese Nachricht wurde von slint am 08. Aug. 2013 editiert.]
[Diese Nachricht wurde von slint am 08. Aug. 2013 editiert.]
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP