0% found this document useful (0 votes)
150 views16 pages

2 NACAWingTutorial

This document provides an outline for a hands-on training tutorial on performing simulations of flow around a 2D airfoil using the OpenFOAM software. The tutorial will cover the basic structure of an OpenFOAM case, converting and analyzing the computational mesh, setting physical models and boundary conditions, running the sonicFoam solver, and performing basic post-processing of results. Key aspects of OpenFOAM such as its case directory structure, dictionary-based input/output format, and mesh file organization will also be introduced.

Uploaded by

Jesthyn VC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
150 views16 pages

2 NACAWingTutorial

This document provides an outline for a hands-on training tutorial on performing simulations of flow around a 2D airfoil using the OpenFOAM software. The tutorial will cover the basic structure of an OpenFOAM case, converting and analyzing the computational mesh, setting physical models and boundary conditions, running the sonicFoam solver, and performing basic post-processing of results. Key aspects of OpenFOAM such as its case directory structure, dictionary-based input/output format, and mesh file organization will also be introduced.

Uploaded by

Jesthyn VC
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Hands-On Training with OpenFOAM

Flow Around a 2-D Airfoil


Hrvoje Jasak
[email protected]

Wikki Ltd, United Kingdom

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 1
Outline
Summary of Objectives: Basic Code and Case Structure
• Basic structure of the OpenFOAM case and CFD runs
Tutorial Steps
1. Basic review of case organisation
2. Convert the mesh generated in Pointwise
3. constant/polyMesh/boundary: set wall patch type
4. Set material properties: viscosity; turbulence model
5. 0 directory: set initial and boundary conditions for flow fields
6. checkMesh: analysis of mesh quality
7. Flow solver: sonicFoam
8. Basic post-processing with FieldView
9. Utilities and data manipulation: Mach number, forceCoeffs function object
10. Further post-processing
11. Basic review of solver and discretisation parameters

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 2
Geometry and Flow Conditions
Case Setup
• Transient compressible turbulent flow simulation
• Material properties: air as ideal gas with constant properties
(name, nMoles, molWeight, Cv, Hf, mu, 1/Pr)
• Inlet/far field conditions:

u = (242.43 0 0) m/s pinf = 85419 Pa T = 260 K

k = 220.4 m2 /s2 ǫ = 2688.26 m2 /s3

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 3
OpenFOAM Case Structure

<case>
Data Organisation and Management
system • Unlike “standard CFD practice”, in
OpenFOAM case is a directory:
controlDict
each self-contained piece of
fvSchemes heavy-weight data stored in its
fvSolution own file
constant • Light-weight data is presented in
dictionary form: keyword-value
. . . Properties pairs in free format. It can be
changed and re-read during the
polyMesh run: solution steering
points • Mesh data split into components
faces for efficient management of
moving mesh cases
owner
• Time directories contain solution
neighbour
and derived fields (one per file)
boundary
• Support for compressed I/O: more
time directories efficient I/O and less disk space

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 4
OpenFOAM Simulation: Data I/O
Data Input and Output
• Dictionary format: file header (IOobject) and keyword-value entry pairs

FoamFile
{
version 2.0;
format ascii;
class dictionary;
object transportProperties;
}

// Diffusivity
DT DT [0 2 -1 0 0 0 0] 0.01;

• Contents of dictionaries depends on their role


◦ Material properties and physical model constants
◦ Solution fields, initial and boundary conditions
◦ Discretisation settings, solver controls I/O parameters etc.

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 5
OpenFOAM Simulation: Controls
Basic Controls: controlDict
• Basic controls of run start, end and write frequency

startFrom startTime; // latestTime // firstTime


startTime 0;

stopAt endTime; // writeNow // nextWrite


endTime 2500;

deltaT 1;

writeControl timeStep; // runTime // clockTime // cpuTime


writeInterval 50;

writeFormat ascii; // binary


writePrecision 6;
writeCompression uncompressed; // compressed

timeFormat general; // fixed // scientific


timePrecision 6;

runTimeModifiable yes;

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 6
OpenFOAM Simulation: Schemes
Basic Controls: fvSchemes
• Equation discretisation controls: per-term basis

ddtSchemes
{
default steadyState;
}
gradSchemes
{
default cellLimited leastSquares 1.0;
// grad(p) Gauss linear;
}
divSchemes
{
default none;
div(phi,U) Gauss linearUpwindV Gauss linear;
div(phi,k) Gauss upwind;
div(phi,omega) Gauss upwind;
div((nuEff*dev(grad(U).T()))) Gauss linear;
}

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 7
OpenFOAM Simulation: Schemes
Basic Controls: fvSchemes
• Equation discretisation controls, Cont’d

laplacianSchemes
{
default Gauss linear limited 0.5;
}
interpolationSchemes
{
default linear;
interpolate(U) linear;
}
snGradSchemes
{
default limited 0.5;
}
fluxRequired
{
default no;
p;
}

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 8
OpenFOAM Simulation: Solution
Basic Controls: fvSolution
• Linear equation solver settings: per equation in top-level solver

solvers
{
p
{
solver PCG;
preconditioner DIC;

tolerance 1e-8;
relTol 0.01;
}
U
{
solver PBiCG;
preconditioner DILU;

tolerance 1e-07;
relTol 0;
}
}

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 9
OpenFOAM Simulation: Solution
Basic Controls: fvSolution
• Global algorithmic settings and under-relaxation factors

PISO
{
momentumPredictor yes;

nCorrectors 2;
nNonOrthogonalCorrectors 0;

nAlphaCorr 1;
nAlphaSubCycles 2;
cAlpha 1;
}
relaxationFactors
{
p 0.3;
U 0.7;
k 0.7;
omega 0.7;
}

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 10
OpenFOAM Simulation: Mesh
Basic Controls: Structure of Mesh Files
• Mesh files at start of simulation located in constant/polyMesh directory
• points, faces: basic lists of primitive entries
• owner, neighbour: lists of face-to-cell addressing
• Note: OpenFOAM uses strongly ordered face lists for efficiency

11M 2011-07-22 11:19 points


37M 2011-07-22 11:19 faces
4.0M 2011-07-22 11:19 owner
14M 2011-07-22 11:19 neighbour
1.8K 2011-07-22 11:19 boundary

• Additional mesh files: sets and zones, mesh modifiers, parallel mapping etc.

586 2011-03-14 09:43 pointZones


24K 2011-03-14 09:43 faceZones
868K 2011-03-14 09:43 cellZones
78K 2011-03-14 09:43 meshModifiers
4.0K 2011-03-14 09:43 sets/

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 11
OpenFOAM Simulation: Mesh
Basic Controls: Structure of Mesh Files
• Boundary definition: patch types and strong ordering

(
Wing <-- patch name
{
type wall; <-- constrained patch type
nFaces 154; <-- number of faces
startFace 23579; <-- start face in face list
}
FrontAndBack
{
type empty; <-- constrained patch type
nFaces 30712;
startFace 23733;
}
Inlet
{
type patch; <-- (free) patch type
nFaces 74;
startFace 54445;
...

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 12
OpenFOAM Simulation: Mesh
Basic Controls: Structure of Mesh Files
• Boundary definition: patch types

...
Slip
{
type patch;
nFaces 148;
startFace 54519;
}
leftPlane
{
type symmetryPlane;
nFaces 74;
startFace 54667;
}
)

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 13
OpenFOAM Simulation: Fields
Field: Initial and Boundary Conditions
• Definition of initial and boundary conditions, per-field basis

dimensions [0 1 -1 0 0 0 0]; // [kg m s K mol A Cd]


internalField uniform (40 0 0);
boundaryField
{
Body-4
{
type fixedValue;
value uniform (0 0 0);
}
Inlet-12
{
type fixedValue;
value uniform (40 0 0);
}
Slip-10
{
type slip;
}
...

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 14
OpenFOAM Simulation: Fields
Field: Initial and Boundary Conditions
• Definition of initial and boundary conditions, Cont’d

• Fields located in time directories: 0/p, 0/U


• Boundary conditions defined on a per-field basis
• Note: consistency of boundary conditions related to the physics solver

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 15
OpenFOAM Simulation: Utilities
Basic Controls: Utility Controls
• Utility controls based under system. Example:

numberOfSubdomains 4;

method metis;

globalFaceZones ( insideZone outsideZone );

simpleCoeffs
{
n (4 1 1);
delta 0.0001;
}

metisCoeffs
{
processorWeights 4( 1 1 1 1 );
}

roots ();

OpenFOAM Course, Uni Ghent 3-4/May/2016. Tracking 5568512168 Hands-On Training with OpenFOAM – p. 16

You might also like