OPENFOAM GUIDE FOR BEGINNERS
6. Fluid dynamics of a Very
Light Aircraft
6.0.18 Description of the case
The last chapter of the guide describes a completely different case to be solved.
While up to now only two-dimensional fluid mechanics problems have been solved,
the current chapter encompasses the simulation of a real 3D body in a free stream.
More specifically, this body is a very light aircraft flying at sea level conditions.
Unlike previous chapters, the mesh of the current case is going to be created using an
external surface generated with a 3D CAD design software. Nevertheless, the user
can follow the tutorial using a geometry created by himself. As the main steps are
common for generic geometries, it will only be necessary to take into consideration
particular instructions which may depend on the specifications of each case. It
implies that standard bodies in a free stream (a sphere, an automobile, etc.) will
be suitable to be simulated according to the instructions and methods shown in
Chapter 6.
6.0.19 Hypotheses
• Incompressible flow
• Turbulent flow
• Newtonian flow
• Negligible gravitatory effects
• Sea level conditions
• RAS turbulence modelling with wall functions
• Non-static components of the aircraft are not included (as for instance the
propeller), as well as the landing gear
Jordi Casacuberta Puig 145
6. Fluid dynamics of a Very Light Aircraft
• Aircraft flying at α = 0
6.0.20 Physics of the problem
The problem encompasses a very light aircraft flying at a speed of V = 45 m/s at
sea level. As the medium is air (ν = 1.5× 10−5 m2/s), the Reynolds number is
Re =V c
ν=
45 · 1.276
1.5× 10−5= 38.28× 105
where c is the mean aerodynamic chord of the wings and is equal to 1.276 m. The
mean aerodynamic chord is the chord of a rectangular wing which has the same area,
aerodynamic force and position of the pressure center for a given angle of attack as
the original. The very light aircraft that it is going to be used for the simulation
does not belong to any real aeronautics company; it was designed by the author of
the guide during a course taught at the university (and thus it might contain flaws).
The aircraft is shown at Figure 6.1.
Figure 6.1: Aircraft used in the simulation of the Very Light Aircraft case
The aircraft measures and geometrical properties are:
Jordi Casacuberta Puig 146
OPENFOAM GUIDE FOR BEGINNERS
Figure 6.2: Measures of the aircraft used in the simulation of the Very Light Aircraftcase
The problem statement is shown at Figure 6.3.
Figure 6.3: Very light aircraft flying at 45 m/s and ambient pressure
In the current chapter there is no easy analytical solution to describe the behaviour
of the fluid. However, it is necessary to keep in mind the main equations involved
in the problem:
Jordi Casacuberta Puig 147
6. Fluid dynamics of a Very Light Aircraft
The continuity equation,
∇ ·U = 0 (6.1)
The momentum equation,
∂U
∂t+ U · ∇U = −1
ρ∇p +
µ
ρ∇2U (6.2)
As it can be seen at Figure 6.2, the aircraft presents a length of 8.3 m. Unlike
previous cases, it cannot be directly meshed and treated because of its large size
(it would be necessary to create an enormous number of cells). This is the reason
why the geometry will be rescaled 100 times. It can be understood as if the analysis
would be done to a prototype introduced into a wind tunnel.
Consequently, it is necessary to do a dimensional analysis to find out the dimen-
sionless numbers involved in the problem. It ensures that the flow conditions are
consistent to guarantee that the results of the 100 times rescaled aircraft are the
same as if the real aircraft would be flying in the sky.
The dimensionless variables of Equations 6.1 and 6.2 are:
x =x
c
U =U
V
p =p
ρV 2
t =t
c/V
By introducing them, the dimensionless equations of mass and momentum are:
∇ · U = 0 (6.3)
∂U
∂t+ U · ∇U = −∇p +
µ
ρcV∇2U
which can be rewritten as:
∂U
∂t+ U · ∇U = −∇p +
1
Re∇2U (6.4)
It can be seen that the only dimensionless number involved in the problem is the
Jordi Casacuberta Puig 148
OPENFOAM GUIDE FOR BEGINNERS
Reynolds number. Therefore, maintaining Re (comparing the real aircraft flying
in the sky with the prototype analysed in the wind tunnel), the behaviour of the
flow around them may be comparable and the case preserves its coherence. As
a consequence, if the mean aerodynamic chord has been reduced 100 times, the
kinematic viscosity will be also reduced this quantity:
Re =V c
ν=
45 · 0.01276
1.5× 10−7= 38.28× 105
6.0.21 Pre-processing
The following codes contain the information to simulate the case with Re = 38.28×105 using simpleFoam and the SST k-w turbulence model. The main differences
with previous cases come from the fact that the constant and system directories will
include new features. Therein it will be contained the dictionaries and files required
to treat and mesh the geometry.
It is highly recommendable to follow the current tutorial bearing in mind the struc-
ture of directories that the case is going to contain (shown at the end of Section
6.0.21.6), as the case setting changes significantly. The scheme of directories is sim-
ilar as the one used in the official OpenFOAM R© motorBike case (located within
incompressible/simpleFoam). It may help the user to figure up the case resolution,
before and whilst running it.
The case directory is named aircraft and will be located within FoamCases.
6.0.21.1 Mesh generation
Handling surface meshes
First of all, create empty constant and system directories within aircraft. In constant,
there will be two new directories, polyMesh and triSurface, this second containing
the case geometry saved with the .stl extension. In the current tutorial, the file with
the geometry is going to be named aircraft.stl.
STL (STereoLithography) is a file format native to the stereolithography CAD soft-
ware created by 3D Systems. This file format is supported by many other software
packages; it is widely used for rapid prototyping and computer-aided manufacturing.
STL files describe only the surface geometry of a three-dimensional object without
any representation of color, texture or other common CAD model attributes.
Next, as it was done in Chapter 5, a dummy controlDict file is needed to be included.
Jordi Casacuberta Puig 149
6. Fluid dynamics of a Very Light Aircraft
Caution:
For coherence with further explanations, set deltaT and writeInterval
within controlDict equal to 1
Now the user has to include a new file: surfaceFeatureExtractDict. It is contained
within system and is used to extract feature edges from tri-surfaces. The file includes:
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 0 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s d i c t i ona ry ;
13 ob j e c t su r faceFeatureExt rac tD ic t ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 a i r c r a f t . s t l
18 {19 // How to obta in raw f e a t u r e s ( extractFromFi le | | extractFromSurface )
20 extract ionMethod extractFromSurface ;
21
22 extractFromSur faceCoe f f s
23 {24 // Mark edges whose adjacent su r f a c e normals are at an ang le l e s s
25 // than inc ludedAngle as f e a t u r e s
26 // − 0 : s e l e c t s no edges
27 // − 180 : s e l e c t s a l l edges
28 inc ludedAngle 120 ;
29 }30
31 // Write opt ions
32
33 // Write f e a t u r e s to obj format f o r po s tp ro c e s s i ng
34 writeObj yes ;
35 }36 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
Advice:
At line 17 the name has to match the one used for the file located within
constant/triSurface
Next, the user has to execute the dictionary to extract the features. Type within
the case:
Jordi Casacuberta Puig 150
OPENFOAM GUIDE FOR BEGINNERS
surfaceFeatureExtract
Note that a new directory and a new file have been generated within constant and
constant/triSurface respectively.
At this moment the user can launch ParaView to view the aircraft shape, opening
the .stl file contained in constant/triSurface.
Figure 6.4: Aircraft’ STL surface used in the simulation of the Very Light Aircraftcase
Generating a background mesh
Before meshing the aircraft itself, it is first necessary to create a background mesh.
It can be simply done using blockMesh and blockMeshDict. The aim is to create a
big rectangular prism encompassing the whole aircraft. This prism will become the
fluid domain of the case. The inside of the aircraft will be removed using further
instructions transforming the aircraft into a real obstacle for the flow.
Caution:
As it is necessary to analyze the flow downstream more than the flow
upstream, the distance from the inlet patch of the prism to the aircraft’s
cabin will be shorter than the distance between the outlet patch and the
aircraft’s tail
Jordi Casacuberta Puig 151
6. Fluid dynamics of a Very Light Aircraft
Advice:
Try to generate the cells of the background mesh with an aspect ratio
as close to 1 as possible
So, to create an adequate mesh for the aircraft, copy the following blockMeshDict
code within constant/polyMesh and type:
blockMesh
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 0 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s d i c t i ona ry ;
13 ob j e c t blockMeshDict ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 convertToMeters 0 . 0 1 ;
18
19 v e r t i c e s
20 (
21 (−30 −8 −10)22 ( 10 −8 −10)23 ( 10 8 −10)24 (−30 8 −10)25 (−30 −8 10)
26 ( 10 −8 10)
27 ( 10 8 10)
28 (−30 8 10)
29
30 ) ;
31
32 b locks
33 (
34 hex (0 1 2 3 4 5 6 7) (32 13 16) simpleGrading (1 1 1)
35 ) ;
36
37 edges
38 (
39 ) ;
40
41 boundary
42 (
43 i n l e t
44 {
Jordi Casacuberta Puig 152
OPENFOAM GUIDE FOR BEGINNERS
45 type patch ;
46 f a c e s
47 (
48 (1 2 6 5)
49 ) ;
50 }51
52 ou t l e t
53 {54 type patch ;
55 f a c e s
56 (
57 (0 4 7 3)
58 ) ;
59 }60
61 bottom
62 {63 type s l i p ;
64 f a c e s
65 (
66 (0 3 2 1)
67 ) ;
68 }69
70 top
71 {72 type s l i p ;
73 f a c e s
74 (
75 (4 5 6 7)
76 ) ;
77 }78
79 frontAndBack
80 {81 type s l i p ;
82 f a c e s
83 (
84 (0 1 5 4)
85 (2 3 7 6)
86 ) ;
87 }88
89 ) ;
90
91 mergePatchPairs
92 (
93 ) ;
94
95 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
Figure 6.5 shows the result of combining the mesh generated with the initial STL
surface:
Jordi Casacuberta Puig 153
6. Fluid dynamics of a Very Light Aircraft
Figure 6.5: Aircraft’ STL surface contained within the mesh generated withblockMesh in the Very Light Aircraft case
Advice:
To obtain the results shown in Figure 6.5 it is necessary to include dummy
files of fvScheme and fvSolution
Using snappyHexMesh
To mesh, the snappyHexMesh application is going to be used, being controlled by
the snappyHexMeshDict file located in system. The main parts of the dictionary are:
• 3 switches to control the individual meshing processes
• A geometry subdictionary for the surface geometry used in the meshing
• 3 subdictionaries, one for each meshing process
• A subdictionary for the control of the quality criteria
The snappyHexMeshDict file that it is going to be used for the meshing of the aircraft
is:
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |
Jordi Casacuberta Puig 154
OPENFOAM GUIDE FOR BEGINNERS
4 | \\ / O pera t i on | Vers ion : 2 . 2 . 0 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s d i c t i ona ry ;
13 ob j e c t snappyHexMeshDict ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 // Which o f the s t ep s to run
18 cas t e l l a t edMesh true ;
19 snap f a l s e ;
20 addLayers f a l s e ;
21
22 // Geometry . De f i n i t i o n o f a l l s u r f a c e s . A l l s u r f a c e s are o f c l a s s
23 // s ea r chab l eSu r f a c e .
24 // Sur f a c e s are used
25 // − to s p e c i f y re f inement f o r any mesh c e l l i n t e r s e c t i n g i t
26 // − to s p e c i f y re f inement f o r any mesh c e l l i n s i d e / out s id e /near
27 // − to ’ snap ’ the mesh boundary to the su r f a c e
28 geometry
29 {30 a i r c r a f t . s t l //STL f i l ename where a l l the r e g i on s are added
31 {32 type tr iSur faceMesh ;
33
34 r e g i on s
35 {36 patch0 //Named reg i on in the STL f i l e
37 {38 name a i r c r a f tPa t ch ; //User−de f ined patch name . I f not provided w i l l be
<name> <reg ion>
39 }40 }41 }42
43 ref inementBox //Geometry to r e f i n e . En t i t i e s : Box , Cyl inder , Sphere , Plane
44 {45 type searchableBox ;
46 min (−0.3 −0.06 −0.04) ;
47 max (0 0 .06 0 . 04 ) ;
48 }49 } ;50
51 // Se t t i n g s f o r the cas t e l l a t edMesh gene ra t i on .
52 ca s t e l l a t edMeshCont ro l s
53 {54
55 // Refinement parameters
56 // ˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜
57
58 // I f l o c a l number o f c e l l s i s >= maxLocalCel ls on any proc e s s o r
59 // sw i t che s from from re f inement f o l l owed by ba lanc ing
Jordi Casacuberta Puig 155
6. Fluid dynamics of a Very Light Aircraft
60 // ( cur rent method ) to ( weighted ) ba lanc ing be f o r e re f inement .
61 maxLocalCel ls 1500000;
62
63 // Overa l l c e l l l im i t ( approximately ) . Refinement w i l l s top immediately
64 // upon reach ing t h i s number so a re f inement l e v e l might not complete .
65 // Note that t h i s i s the number o f c e l l s b e f o r e removing the part which
66 // i s not ’ v i s i b l e ’ from the keepPoint . The f i n a l number o f c e l l s might
67 // a c tua l l y be a l o t l e s s .
68 maxGlobalCel ls 2000000;
69
70 // The su r f a c e re f inement loop might spend l o t s o f i t e r a t i o n s r e f i n i n g j u s t a
71 // few c e l l s . This s e t t i n g w i l l cause re f inement to stop i f <= minimumRefine
72 // are s e l e c t e d f o r re f inement . Note : i t w i l l at l e a s t do one i t e r a t i o n
73 // ( un l e s s the number o f c e l l s to r e f i n e i s 0)
74 minRef inementCel ls 0 ;
75
76 // Allow a c e r t a i n l e v e l o f imbalance during r e f i n i n g
77 // ( s i n c e ba lanc ing i s qu i t e expens ive )
78 // Expressed as f r a c t i o n o f p e r f e c t balance (= ov e r a l l number o f c e l l s /
79 // nProcs ) . 0=balance always .
80 maxLoadUnbalance 0 . 1 ;
81
82 // Number o f bu f f e r l a y e r s between d i f f e r e n t l e v e l s .
83 // 1 means normal 2 : 1 re f inement r e s t r i c t i o n , l a r g e r means s lower
84 // re f inement .
85 nCel l sBetweenLeve ls 3 ;
86
87
88 // Exp l i c i t f e a t u r e edge re f inement
89 // ˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜
90
91 // S p e c i f i e s a l e v e l f o r any c e l l i n t e r s e c t e d by e x p l i c i t l y provided
92 // edges .
93 // This i s a featureEdgeMesh , read from constant / t r i S u r f a c e f o r now .
94 // Spec i f y ’ l e v e l s ’ in the same way as the ’ d i s t ance ’ mode in the
95 // re f inementReg ions ( s ee below ) . The o ld s p e c i f i c a t i o n
96 // l e v e l 2 ;
97 // i s equ iva l en t to
98 // l e v e l s ( (0 2) ) ;
99
100 f e a t u r e s //Disabled because the re f inement w i l l be sur face−based ( as i n t e r a l
a i r c r a f t c e l l s are removed )
101
102 (
103 //{104 // f i l e ” a i r c r a f t . eMesh ” ;
105 // l e v e l s ( (4 4) ) ;
106 //}107 ) ;
108
109 // Sur face based re f inement
110 // ˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜
111
112 // S p e c i f i e s two l e v e l s f o r every su r f a c e . The f i r s t i s the minimum l ev e l ,
113 // every c e l l i n t e r s e c t i n g a su r f a c e ge t s r e f i n e d up to the minimum l e v e l .
114 // The second l e v e l i s the maximum l e v e l . C e l l s that ’ s e e ’ mu l t ip l e
115 // i n t e r s e c t i o n s where the i n t e r s e c t i o n s make an
Jordi Casacuberta Puig 156
OPENFOAM GUIDE FOR BEGINNERS
116 // ang le > r e so lveFeatureAng le get r e f i n e d up to the maximum l e v e l .
117
118 r e f i n ementSur f a c e s
119 {120
121 a i r c r a f t . s t l //STL f i l ename where a l l the r e g i on s are added
122 {123 l e v e l (6 6) ;
124 r e g i on s
125 {126 /∗ zone0 //Named reg i on in the STL f i l e
127 {128 // Surface−wise min and max re f inement l e v e l
129 l e v e l (2 2) ;
130 // Optional s p e c i f i c a t i o n o f patch type ( d e f au l t i s wa l l ) . No
131 // c on s t r a i n t types ( c y c l i c , symmetry ) e t c . are a l lowed .
132 patchIn fo
133 {134 type patch ;
135 inGroups (meshedPatches ) ;
136 }137 }∗/138 }139 }140 }141
142 // Feature ang le :
143 // − used i f min and max re f inement l e v e l o f a su r f a c e d i f f e r
144 // − used i f f e a t u r e snapping ( see snapContro ls below ) i s used
145 r e so lveFeatureAng le 30 ;
146
147
148 // Region−wise re f inement
149 // ˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜
150
151 // S p e c i f i e s re f inement l e v e l f o r c e l l s in r e l a t i o n to a su r f a c e . One o f
152 // three modes
153 // − d i s t ance . ’ l e v e l s ’ s p e c i f i e s per d i s t anc e to the su r f a c e the
154 // wanted re f inement l e v e l . The d i s t an c e s need to be s p e c i f i e d in
155 // i n c r e a s i n g order .
156 // − i n s i d e . ’ l e v e l s ’ i s only one entry and only the l e v e l i s used . Al l
157 // c e l l s i n s i d e the su r f a c e get r e f i n e d up to the l e v e l . The su r f a c e
158 // needs to be c l o s ed f o r t h i s to be p o s s i b l e .
159 // − out s id e . Same but c e l l s ou t s i d e .
160
161 re f inementReg ions
162 {163 ref inementBox
164 {165 mode i n s i d e ;
166 l e v e l s ( (1E15 3) ) ; // (1E15) not r e l e van t .
167 }168
169 // a i r c r a f t . s t l
170 //{171 // mode d i s t ance ;
172 // l e v e l s ( 0 . 008 5) ;
Jordi Casacuberta Puig 157
6. Fluid dynamics of a Very Light Aircraft
173 //}174 }175
176 // Mesh s e l e c t i o n
177 // ˜˜˜˜˜˜˜˜˜˜˜˜˜˜
178
179 // After re f inement patches get added f o r a l l r e f i n ementSur f a c e s and
180 // a l l c e l l s i n t e r s e c t i n g the s u r f a c e s get put in to these patches . The
181 // s e c t i o n reachab l e from the locat ionInMesh i s kept .
182 // NOTE: This po int should never be on a face , always i n s i d e a c e l l , even
183 // a f t e r re f inement .
184 locat ionInMesh (−0.051 −0.04 −0.008) ;
185
186 // Whether any faceZones ( as s p e c i f i e d in the r e f i n ementSur f a c e s )
187 // are only on the boundary o f cor re spond ing c e l l Zon e s or a l s o a l low
188 // f r e e−s tanding zone f a c e s . Not used i f the re are no faceZones .
189 al lowFreeStandingZoneFaces t rue ;
190 }191
192 // Se t t i n g s f o r the snapping .
193 snapContro ls
194 {195 // Number o f patch smoothing i t e r a t i o n s be f o r e f i nd i n g correspondence
196 // to su r f a c e
197 nSmoothPatch 3 ;
198
199 // Maximum r e l a t i v e d i s t anc e f o r po in t s to be a t t r a c t ed by su r f a c e .
200 // True d i s t ance i s t h i s f a c t o r t imes l o c a l maximum edge l ength .
201 // Note : changed ( co r r e c t ed ) w. r . t 17x ! (17x used 2∗ t o l e r an c e )
202 t o l e r an c e 1 . 0 ;
203
204 // Number o f mesh disp lacement r e l a x a t i o n i t e r a t i o n s .
205 nSo l v e I t e r 30 ;
206
207 // Maximum number o f snapping r e l a x a t i o n i t e r a t i o n s . Should stop
208 // be f o r e upon reach ing a c o r r e c t mesh .
209 nRe laxI te r 5 ;
210
211 // Feature snapping
212
213 // Number o f f e a t u r e edge snapping i t e r a t i o n s .
214 // Leave out a l t o g e th e r to d i s ab l e .
215 nFeatureSnapIter 10 ;
216
217 // Detect ( geometr ic only ) f e a t u r e s by sampling the su r f a c e
218 // ( d e f au l t=f a l s e ) .
219 imp l i c i tFeatureSnap f a l s e ;
220
221 // Use cas t e l l a t edMeshCont ro l s : : f e a t u r e s ( d e f au l t = true )
222 exp l i c i tFea tu reSnap true ;
223
224 // Detect f e a t u r e s between mul t ip l e s u r f a c e s
225 // ( only f o r exp l i c i tFeatureSnap , d e f au l t = f a l s e )
226 multiRegionFeatureSnap f a l s e ;
227 }228
229 // Se t t i n g s f o r the l ay e r add i t i on .
Jordi Casacuberta Puig 158
OPENFOAM GUIDE FOR BEGINNERS
230 addLayersControls
231 {232 // Are the th i ckne s s parameters below r e l a t i v e to the und i s to r t ed
233 // s i z e o f the r e f i n e d c e l l ou t s id e l ay e r ( t rue ) or abso lu t e s i z e s ( f a l s e ) .
234 r e l a t i v e S i z e s t rue ;
235
236 // Layer th i c kne s s s p e c i f i c a t i o n . This can be s p e c i f i e d in one o f f our ways
237 // − expans ionRat io and f ina lLaye rTh i ckne s s ( c e l l n ea r e s t i n t e r n a l mesh )
238 // − expans ionRat io and f i r s tLaye rTh i ckne s s ( c e l l on su r f a c e )
239 // − o v e r a l l t h i c kne s s and f i r s tLaye rTh i ckne s s
240 // − o v e r a l l t h i c kne s s and f ina lLaye rTh i ckne s s
241
242 // Expansion f a c t o r f o r l a y e r mesh
243 expans ionRat io 2 ;
244
245 // Wanted th i ckne s s o f the l ay e r f u r t h e s t away from the wal l .
246 // I f r e l a t i v e S i z e s t h i s i s r e l a t i v e to und i s to r t ed s i z e o f c e l l
247 // out s id e l ay e r .
248 f i na lLaye rTh i ckne s s 0 . 4 ;
249
250 // Wanted th i ckne s s o f the l ay e r next to the wa l l .
251 // I f r e l a t i v e S i z e s t h i s i s r e l a t i v e to und i s to r t ed s i z e o f c e l l
252 // out s id e l ay e r .
253 // f i r s tLaye rTh i ckne s s 0 . 3 ;
254
255 // Wanted o v e r a l l t h i c kne s s o f l a y e r s .
256 // I f r e l a t i v e S i z e s t h i s i s r e l a t i v e to und i s to r t ed s i z e o f c e l l
257 // out s id e l ay e r .
258 // th i ckne s s 0 . 5
259
260
261 // Minimum ov e r a l l t h i c kne s s o f t o t a l l a y e r s . I f f o r any reason l ay e r
262 // cannot be above minThickness do not add l ay e r .
263 // I f r e l a t i v e S i z e s t h i s i s r e l a t i v e to und i s to r t ed s i z e o f c e l l
264 // out s id e l a y e r . .
265 minThickness 0 . 2 ;
266
267
268 // Per f i n a l patch ( so not geometry ! ) the l ay e r in fo rmat ion
269 // Note : This behaviour changed a f t e r 21x . Any non−mentioned patches
270 // now s l i d e un l e s s :
271 // − nSur faceLayers i s e x p l i c i t l y mentioned to be 0 .
272 // − ang le to nea r e s t s u r f a c e < s l ipFeatureAng l e ( s ee below )
273 l a y e r s
274 {275 a i r c r a f tPa t ch
276 {277 nSur faceLayers 2 ;
278
279 }280 maxY
281 {282 nSur faceLayers 2 ;
283 // Per patch l ay e r data
284 expans ionRat io 2 ;
285 f i na lLaye rTh i ckne s s 0 . 4 ;
286 minThickness 0 . 2 ;
Jordi Casacuberta Puig 159
6. Fluid dynamics of a Very Light Aircraft
287 }288
289 // Disab le any mesh sh r ink ing and l ay e r add i t i on on any po int o f
290 // a patch by s e t t i n g nSur faceLayers to 0
291 f rozenPatches
292 {293 nSur faceLayers 0 ;
294 }295 }296
297 // I f po in t s get not extruded do nGrow l a y e r s o f connected f a c e s that are
298 // a l s o not grown . This he lp s convergence o f the l ay e r add i t i on proce s s
299 // c l o s e to f e a t u r e s .
300 // Note : changed ( co r r e c t ed ) w. r . t 17x ! ( didn ’ t do anything in 17x )
301 nGrow 0 ;
302
303 // Advanced s e t t i n g s
304
305 // When not to extrude su r f a c e . 0 i s f l a t su r face , 90 i s when two f a c e s
306 // are pe rpend i cu l a r
307 f ea tureAng le 60 ;
308
309 // At non−patched s i d e s a l low mesh to s l i p i f ex t ru s i on d i r e c t i o n makes
310 // ang le l a r g e r than s l ipFeatureAng l e .
311 s l ipFeatureAng l e 30 ;
312
313 // Maximum number o f snapping r e l a x a t i o n i t e r a t i o n s . Should stop
314 // be f o r e upon reach ing a c o r r e c t mesh .
315 nRe laxI te r 5 ;
316
317 // Number o f smoothing i t e r a t i o n s o f s u r f a c e normals
318 nSmoothSurfaceNormals 1 ;
319
320 // Number o f smoothing i t e r a t i o n s o f i n t e r i o r mesh movement d i r e c t i o n
321 nSmoothNormals 3 ;
322
323 // Smooth l ay e r th i c kne s s over s u r f a c e patches
324 nSmoothThickness 10 ;
325
326 // Stop l ay e r growth on h igh ly warped c e l l s
327 maxFaceThicknessRatio 0 . 5 ;
328
329 // Reduce l ay e r growth where r a t i o th i c kne s s to medial
330 // d i s t ance i s l a r g e
331 maxThicknessToMedialRatio 0 . 3 ;
332
333 // Angle used to pick up medial ax i s po in t s
334 // Note : changed ( co r r e c t ed ) w. r . t 17x ! 90 degree s cor responds to 130 in 17x .
335 minMedianAxisAngle 90 ;
336
337 // Create bu f f e r r eg i on f o r new l ay e r t e rminat i ons
338 nBufferCel l sNoExtrude 0 ;
339
340 // Overa l l max number o f l a y e r add i t i on i t e r a t i o n s . The mesher w i l l e x i t
341 // i f i t r eaches t h i s number o f i t e r a t i o n s ; p o s s i b l y with an i l l e g a l
342 // mesh .
343 nLayer I te r 50 ;
Jordi Casacuberta Puig 160
OPENFOAM GUIDE FOR BEGINNERS
344
345 // Max number o f i t e r a t i o n s a f t e r which re l axed meshQuality c on t r o l s
346 // get used . Up to nRe laxI te r i t uses the s e t t i n g s in meshQualityControls ,
347 // a f t e r nRe laxI te r i t uses the va lue s in meshQual ityControls : : r e l axed .
348 nRelaxedIter 20 ;
349
350 // Addi t iona l r epo r t i ng : i f the re are j u s t a few f a c e s where the re
351 // are mesh e r r o r s ( a f t e r adding the l a y e r s ) p r i n t t h e i r f a c e c en t r e s .
352 // This he lp s in t rack ing down problemat ic mesh areas .
353 // add i t i ona lRepor t ing t rue ;
354 }355
356 // Generic mesh qua l i t y s e t t i n g s . At any undoable phase these determine
357 // where to undo .
358 meshQual ityControls
359 {360 // Maximum non−o r thogona l i t y a l lowed . Set to 180 to d i s ab l e .
361 maxNonOrtho 45 ;
362
363 // Max skewness a l lowed . Set to <0 to d i s ab l e .
364 maxBoundarySkewness 20 ;
365 maxInternalSkewness 4 ;
366
367 // Max concaveness a l lowed . I s ang le ( in degree s ) below which concav i ty
368 // i s a l lowed . 0 i s s t r a i g h t face , <0 would be convex f a c e .
369 // Set to 180 to d i s ab l e .
370 maxConcave 80 ;
371
372 // Minimum pyramid volume . I s abso lu t e volume o f c e l l pyramid .
373 // Set to a s e n s i b l e f r a c t i o n o f the sma l l e s t c e l l volume expected .
374 // Set to very negat ive number ( e . g . −1E30) to d i s ab l e .
375 minVol 1e−13;
376
377 // Minimum qua l i t y o f the t e t formed by the face−c en t r e378 // and va r i ab l e base po int minimum decomposit ion t r i a n g l e s and
379 // the c e l l c en t r e . This has to be a p o s i t i v e number f o r t r a ck ing
380 // to work . Set to very negat ive number ( e . g . −1E30) to
381 // d i s ab l e .
382 // <0 = i n s i d e out tet ,
383 // 0 = f l a t t e t
384 // 1 = regu l a r t e t
385 minTetQuality 1e−9;
386
387 // Minimum fac e area . Set to <0 to d i s ab l e .
388 minArea −1;389
390 // Minimum fac e tw i s t . Set to <−1 to d i s ab l e . dot product o f f a c e normal
391 // and f a c e cen t r e t r i a n g l e s normal
392 minTwist 0 . 0 5 ;
393
394 // minimum normal i sed c e l l determinant
395 // 1 = hex , <= 0 = fo lded or f l a t t e n e d i l l e g a l c e l l
396 minDeterminant 0 . 0 0 1 ;
397
398 // minFaceWeight (0 −> 0 . 5 )
399 minFaceWeight 0 . 0 5 ;
400
Jordi Casacuberta Puig 161
6. Fluid dynamics of a Very Light Aircraft
401 // minVolRatio (0 −> 1)
402 minVolRatio 0 . 0 1 ;
403
404 // must be >0 f o r Fluent c ompa t i b i l i t y
405 minTriangleTwist −1;406
407 //− i f >0 : p r e s e rve s i n g l e c e l l s with a l l po in t s on the su r f a c e i f the
408 // r e s u l t i n g volume a f t e r snapping (by approximation ) i s l a r g e r than
409 // minVolCol lapseRatio t imes o ld volume ( i . e . not c o l l ap s ed to f l a t c e l l ) .
410 // I f <0 : d e l e t e always .
411 //minVolCol lapseRatio 0 . 5 ;
412
413 // Advanced
414
415 // Number o f e r r o r d i s t r i b u t i o n i t e r a t i o n s
416 nSmoothScale 4 ;
417 // amount to s c a l e back disp lacement at e r r o r po in t s
418 er rorReduct ion 0 . 7 5 ;
419
420 // Optional : some meshing phases a l low usage o f r e l axed r u l e s .
421 // See e . g . addLayersControls : : nRe laxedIter .
422 r e l axed
423 {424 //− Maximum non−o r thogona l i t y a l lowed . Set to 180 to d i s ab l e .
425 maxNonOrtho 45 ;
426 }427 }428
429 // Advanced
430
431 // Flags f o r op t i ona l output
432 // 0 : only wr i t e f i n a l meshes
433 // 1 : wr i t e in t e rmed ia te meshes
434 // 2 : wr i t e v o l S c a l a rF i e l d with c e l l L e v e l f o r po s tp ro c e s s i ng
435 // 4 : wr i t e cur rent i n t e r s e c t i o n s as . obj f i l e s
436 debug 0 ;
437
438 // Merge t o l e r an c e . I s f r a c t i o n o f o v e r a l l bounding box o f i n i t i a l mesh .
439 // Note : the wr i t e t o l e r an c e needs to be h igher than t h i s .
440 mergeTolerance 1e−6;
441
442 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
To start meshing, make sure that the first switch is set to true while the others are
set to false (lines 18 through 20). Then, within the case directory, type:
snappyHexMesh
The first switch, controlling the castellatedMeshControls uses the cells of the back-
ground mesh to divide the domain in small cubes according to the instructions
specified in the dictionary. A new directory has appeared (named 1 if deltaT and
Jordi Casacuberta Puig 162
OPENFOAM GUIDE FOR BEGINNERS
writeInterval have been previously set to 1). It contains the information of the first
meshing process of snappyHexMesh.
The results are shown in the following figure:
Figure 6.6: Shape of the aircraft at the first step of the meshing process of snappy-HexMesh
To obtain the results shown in Figure 6.6, launch ParaView, go to time interval 1
and select aircraftPatch located in Mesh Parts.
As it was previously said, the internal cells of the aircraft are removed. This charac-
teristic, as well as the cell refinement distribution along the domain can be observed
in the following figures:
Jordi Casacuberta Puig 163
6. Fluid dynamics of a Very Light Aircraft
Figure 6.7: Mesh of the domain at the first step of the meshing process of snappy-HexMesh
Figure 6.8: Detail of the mesh at the first step of the meshing process of snappy-HexMesh
Jordi Casacuberta Puig 164
OPENFOAM GUIDE FOR BEGINNERS
Figure 6.9: Detail of the mesh with a representation of the cell refinement at thefirst step of the meshing process of snappyHexMesh
For the representation of the previous Figures, internalMesh has to be selected
instead of aircraftPatch. Moreover, as the aircraft shape is internal, a cut using
the Clip icon has to be used. To show the cell refinement as a field, click the Volume
Fields box located within Properties. Then, select the cellLevel option in the first
drop-down menu at the top of ParaView’s screen.
As it can be seen in previous figures, the surface of the aircraft is irregular and cube-
based. The second switch of snappyHexMesh controls the snapControls, involving the
displacement of boundary vertices to conform to surface. All vertex displacements
are reversible to ensure mesh quality.
To proceed to the next step, set the first switch to false, the second to true and type:
snappyHexMesh
Once it has been run, the user can observe the 2 directory within the case containing
the information generated. During this second process, castellated mesh boundary
and internal mesh have been smoothed. Furthermore, mesh boundary is snapped to
geometry surface.
Now, in ParaView, the user can use the time control buttons to view the background
mesh (t = 0), the castellated mesh (t = 1) and the mesh generated in the second
step of snappyHexMesh (t = 2). In the following figures it is possible to observe the
Jordi Casacuberta Puig 165
6. Fluid dynamics of a Very Light Aircraft
differences between directories 1 and 2 :
t = 1 t = 2
Now, the mesh of the Very Light Aircraft case is ready.
It exists a third switch in snappyHexMesh which introduces cell layers at the patches
of the case. When doing it, surface points are identified and are not displaced. In
the current tutorial, this third process of snappyHexMesh is not going to be used.
Finally, it is important to mention that the snappyHexMeshDict file is complex to
fully understand; it includes a lot of instructions and only with time and experience it
is possible to reach a broad domain of its contents. Nevertheless, the user can identify
some basic instructions that are relevant when preparing the meshing process:
• Name of the geometry used for the meshing process: line 30
• Definition of cell refinement level at the patches of the domain: lines
118 through 140
• Specification of a point contained in the volume which will be meshed:
line 184
Regarding the last sentence, as in the current case the point specified is located
outside the aircraft, its internal cells have been removed while the background mesh
has become the fluid domain.
Advice:
If the user wants to remesh the case (changing or not the instructions of
snappyHexMeshDict) it is first necessary to remove 1 and 2 directories.
Then, after setting the switches properly, snappyHexMesh can be run
again
Jordi Casacuberta Puig 166
OPENFOAM GUIDE FOR BEGINNERS
6.0.21.2 Boundary and initial conditions
Besides the p and U files, as the case is set turbulent, three new files are necessary
to be created. Their names are k , nut and omega. These dictionaries contain the
boundary conditions of the parameters used to implement the SST k-w turbulence
model. Before discussing their calculation, the boundary conditions for p and U
are:
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s v o l S c a l a rF i e l d ;
13 ob j e c t p ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 dimensions [ 0 2 −2 0 0 0 0 ] ;
18
19 i n t e r n a l F i e l d uniform 0 ;
20
21 boundaryField
22 {23 i n l e t
24 {25 type f r e e s t r eamPre s su r e ;
26 }27
28 ou t l e t
29 {30 type f r e e s t r eamPre s su r e ;
31 }32
33 a i r c r a f tPa t ch
34 {35 type zeroGradient ;
36 }37
38 top
39 {40 type s l i p ;
41 }42
43 bottom
44 {45 type s l i p ;
46 }47
Jordi Casacuberta Puig 167
6. Fluid dynamics of a Very Light Aircraft
48 frontAndBack
49 {50 type s l i p ;
51 }52
53 }54
55 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s vo lVec to rF i e ld ;
13 ob j e c t U;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 dimensions [ 0 1 −1 0 0 0 0 ] ;
18
19 i n t e r n a l F i e l d uniform (−45 0 0) ;
20
21 boundaryField
22 {23 i n l e t
24 {25 type f r e e s t r eam ;
26 f r ees t reamValue uniform (−45 0 0) ;
27 }28
29 ou t l e t
30 {31 type f r e e s t r eam ;
32 f r ees t reamValue uniform (−45 0 0) ;
33 }34
35 a i r c r a f tPa t ch
36 {37 type f ixedValue ;
38 value uniform (0 0 0) ;
39 }40
41 top
42 {43 type s l i p ;
44 }45
46 bottom
47 {
Jordi Casacuberta Puig 168
OPENFOAM GUIDE FOR BEGINNERS
48 type s l i p ;
49 }50
51 frontAndBack
52 {53 type s l i p ;
54 }55 }56
57 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
Caution:
As in the current case there is not 0 directory, the dictionaries of p, U ,
k , nut and omega are included within the last directory generated with
snappyHexMesh
The dictionaries of k , nut and omega are:
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format binary ;
12 c l a s s v o l S c a l a rF i e l d ;
13 l o c a t i o n ”2” ;
14 ob j e c t k ;
15 }16 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
17
18 dimensions [ 0 2 −2 0 0 0 0 ] ;
19
20 i n t e r n a l F i e l d uniform 1 . 2 1 5 ;
21
22 boundaryField
23 {24 i n l e t
25 {26 type f ixedValue ;
27 value uniform 1 . 2 1 5 ;
28 }29
30 ou t l e t
31 {32 type i n l e tOu t l e t ;
33 i n l e tVa lu e uniform 1 . 2 1 5 ;
34 value uniform 1 . 2 1 5 ;
Jordi Casacuberta Puig 169
6. Fluid dynamics of a Very Light Aircraft
35 }36
37 a i r c r a f tPa t ch
38 {39 type kqRWallFunction ;
40 value uniform 1 . 2 1 5 ;
41 }42
43 top
44 {45 type s l i p ;
46 }47
48 bottom
49 {50 type s l i p ;
51 }52
53 frontAndBack
54 {55 type s l i p ;
56 }57 }58
59 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format binary ;
12 c l a s s v o l S c a l a rF i e l d ;
13 l o c a t i o n ”2” ;
14 ob j e c t nut ;
15 }16 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
17
18 dimensions [ 0 2 −1 0 0 0 0 ] ;
19
20 i n t e r n a l F i e l d uniform 0 ;
21
22 boundaryField
23 {24 i n l e t
25 {26 type c a l c u l a t ed ;
27 value uniform 0 ;
28 }29
30 ou t l e t
Jordi Casacuberta Puig 170
OPENFOAM GUIDE FOR BEGINNERS
31 {32 type c a l c u l a t ed ;
33 value uniform 0 ;
34 }35
36 a i r c r a f tPa t ch
37 {38 type nutkWallFunction ;
39 value uniform 0 ;
40 }41
42 top
43 {44 type c a l c u l a t ed ;
45 value uniform 0 ;
46 }47
48 bottom
49 {50 type c a l c u l a t ed ;
51 value uniform 0 ;
52 }53
54 frontAndBack
55 {56 type c a l c u l a t ed ;
57 value uniform 0 ;
58 }59 }60
61 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format binary ;
12 c l a s s v o l S c a l a rF i e l d ;
13 l o c a t i o n ”2” ;
14 ob j e c t omega ;
15 }16 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
17
18 dimensions [ 0 0 −1 0 0 0 0 ] ;
19
20 i n t e r n a l F i e l d uniform 2147 . 745 ;
21
22 boundaryField
23 {24 i n l e t
Jordi Casacuberta Puig 171
6. Fluid dynamics of a Very Light Aircraft
25 {26 type f ixedValue ;
27 value uniform 2147 .745 ;
28 }29
30 ou t l e t
31 {32 type i n l e tOu t l e t ;
33 i n l e tVa lu e uniform 2147 . 745 ;
34 value uniform 2147 .745 ;
35 }36
37 a i r c r a f tPa t ch
38 {39 type omegaWallFunction ;
40 value uniform 2147 .745 ;
41 }42
43 top
44 {45 type s l i p ;
46 }47
48 bottom
49 {50 type s l i p ;
51 }52
53 frontAndBack
54 {55 type s l i p ;
56 }57 }58
59 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
k, νt and ω are parameters required to simulate the case with a turbulence model.
Mathematically, they are determined as:
k =3
2(|U|I)2 (6.5)
ω =C−0.25µ k0.5
l(6.6)
Cµ = 0.09k (6.7)
Where |U| is the mean flow velocity, I is the turbulence intensity and l the turbulent
length scale. They can be computed as:
Jordi Casacuberta Puig 172
OPENFOAM GUIDE FOR BEGINNERS
I ≈ 2%
l ≈ 0.07 · c
With these assumptions, k = 1.215, Cµ = 0.109 and ω = 2147.745.
6.0.21.3 Physical properties
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s d i c t i ona ry ;
13 ob j e c t t r an spo r tP rope r t i e s ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 transportModel Newtonian ;
18
19 nu nu [ 0 2 −1 0 0 0 0 ] 1 . 5 e−07;
20
21 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s d i c t i ona ry ;
13 ob j e c t RASProperties ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 RASModel kOmegaSST ;
18
19 turbu lence on ;
20
Jordi Casacuberta Puig 173
6. Fluid dynamics of a Very Light Aircraft
21 p r i n tCoe f f s on ;
22
23 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
Remember that although the medium is air, ν = 1.5×10−7 to maintain the Reynolds
number as the dimensional analysis showed.
6.0.21.4 Control
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s d i c t i ona ry ;
13 ob j e c t con t r o lD i c t ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 app l i c a t i on simpleFoam ;
18
19 startFrom lates tTime ;
20
21 startTime 0 ;
22
23 stopAt endTime ;
24
25 endTime 300 ;
26
27 deltaT 1 ;
28
29 wr i teContro l t imeStep ;
30
31 wr i t e I n t e r v a l 1 ;
32
33 purgeWrite 0 ;
34
35 writeFormat binary ;
36
37 wr i t eP r e c i s i o n 6 ;
38
39 writeCompress ion uncompressed ;
40
41 timeFormat gene ra l ;
42
43 t imePrec i s i on 6 ;
44
45 runTimeModif iable t rue ;
Jordi Casacuberta Puig 174
OPENFOAM GUIDE FOR BEGINNERS
46
47 f un c t i on s
48 {49 #inc lude ” r eadF i e l d s ”
50 #inc lude ” cutt ingPlane ”
51 #inc lude ” f o r c eCo e f f s ”
52 }53
54 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
As it can be seen, at lines 47 through 52 the program is using external functions to
develop specific tasks. While the case is running, these external functions are called
using its dictionaries located within system. It facilitates the treatment of the code.
For instance, it is not necessary to include all the instructions to calculate the force
coefficients directly in controlDict. The dictionaries are shown in Section 6.0.21.6.
6.0.21.5 Discretization and linear-solver settings
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s d i c t i ona ry ;
13 ob j e c t fvSchemes ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 ddtSchemes
18 {19 de f au l t s t eadyState ;
20 }21
22 gradSchemes
23 {24 de f au l t Gauss l i n e a r ;
25 grad (U) c e l l L im i t ed Gauss l i n e a r 1 ;
26 }27
28 divSchemes
29 {30 de f au l t none ;
31 div ( phi ,U) bounded Gauss linearUpwindV grad (U) ;
32 div ( phi , k ) bounded Gauss upwind ;
33 div ( phi , omega ) bounded Gauss upwind ;
34 div ( ( nuEff∗dev (T( grad (U) ) ) ) ) Gauss l i n e a r ;
35 }
Jordi Casacuberta Puig 175
6. Fluid dynamics of a Very Light Aircraft
36
37 l ap lac ianSchemes
38 {39 de f au l t Gauss l i n e a r co r r e c t ed ;
40 }41
42 i n t e rpo la t i onSchemes
43 {44 de f au l t l i n e a r ;
45 }46
47 snGradSchemes
48 {49 de f au l t c o r r e c t ed ;
50 }51
52 f luxRequ i red
53 {54 de f au l t no ;
55 p ;
56 }57
58 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8 FoamFile
9 {10 ve r s i on 2 . 0 ;
11 format a s c i i ;
12 c l a s s d i c t i ona ry ;
13 ob j e c t f vSo lu t i on ;
14 }15 // ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ //
16
17 s o l v e r s
18 {19 p
20 {21 s o l v e r GAMG;
22 t o l e r an c e 1e−7;
23 r e lTo l 0 . 0 1 ;
24 smoother GaussSe ide l ;
25 nPreSweeps 0 ;
26 nPostSweeps 2 ;
27 cacheAgglomeration on ;
28 agglomerator faceAreaPai r ;
29 nCe l l s InCoar s e s tLeve l 10 ;
30 mergeLevels 1 ;
31 }32
Jordi Casacuberta Puig 176
OPENFOAM GUIDE FOR BEGINNERS
33 U
34 {35 s o l v e r smoothSolver ;
36 smoother GaussSe ide l ;
37 t o l e r an c e 1e−8;
38 r e lTo l 0 . 1 ;
39 nSweeps 1 ;
40 }41
42 k
43 {44 s o l v e r smoothSolver ;
45 smoother GaussSe ide l ;
46 t o l e r an c e 1e−8;
47 r e lTo l 0 . 1 ;
48 nSweeps 1 ;
49 }50
51 omega
52 {53 s o l v e r smoothSolver ;
54 smoother GaussSe ide l ;
55 t o l e r an c e 1e−8;
56 r e lTo l 0 . 1 ;
57 nSweeps 1 ;
58 }59 }60
61 SIMPLE
62 {63 nCorrector s 1 ;
64 nNonOrthogonalCorrectors 2 ;
65 pRefCel l 0 ;
66 pRefValue 0 ;
67 }68
69 potent ia lF low
70 {71 nNonOrthogonalCorrectors 10 ;
72 }73
74 r e l axa t i onFac t o r s
75 {76 f i e l d s
77 {78 p 0 . 3 ;
79 }80 equat ions
81 {82 U 0 . 5 ;
83 k 0 . 5 ;
84 omega 0 . 5 ;
85 }86 }87
88 cache
89 {
Jordi Casacuberta Puig 177
6. Fluid dynamics of a Very Light Aircraft
90 grad (U) ;
91 }92
93 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
6.0.21.6 External functions
This section contains the dictionaries used by the functions of controlDict. They
must be copied into files named readFiles, forceCoeffs and cuttingPlane respectively.
They are located within system.
readFields
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8
9 // Make sure a l l f i e l d s f o r func t i onObjec t s are loaded . Prevents any
10 // problems running with execFlowFunctionObjects .
11 r eadF i e ld s
12 {13 // Where to load i t from ( i f not a l r eady in s o l v e r )
14 funct i onObjec tL ibs ( ” l i b f i e l dFunc t i o nOb j e c t s . so ” ) ;
15
16 type r eadF i e l d s ;
17 f i e l d s (p U k) ;
18 }19
20
21 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
forceCoeffs
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8
9 f o r c e s
10 {11 type f o r c e s ;
12 funct i onObjec tL ibs ( ” l i b f o r c e s . so ” ) ; //Lib to load
Jordi Casacuberta Puig 178
OPENFOAM GUIDE FOR BEGINNERS
13 outputControl t imeStep ;
14 output In t e rva l 1 ;
15 patches ( a i r c r a f tPa t ch ) ; //Patch name over f o r c e s w i l l be
c a l c u l a t ed
16 pName p ;
17 UName U;
18 rhoName rho In f ; // Reference dens i ty
19 l og t rue ;
20 rho In f 1 . 2 2 5 ; //Air dens i ty
21 CofR (0 0 0) ; //Or ig in f o r moment c a l c u l a t i o n s
22 }23
24 f o r c eCo e f f s
25 {26 type f o r c eCo e f f s ;
27 func t i onObjec tL ibs ( ” l i b f o r c e s . so ” ) ;
28 patches ( a i r c r a f tPa t ch ) ;
29 // pName p ;
30 // UName U;
31 rhoName rho In f ;
32 rho In f 1 . 2 2 5 ;
33 CofR (0 0 0) ;
34 l i f t D i r (0 1 0) ;
35 dragDir (−1 0 0) ;
36 pi tchAxi s (0 0 1) ;
37 magUInf 45 ; // Free stream v e l o c i t y
38 lRe f 0 . 01276 ; // Mean Chord
39 Aref 0 . 001218 ; // Ref . Area
40 outputControl t imeStep ;
41 output In t e rva l 1 ;
42 }43
44 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
cuttingPlane
The cuttingPlane function generates a VTK plane cutting the fluid domain in a
specified direction. It can be easily open from the postProcessing directory once the
case has been run and allows a practial and rapid view of the p and U fields.
1 /∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗− C++ −∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗\2 | ========= | |3 | \\ / F i e l d | OpenFOAM: The Open Source CFD Toolbox |4 | \\ / O pera t i on | Vers ion : 2 . 2 . 1 |5 | \\ / A nd | Web: www.OpenFOAM. org |6 | \\/ M an ipu l a t i on | |7 \∗−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−∗/8
9 cut t ingPlane
10 {11 type s u r f a c e s ;
12 funct i onObjec tL ibs ( ” l i b samp l ing . so ” ) ;
13 outputControl outputTime ;
14
Jordi Casacuberta Puig 179
6. Fluid dynamics of a Very Light Aircraft
15 surfaceFormat vtk ;
16 f i e l d s ( p U ) ;
17
18 i n te rpo la t ionScheme c e l l P o i n t ;
19
20 s u r f a c e s
21 (
22 yNormal
23 {24 type cutt ingPlane ;
25 planeType pointAndNormal ;
26 pointAndNormalDict
27 {28 basePoint (0 0 0) ;
29 normalVector (0 1 0) ;
30 }31 i n t e r p o l a t e t rue ;
32 }33 ) ;
34 }35
36 // ∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗∗ //
At the end of the pre-processing, the structure of directories, subdirectories and files
within aircraft should be as follows:
Jordi Casacuberta Puig 180
OPENFOAM GUIDE FOR BEGINNERS
aircraft
0
p
U
k
nut
omega
constant
polyMesh
triSurface
extendedFeatureEdgeMesh
transportProperties
RASProperties
system
controlDict
fvSchemes
fvSolutions
surfaceFeatureExtractDict
snappyHexMeshDict
readFields
cuttingPlane
forceCoeffs
6.0.22 Post-processing
6.0.22.1 Results of the simulation
The pressure field around the aircraft:
Jordi Casacuberta Puig 181
6. Fluid dynamics of a Very Light Aircraft
Figure 6.10: Pressure field around the aircraft (m2/s2)
The velocity field in the whole domain:
Figure 6.11: Velocity field in the domain of the aircraft case (m/s)
The velocity field around the aircraft:
Jordi Casacuberta Puig 182
OPENFOAM GUIDE FOR BEGINNERS
Figure 6.12: Velocity field around the aircraft (m/s)
At the end of the simulation, the values of drag coefficient and lift coefficient stabi-
lized at:
• CD = 0.0276
• CL = 0.005
Although the value of the drag coefficient matches with other real very light aircrafts
(as for instance the Cessna 172), the lift coefficient is very low, and therefore the
aerodynamic efficiency (E = L/D) is far from the current commercial aircrafts.
As it was explained, the aircraft geometry used in this chapter was not designed
according to a realistic aerodynamic study (as it would have been CFD or wind
tunnel experiments).
Another consideration that must be done is the fact that although the case is set
turbulent, the wake of the aircraft shows a continuous appearance. It is because a
RAS turbulence model has been used, based on average flow conditions. If other
turbulence models had been used (as for instance LES or DNS), it would have been
possible to observe turbulence in the wake.
For Figures 6.11 and 6.12, the VTK plane obtained from the postProcessing directory
has been used.
Jordi Casacuberta Puig 183
Top Related