Advanced Computational Models FLUENT_NOTES
-
Upload
api-3803751 -
Category
Documents
-
view
2.489 -
download
6
Transcript of Advanced Computational Models FLUENT_NOTES
![Page 1: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/1.jpg)
ME469B/4/GI 1
Advanced Computational Models
Grid Adaptation
Non-conformal Interfaces
Moving Boundaries
Deforming Boundaries…
![Page 2: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/2.jpg)
ME469B/4/GI 2
Grid Adaptivity
The computational grid can be refined and/or coarsened based ongeometrical and numerical solution data
Useful for:Capture flow features in detailsIncrease resolution in near-wall regionsImprove grid quality…
![Page 3: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/3.jpg)
ME469B/4/GI 3
Grid Adaptivity Example
Computational DomainFlow in a complex passage
A uniform triangular gridis likely to be inappropriate tocapture all the feature of the flow
![Page 4: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/4.jpg)
ME469B/4/GI 4
Adaptation Process
Definition of the adaptation function (based on geometrical and/or solution data)
Selection of the cells to be refined or coarsened (marking or tagging)
Selection of grid refinement/coarsening scheme
Adaptation
Interpolation of the previous solution onto the new grid (automatic)
![Page 5: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/5.jpg)
ME469B/4/GI 5
Adaptation Functions
GeometricalRegion BoundaryVolume
Solution basedIsovalue Gradienty+
![Page 6: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/6.jpg)
ME469B/4/GI 6
Region Adaptation
This is the same option we used for “global” grid refinement to study thegrid convergence of the solutions
Adapt Æ Region
Select a region shape
Input the geometrical definitionof the region
![Page 7: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/7.jpg)
ME469B/4/GI 7
Boundary Adaptation
Adapt Æ BoundarySelect a boundary of the computational domain
Three options:cell distancenormal distancevolume distance
![Page 8: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/8.jpg)
ME469B/4/GI 8
Boundary Adaptation
Adaptation based on a cell’s distance from the selected boundary measuredin number of cells. (1 means only the cells attached to the boundary)
Adaptation based on a cell’s normal distance from the selected boundary
Adaptation based on a target boundary volume(specify a target volume and a growth factor a)
Vcell = Vtarget e ad
This adaptation attempts to generate boundary-layer type grid
![Page 9: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/9.jpg)
ME469B/4/GI 9
Volume Adaptation
Adapt Æ VolumeBased on cell volume (area in 2D):
Two options:magnitude (threshold values)change (neighbor change)
Allow to compute the range in your grid
![Page 10: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/10.jpg)
ME469B/4/GI 10
Isovalue Adaptation
Adapt Æ IsoValueAll field values are available (includingequation residuals, customized and grid-related functions)
Method:specify the functionspecify a rangespecify the inside/outside option
![Page 11: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/11.jpg)
ME469B/4/GI 11
Gradient Adaptation
As before all field values are available(including equation residuals, customizedand grid-related functions)
Method:specify the functionspecify a range
Note that the option is refine/coarsenCells above the Refine Threshold are RefinedCells below the Coarsen Threshold are Coarsened
Adapt Æ Gradient
![Page 12: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/12.jpg)
ME469B/4/GI 12
y+ Adaptation
Adapt Æ y+Useful for turbulent flow simulations
Method:specify the wall boundariesspecify the range (as before)
Note y* is a friendlier version of y+
y+ = r yp ut /m y* = r Cm1/4 kp
1/2 yp /m
![Page 13: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/13.jpg)
ME469B/4/GI 13
Mark (Tag) and display
Before performing the adaptation you can mark the cell selected (based ona certain adaptation function) and display them
Adapt Æ Region Æ Control Æ Display
Only the selected cells will be displayed
![Page 14: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/14.jpg)
ME469B/4/GI 14
Mark or Adapt?
Mark allows to evaluate the effect ofa refining/coarsening procedure withoutactually changing the grid
Marked cells are saved in registers thatcan be combined or manipulated before Adapting
Adapt is usually used only at the end whenall The desired cells are marked
markadapt
![Page 15: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/15.jpg)
ME469B/4/GI 15
Managing Registers
Adapt Æ <method> Æ Manage Marked cells are saved in registers
Adapt registers: collection of cellsMask registers: binary tagging to all cells in active and inactive
Operations on the registers are:
Union: combine two adapt registers (or more)Intersection: combine adapt and mask registersChange Type: convert a adapt in mask and viceversaDelete: eliminate a register
Exchange: swap an adapt register (coarse Æ refine)Invert: swap a mask register (active Æ inactive)Limit: apply the adaptations limits to a register Fill: mark for coarsening all the cells not in the register
![Page 16: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/16.jpg)
ME469B/4/GI 16
Adaptation controls
Adapt Æ <method> Æ Manage Æ Control Set limits on the adaptation procedure(i.e. maximum number of final cells)
Select the adaptation schemeConformalHanging Nodes
![Page 17: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/17.jpg)
ME469B/4/GI 17
Hanging-Node and Conformal Adaptation
Cell to be refined
![Page 18: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/18.jpg)
ME469B/4/GI 18
Hanging-Node Adaptation
Selected cells (father) are refined homothetically (kids)
Nodes are added on the edges of the father cell andconnectivity information are generated to linkthe kids to the father neighbors
Memory penalty associated to the additional connectivityInformation required and to the presence of an inactive father cell
Neighboring cells are not allowed to differ more than one-level of refinement(because of inaccuracy related to large volume variations)
Coarsening can be only performed on previously refined regions. Kids are deleted and the father cell becomes active
father
kids
![Page 19: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/19.jpg)
ME469B/4/GI 19
Conformal Adaptation
Selected cells are refined by splitting the longest edge
It is inherently conservative because the cell connectivity is not modified
No memory penalty (the old cells are deleted and the only the new are stored)
Low quality meshes can be improved (refinement not homothetic)
Coarsening can be applied everywhere and corresponds to a local remeshing
Can only be applied to triangular (tetrahedral) grids
In is NOT as local as the hanging-node approach
![Page 20: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/20.jpg)
ME469B/4/GI 20
Grid Adaptivity Guidelines
Surface mesh should be fine enough to capture all the essential geometricalfeatures of the model (especially for high curvature surfaces)
The initial mesh should be fine enough to capture the overall features of theflow
A reasonably converged solution must be obtained before adapting the grid
Suitable flow-adaptation criteria are crucial to obtain increased resolution ofselected region (i.e. velocity gradients are better than pressure gradient inincompressible flows and high values of turbulent quantities are relevant forturbulent flows)
![Page 21: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/21.jpg)
ME469B/4/GI 21
Boundary Grid Adaptivity
Original geometry
Poor boundary resolution cannot be improved via grid refinement
![Page 22: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/22.jpg)
ME469B/4/GI 22
Non-conformal grids
Grid generation can be simplified in certain problems by meshingvarious components separately. The grids have to be coupled usinga non-conformal interface
Triangular grid
Quadrilateral grid
![Page 23: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/23.jpg)
ME469B/4/GI 23
Non-conformal grid interfaces
The matching conditions between the two faces have to be definedCoupled interface: the interface is actually an internal face (no bc)Periodic interface: the matching allows to specify pressure gradients
Define Æ Grid Interface
![Page 24: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/24.jpg)
ME469B/4/GI 24
Non-conformal grid interfaces - Example
Channel flow
Periodic Boundaries
Non-conformal interface Velocity contours (cell values)
![Page 25: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/25.jpg)
ME469B/4/GI 25
Non-conformal Interface Guidelines
Grid interface can be of any shape (2D and 3D) but the surfaces to be machedMUST be based on the same geometry especially for highly curved surfaces
Grid resolution at the two sides of the interfaces can be different; accuracy(and fluxes conservation) degrades for highly different mesh size
Non-conformal interfaces are binary connectivity between two (and onlytwo) zones.
![Page 26: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/26.jpg)
ME469B/4/GI 26
Moving Zones
Several industrial applications involve flow through a domain which containsa moving component (propellers, turbines, etc.)
Time
movingstationary
![Page 27: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/27.jpg)
ME469B/4/GI 27
Advanced Computational Models
• Grid Adaptivity• Non-Conformal Grid Interfaces• Moving Zones
![Page 28: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/28.jpg)
ME469B/4/GI 28
Modeling Moving Zones
Different approaches can be followed:
1) Single Reference Frame Model (SRFM)2) Multiple Reference Frame Model (MRFM)3) Mixing Plane Model (MPM)4) Sliding Mesh Model (SMM)5) Mesh Deformation6) Remeshing
![Page 29: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/29.jpg)
ME469B/4/GI 29
Simplest model available; entire computational domain is referred to a rotating reference frame (domain moves with the reference frame)
The equations are rewritten in the moving reference frame and a Coriolisacceleration term appears as a source for the momentum balance
Boundaries that move with the frame can assume any shape BUT boundariesthat are stationary MUST be surface of revolution
Single Reference Frame Model
![Page 30: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/30.jpg)
ME469B/4/GI 30
Single Reference Frame Set-Up
Define Æ Models Æ Solver
Velocity formulation
Absolute: the unknowns are the fieldvariables in the stationary reference frame
Relative: the unknowns are the fieldvariables in the moving reference frame
Note: the relative is only available in theSegregated solver and it is usually faster
![Page 31: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/31.jpg)
ME469B/4/GI 31
Single Reference Frame Boundary ConditionsDefine Æ Boundary ConditionÆ Fluid Æ Wall
Define the axis of rotationSelect moving reference frameDefine the angular speed
Stationary surfaces: zero absolute rotational speedMoving surfaces: zero rotational speed relative to
the adjacent zone
![Page 32: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/32.jpg)
ME469B/4/GI 32
Many rotating machinery problems involve stationary components thatcannot be represented as surface of revolution or move at different velocity
The extension is to consider separate reference frames for each component
The set-up is similar to the SRFM
MRFM ignores the relative motions of subdomains and the Coriolis body-forces are local to each region (no equivalence between stationary andmoving reference frame)
Suitable for problems where the interaction between rotating and non-rotatingcomponents is small
Multiple Reference Frame Model
![Page 33: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/33.jpg)
ME469B/4/GI 33
Sliding Mesh Model
Like the MRFM the domain is divided into moving and stationary components
Unlike the MRFM the mesh in each subdomain moves with respect to one anotherand the problem is inherently unsteady
The equations are solved in the stationary reference frame and the meshes aremoved at each time step (no approximations to the governing equations)
The sliding mesh interface is defined as a non-conformal interface
![Page 34: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/34.jpg)
ME469B/4/GI 34
SMM Example
Velocity distribution
time
![Page 35: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/35.jpg)
1
ME469B/2/GI 1
Grid Generation
• Geometry definition (simple shapes, CAD import)• Grid generation algorithms• GAMBIT• Grid quality and improvement• Automation
ME469B/2/GI 2
Grid generation package: GAMBIT
The User Manual is available from the class Web Site
Geometry Grid BC Tools
GeometryTools
VolumeTools
VisualizationTools
GraphicsWindow
Special
TextWindow
![Page 36: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/36.jpg)
2
ME469B/2/GI 3
Geometrical types - Topology
• Vertex
• Edge (2 or more vertices) • Face (3 or more edges)
• Volume (3 or more faces)
Bottom-up approach: generate low dimensional entities and build on top of them higher dimensional entities
ME469B/2/GI 4
Vertex:
Edge:
• Input Coordinates…
• Line segment (connect 2 vertices)• Circular arc• Quadratic functions• NURBS: Non-Uniform Rational B-Splines (connect N vertices)
Topologically any edge is ALWAYS a connection between 2 vertices(additional vertices used to build the geometry are NOT part of the edge)
![Page 37: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/37.jpg)
3
ME469B/2/GI 5
Face:
• Rectangular• Circular• …• Sweep (translation or rotation of an edge)• Wireframe (connecting 3 or more edges)
ME469B/2/GI 6
Volume:
• Cuboid• Sphere• Cone• Pyramids• …• Sweep (translation or rotation of a face)• Wireframe (connecting 3 or more faces)
![Page 38: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/38.jpg)
4
ME469B/2/GI 7
Manipulate Geometry - Boolean Operations:
• Unite• Substract• Intersect
Volume 1
Volume 2
it generates theintersection edge
ME469B/2/GI 8
Manipulate Geometry - Blend
smooth sharp edges
![Page 39: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/39.jpg)
5
ME469B/2/GI 9
Create Entities - Faces
ME469B/2/GI 10
Create Entities - Faces
Some entities generated using “primitives” have fewer lower topological entitiesExample:
Cube volume: 6 faces, 12 edges, 8 verticesCylinder volume: 3 faces, 2 edges, 2 vertices
![Page 40: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/40.jpg)
6
ME469B/2/GI 11
Manipulate Geometry – Create Entities
Parametric representationof the face
Create a vertex on a face
ME469B/2/GI 12
Manipulate Geometry – Create Entities
Create two edges by splitting an edge
Parametric representationof the edge
![Page 41: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/41.jpg)
7
ME469B/2/GI 13
Import Geometries
• Realistic geometries are TOO complicated to be generated from “simple” shapes• Engineering design is based on CAD systems
• Gambit is based on ACIS geometrical libraries• ACIS (Andy, Charles & Ian’s System) is the most widely used 3D modeling software technology (http://www.spatial.com)
• It can also import:• STEP (STandard for Exchange of Product model data; ISO standard)• IGES (Initial Graphics Exchange Specification; ANSI standard)• STL (STereo Lithography; Rapid Prototyping Standard)• ….
Translation between CAD and CFD system is a major bottleneck
ME469B/2/GI 14
Clean-Up a CAD Model
• Eliminate components not exposed to the flow
• Eliminate duplicated entities
• Eliminate small details
• Water-proofing the surfaces
• Rebuild geometrical connectivity between parts
![Page 42: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/42.jpg)
8
ME469B/2/GI 15
Example: Helicopter Rotor
The rotor-shaft connectionis VERY complicated
ME469B/2/GI 16
Geometrical entities
The geometry consists of 10 components3 blades, 1 shaft support, 6 connectors
![Page 43: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/43.jpg)
9
ME469B/2/GI 17
Example: Import IGES Model
IGES export is available from everyCAD system
IGES models are a collection of“untrimmed” edges and faces
Imported geometry consists of:0 volumes~250 faces~1100 edges~1000 vertices
ME469B/2/GI 18
Example: Import STEP Model
STEP export is available from manyCAD system
STEP models are a collection of partsor components
Imported geometry consists of:10 volumes~190 faces~450 edges~300 vertices
![Page 44: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/44.jpg)
10
ME469B/2/GI 19
Components “exploded”
For aerodynamic analysis the details of the rotor-shaftconnection are not important. The geometry of theblades MUST be preserved
blade
supportconnector-1
connector-2
ME469B/2/GI 20
Geometry simplification
Connectors eliminated
Support generated as a “simple” cylinder with blended side
![Page 45: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/45.jpg)
11
ME469B/2/GI 21
Geometry simplification
Blade edge cleaned andsealed
Blade-support connectoris a “simple” cuboid
ME469B/2/GI 22
Clean Geometry
This example is available on the class Web site
![Page 46: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/46.jpg)
12
ME469B/2/GI 23
Grid Generation
• Geometry definition (simple shapes, CAD import)• Grid generation algorithms• GAMBIT• Grid quality and improvement• Automation
ME469B/2/GI 24
Grid generation techniques
• Structured grids• Ordered set of (locally orthogonal) lines• Several Techniques can be used to Map a computational domain into a physical domain: Transfinite Interpolation, Morphing, PDE Based, etc.• The grid lines are curved to fit the shape of the boundaries
• Unstructured grids• Unorganized collection of polygons (polyhedron) • Three main techniques are available to generate automatically triangles (tetrahedra): Delaunay triangulation, Advancing front, OCTREE• Paving for automatic generation of quads in 2D
![Page 47: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/47.jpg)
13
ME469B/2/GI 25
k
j
j=NJ=1j=1=NJ
k=1
k=NK
Physical Domain Computational Domain
Side
A1
Sid
e A
2
Side
C
Side B
Side D
Structured Grids: Mapping
Side
A2
Side A1
Side C
Side B
Side
D
ME469B/2/GI 26
Unstructured Grids: Triangulations
• Delaunay• Empty circle principle: any node must not be contained within the circumcircle (circle passing through the vertices of a triangle) on any triangle within the mesh• Automatic triangulation of random set of nodes• Nodes are inserted locally in a triangulation and triangles are redefined locally to satisfy the Delaunay criterion (available mathematical tools)
+ Inherent grid quality+ Elegant mathematical basis - Boundary integrity
![Page 48: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/48.jpg)
14
ME469B/2/GI 27
Unstructured Grids: Triangulations
• Advancing front• Triangles are built inward from the boundary surfaces• The last layer of elements constitutes the active front • An optimal location for a new nodes is generated for each segment on the front; the new node is generated by checking all existing nodes and this new optimal location • Intersection checks are required to avoid front overlap
+ Surface grid preserved+ Specialized layers near surfaces - Computationally complex - Low quality
ME469B/2/GI 28
Unstructured Grids: Triangulations
• OCTREE• Squares containing the boundaries are recursively subdivided until desired resolution is obtained• Irregular cells (or triangulation) are generated near the surface where square intersect the boundary
+ Requires least of surface representation+ Highly automated - Cannot match surface grid - Low quality near surfaces
![Page 49: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/49.jpg)
15
ME469B/2/GI 29
Unstructured Grids: Paving
• Advancing front technique based on quads (instead of triangles)• Only in 2D
Triangulation Paving
ME469B/2/GI 30
Unstructured Grids: Coopering
• 2D mesh sweeping• Only for cylindrical volumes• unstructured surface mesh is generated on surface A (source face)
• structured grids are generated on cylindrical surfaces C & D
• mesh on surface A is sweeped in the volume to generate the full 3D m esh
![Page 50: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/50.jpg)
16
ME469B/2/GI 31
ß Standard Elements:
Hex Tet Pyramid Wedge
ß Hex: Maximum Volume Covered per Edge Size
ß Hex: Maximum Ratio Nodes/Elements
ß Hex/Wedges: Clustering at Solid Wall with High Quality Elements
ß Tets: Automatic Meshing of Extremely Complicated Regions
ß Pyramids/Wedges: Transition Between Tets & Hex
Unstructured Grids: 3D elements
ME469B/2/GI 32
35K Total Elements 410K Total Elements
We NEED Hex-Based Meshing because:
ß Equiangular Tets are NOT Good for Thin Volumes
ß Too Many Elements for Reasonable Resolutions
(estimated >2M grid Points in conical-annular Swirler)
Cross-Section of the Swirler
Unstructured Grids: Hex or Tets?
![Page 51: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/51.jpg)
17
ME469B/2/GI 33
What is available in GAMBIT
• Structured gridding (mapping)
• Unstructured triangulation (2D/3D)
• Unstructured paving (2D)
• Unstructured coopering (3D)
All GAMBIT meshes are exported as unstructured collection of (mixed) elements
+-+/--+
+++/---
-++/-+-
+-+++
Spee
d
Rob
ustn
ess
Qua
lity
& C
ontr
ol
Com
plex
Geo
met
ry
Mes
h si
zes
ME469B/2/GI 34
Grid generation – 1D - Edges
Straightforward
Select number of pointsSelect distribution of points
Edge direction is defined from 1st to 2nd vertexClustering toward one side is defined accordingly
![Page 52: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/52.jpg)
18
ME469B/2/GI 35
Grid generation – 2D - Faces
Easy
Select number of points• use predefined edge meshes• use uniform spacing
Select meshing scheme• constraints on the edge meshing for mapping and paving schemes
ME469B/2/GI 36
Grid generation – 2D - Faces
It is possible to force the cell element typeat face-vertices
Mixing element-type is one of the main advantages of unstructured meshtechnology
elementsforced tobe triangles
![Page 53: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/53.jpg)
19
ME469B/2/GI 37
Grid generation – 2D - Mesh-patching options
Matching interface Non-conformal interface
Overlapping interface Mixed-element interface
ME469B/2/GI 38
Grid generation – 3D - Volumes
Not so easy
Select number of points• use predefined face meshes• use uniform spacing
Select meshing scheme• constraints on the face meshing for mapping and cooper schemes
![Page 54: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/54.jpg)
20
ME469B/2/GI 39
3D Grid generation – Advanced Cooper technique
“Creative” way of coopering: multisurface to multisurface sweep
ME469B/2/GI 40
Grid generation – Sizing functions
Instead of the bottom-up approach (1D to 3D) grid generationSizing functions can be specified to mesh volumes directly
![Page 55: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/55.jpg)
21
ME469B/2/GI 41
Grid generation – Clustering points
Sizing functions can be used effectively to define the size of thecells BUT they cannot provide directional control (anisotropy)
One option is to build (grow) elements from the boundaries andto form “viscous” layers
ME469B/2/GI 42
Grid generation – Boundary Layers
![Page 56: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/56.jpg)
22
ME469B/2/GI 43
Example – meshing a circle
Mapping Triangulation Paving Multiblock mapping
Boundary Layer Boundary Layer Boundary Layer Boundary Layer Transition Paving Paving Multiblock Paving Multiblock Paving
Circle defined as segments
ME469B/2/GI 44
Mesh linking
Edges, faces and volume meshescan be linked
Define corresponding entitiesand ALSO reference entities
Needed to “enforce” coincidentgrids on different entities (i.e. forperiodicity bc)
![Page 57: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/57.jpg)
23
ME469B/2/GI 45
Virtual Geometry
GAMBIT operates on two different type of entities
REAL: with corresponding geometrical and topological characteristicsVIRTUAL: defined only with reference to REAL entities
REAL entities are what we used and described so far;VIRTUAL are used to SIMPLIFY, CLEAN UP, DECOMPOSE real entities
Note that some geometry tools cannot be applied to virtual entities(boolean operation, volume blending, creation of volumes by sweeping faces, etc.)
Real entities can be transformed in virtual but NOT viceversa
ME469B/2/GI 46
REAL VIRTUAL
Virtual Geometry Clean-Up
Example of edge connecting operation
![Page 58: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/58.jpg)
24
ME469B/2/GI 47
Grid quality
Quality measures are NOT absolute but should be considered inconnection with solution schemes
The final accuracy of a procedure is ALWAYS a function of the gridquality
Several geometrical measures can be defined:
• Depending on the size of the elements• Depending on the shape of the elements• Depending on relative dimensions of neighboring elements
ME469B/2/GI 48
Quality measures available in GAMBIT
![Page 59: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/59.jpg)
25
ME469B/2/GI 49
Examine meshes
Equiangular skewAspect ratio
• Define mesh element to examine• Define a cutting plane • Define the quality measure
ME469B/2/GI 50
Mesh improvement
• Smoothing operators are applied to redistribute nodes
Equiangular skewAspect ratio
Typically, improvement in 3D meshes are based on improved 2D meshes
![Page 60: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/60.jpg)
26
ME469B/2/GI 51
Automation
• GAMBIT saves a “journal” file with the commands issues during a session
• Journal file are ASCII editable files
• Commands are quasi-English and easy-to-use
• They are useful to trace-back sessions to find errors
• They can be made general by introducing User Defined Parameters
ME469B/2/GI 52
GAMBIT Journal file
The command:
Volume create width 1 depth 1 height 1 offset 0 0 0 brick
Generates a cube of size 1 centered at 0 0 0
On the other hand the sequence
$W = 2.3$D = 1.5$H = 4Volume create width $W depth $D height $H offset 0 0 0 brick
Generates a cuboid of User-Specified Size centered at 0 0 0
![Page 61: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/61.jpg)
27
ME469B/2/GI 53
/ --------------------------------------------------------/ CYCLONE GRID GENERATION/ ME269B - Spring 2002/ --------------------------------------------------------// R1 = External radius of Cyclone/ R2 = Gas Outlet Pipe (External)/ R3 = Gas Outlet Pipe (Internal)/ RB = Particles Outlet (Bottom)/ H1 = Height of the Cylindrical Part of Cyclone/ H2 = Height of the Conical Part/ HE = Depth of the Outlet Channel into the Cyclone// inletl = Length (x) of the Gas Inlet Channel/ inleta = Height (z) of the Gas Inlet Channel/ inletb = Span (y) of the Gas Inlet Channel/ outletl = Length (z) of the outlet (gas) pipe// cellsize = Average size of the cells// Remark: z-axis is the Cyclone Axis/ --------------------------------------------------------// Input Quantities/$R1 = 1.555$R2 = 0.45$R3 = 0.4$RB = 0.75$H1 = 4.5$H2 = 5$HE = 3.6$inletl = 2$inleta = 1.03$inletb = 0.7$outletl = 7.2$cellsize = 0.18//
Example of Journal file
ME469B/2/GI 54
Grid generation research
ß Structured grids: automatic generation
of mappable subdomainsNLR 2000-366 Report
(PDF available from class web site)
ß Unstructured tetrahedral grids: anisotropic Delaunay schemes
Shimada et al. “High quality anisotropic tetrahedral mesh generation
via ellipsoidal bubble packing” (PDF available)
![Page 62: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/62.jpg)
28
ME469B/2/GI 55
Grid generation research
ß Unstructured hex-dominant grids: OCTREE based
SAMM – Computational Dynamics Ltd.Hexpress – Numeca International Inc.
ß Unstructured purely hexahedral grids: Whisker-Weaving
CUBIT – Sandia National Lab. (PS report available)
ME469B/2/GI 56
Grid generation – Links and References
• Links• Mesh generation and grid generation on the Web http://www-users.informatik.rwth-aachen.de/~roberts/meshgeneration.html• Meshing research corner http://www.andrew.cmu.edu/user/sowen/mesh.html• General CFD: Topic mesh generation http://www.cfd-online.com
• References:• Handbook of grid generation. Thompson, Soni, Weatherill, CRC Press• Numerical Grid Generation: Foundation & Applications. Thompson, Warsi, Mastin. North Holland Press
![Page 63: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/63.jpg)
29
ME469B/2/GI 57
Example #1Geometry Modeling
Objective: generation of a swirl-generator model in GAMBIT
• Four rectangular ducts inject tangentially in an expanding pipe.• Select the dimensions appropriately
The duct offset DO is the main design variable: with fixed mass flow the swirl generated is a function of DO
The shape of the pipe/ductintersection is a function ofthe duct offset
Use the “cyclone.jou” example as a baseline
DO
ME469B/2/GI 58
Example #2Grid Generation
Objective: generation of a grid for a swirl-generator model in GAMBIT• Generate an all-tetrahedra grid• Generate an all-hexahedra grid• Compare the quality of the grid especially in the channel-pipe intersection
![Page 64: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/64.jpg)
1
ME469B/3/GI 1
Solution methods for theIncompressible Navier-Stokes Equations
l Discretization schemes for the Navier-Stokes equationsl Pressure-based approachl Density-based approachl Convergence acceleration l Periodic Flowsl Unsteady Flows
ME469B/3/GI 2
Background (from ME469A or similar)
Navier-Stokes (NS) equations
Finite Volume (FV) discretization
Discretization of space derivatives (upwind, central, QUICK, etc.)
Pressure-velocity coupling issue
Pressure correction schemes (SIMPLE, SIMPLEC, PISO)
Multigrid methods
![Page 65: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/65.jpg)
2
ME469B/3/GI 3
NS equations
The advection term is non-linearThe mass and momentum equations are coupled (via the velocity)The pressure appears only as a source term in the momentum equationNo evolution equation for the pressureThere are four equations and five unknowns (r, V, p)
Conservation laws:
Rate of change + advection + diffusion = source
= 0
ME469B/3/GI 4
Compressible flows:
The mass conservation is a transport equation for density. With an additionalenergy equation p can be specified from a thermodynamic relation (ideal gas law)
Incompressible flows:
Density variation are not linked to the pressure. The mass conservation is aconstraint on the velocity field; this equation (combined with the momentum) canbe used to derive an equation for the pressure
NS equations
![Page 66: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/66.jpg)
3
ME469B/3/GI 5
Pressure-based solution of the NS equation
The continuity equation is combined with the momentum and thedivergence-free constraint becomes an elliptic equation for the pressure
To clarify the difficulties related to the treatment of the pressure, wewill define EXPLICIT and IMPLICIT schemes to solve the NS equations:
It is assumed that space derivatives in the NS are already discretized:
ME469B/3/GI 6
Explicit scheme for NS equations
Semi-discrete form of the NS
Explicit time integration
The n+1 velocity field is NOT divergence free
Take the divergence of the momentum
Elliptic equation for the pressure
![Page 67: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/67.jpg)
4
ME469B/3/GI 7
Explicit pressure-based scheme for NS equations
Velocity field (divergence free) available at time n
Compute Hn
Solve the Poisson equation for the pressure pn
Compute the new velocity field un+1
ME469B/3/GI 8
Implicit scheme for NS equations
Semi-discrete form of the NS
Implicit time integration
Take the divergence of the momentum
The equations are coupled and non-linear
![Page 68: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/68.jpg)
5
ME469B/3/GI 9
Implicit scheme for NS equations
Compute an intermediate velocity field
(eqns are STILL non-linear)
Define a velocity and a pressure correction
Using the definition and combining
Derive an equation for u’
Enforce divergence-free condition at n+1
{{
ME469B/3/GI 10
Implicit pressure-based scheme for NS equations (SIMPLE)
Velocity field (divergence free) available at time n
Compute intermediate velocities u*
Solve the Poisson equation for the pressure correction p’ Neglecting the u*’ term
Compute the new velocity un+1 and pressure pn+1 fields
Solve the velocity correction equation for u’ Neglecting the u*’ term
SIMPLE: Semi-Implicit Method for Pressure-Linked Equations
![Page 69: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/69.jpg)
6
ME469B/3/GI 11
Implicit pressure-based scheme for NS equations (SIMPLEC)
Velocity field (divergence free) available at time n
Compute intermediate velocities u*
Solve the Poisson equation for the pressure correction p’ Use an approximation to u*’ (neighbor values average u*’ ~ S u’)
Compute the new velocity un+1 and pressure pn+1 fields
Solve the velocity correction equation for u’ Use an approximation to u*’
SIMPLE: SIMPLE Corrected/Consistent
ME469B/3/GI 12
Implicit pressure-based scheme for NS equations (PISO)
Velocity field (divergence free) available at time n
Compute intermediate velocities u* and p’ as in SIMPLE
Solve the Poisson equation for the pressure correction p(m+1)’ u*’ is obtained from u m’
Compute the new velocity un+1 and pressure pn+1 fields
Solve the velocity correction equation for u(m+1)’ u*’ is obtained from u m’
PISO: Pressure Implicit with Splitting Operators
![Page 70: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/70.jpg)
7
ME469B/3/GI 13
SIMPLE, SIMPLEC & PISO - Comments
In SIMPLE under-relaxation is required due to the neglect of u*’
un+1 = u* + au u’ p = pn + ap p’
There is an optimal relationship ap =1- au
SIMPLEC and PISO do not need under-relaxation
SIMPLEC/PISO allow faster convergence than SIMPLE
PISO is useful for irregular cells
ME469B/3/GI 14
NS equations
Conservation laws:
Rate of change + advection + diffusion = source
= 0
![Page 71: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/71.jpg)
8
ME469B/3/GI 15
Segregated solver in FLUENT
FV discretization for mixed elements
The quantities at the cell faces can be computed using several different schemes
W
f
ME469B/3/GI 16
Options for the segregated solver in FLUENT
Discretization scheme for convective terms1st order upwind (UD)2nd order upwind (TVD)3rd order upwind (QUICK), only for quad and hex
Pressure interpolation scheme (pressure at the cell-faces)linear (linear between cell neighbors)second-order (similar to the TVD scheme for momentum)PRESTO (mimicking the staggered-variable arrangement)
Pressure-velocity coupling SIMPLESIMPLECPISO
Discretization of the equations
![Page 72: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/72.jpg)
9
ME469B/3/GI 17
b
Pb
b
Solution of the equation
f is one of the velocity component and the convective terms must be linearized:
This correspond to a sparse linear system for each velocity component
Fluent segregated solver uses:Point Gauss-Seidel technique Multigrid acceleration
ME469B/3/GI 18
Set-up of problems with FLUENT
Graphics Window
Text Window
Command Menus
Read/Import the gridDefine the flow solver optionDefine the fluid propertiesDefine the discretization schemeDefine the boundary conditionDefine initial conditionsDefine convergence monitorsRun the simulationAnalyze the results
![Page 73: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/73.jpg)
10
ME469B/3/GI 19
Solver set-up
Define Æ Models Æ Solver Define Æ Controls Æ Solution
define/models/solver segregated solve/set/discretization-scheme/mom 1define/models/steady solve/set/under-relaxation/mom 0.7
… …
Example: text commands can be used (useful for batch execution)
ME469B/3/GI 20
Material properties
Define Æ Materials
Quantities are ALWAYS dimensional
![Page 74: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/74.jpg)
11
ME469B/3/GI 21
Initial and boundary conditions
Solve Æ Initialize Æ Initialize Define Æ Boundary Conditions
Only constant values can be specified BCs will be discussed case-by-caseMore flexibility is allowed via patching
ME469B/3/GI 22
Initial conditions using patching
Adapt Æ Region Æ Mark Solve Æ Initialize Æ Patch
Mark a certain region of the domain(cells are stored in a register)
Patch desired values for each variablein the region (register) selected
![Page 75: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/75.jpg)
12
ME469B/3/GI 23
Convergence monitors
Solve Æ Monitors Æ Residuals Solve Æ Monitors Æ Surface
Convergence history of the equation residuals are stored together with the solutionUser-defined monitors are NOT stored by default
ME469B/3/GI 24
Postprocessing
Display Æ Contours Plot Æ XY Plot
Cell-centered data are ComputedThis switchinterpolates theresults on the cell-vertices
![Page 76: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/76.jpg)
13
ME469B/3/GI 25
Detailed post-processing
Define additional quantities
Define plotting lines, planes and surfaces
Compute integral/averaged quantities
Define Æ Custom Field Function
ME469B/3/GI 26
Fluent GUI - Summary
File: I/O Grid: Modify (translate/scale/etc.), CheckDefine: Models (solver type/multiphase/etc.), Material (fluid properties), Boundary conditions Solve: Discretization, Initial Condition, Convergence MonitorsAdapt: Grid adaptation, Patch markingSurface: Create zones (postprocessing/monitors)Display: Postprocessing (View/Countors/Streamlines)Plot: XY Plots, ResidualsReport: Summary, IntegralParallel: Load Balancing, Monitors Typical simulation
![Page 77: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/77.jpg)
14
ME469B/3/GI 27
Example – Driven cavity
Problem set-up Solver Set-Up
Material Properties:r = 1kg/m3
m = 0.001kg/ms
Reynolds number:H = 1m, Vslip= 1m/sRe = rVslipH/m = 1,000
Boundary Conditions: Slip wall (u = Vslip) on top No-slip walls the others
Initial Conditions:u = v = p = 0
Convergence Monitors:Averaged pressure andfriction on the no-slip walls
Classical test-case forincompressible flow solvers
Vslip=1
H
Segregated Solver
Discretization:2nd order upwindSIMPLE
MultigridV-Cycle
ME469B/3/GI 28
Example – Driven cavity
The effect of the meshing scheme
Quad-Mapping 1600 cells Tri-Paving 3600 cells Quad-Paving 1650 cells
Edge size on the boundaries is the same
![Page 78: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/78.jpg)
15
ME469B/3/GI 29
Example – Driven cavity
The effect of the meshing scheme – Vorticity Contours
Quad-Mapping 1600 cells Tri-Paving 3600 cells Quad-Paving 1650 cells
ME469B/3/GI 30
Example – Driven cavity
The effect of the meshing scheme – Convergence
Quad-Mapping 1600 cells Tri-Paving 3600 cells Quad-Paving 1650 cells
![Page 79: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/79.jpg)
16
ME469B/3/GI 31
Example – Driven cavity
Symbols corresponds toGhia et al., 1982
x-velocity component in the middle of the cavity
Quad-Mapping Tri-Paving Quad-Paving
The effect of the meshing scheme
ME469B/3/GI 32
Example – Driven cavity
Grid Sensitivity – Quad Mapping Scheme
1600 cells 6400 cells 25600 cells
Vorticity Contours
![Page 80: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/80.jpg)
17
ME469B/3/GI 33
Example – Driven cavity
1600 cells 6400 cells 25600 cellsSymbols corresponds toGhia et al., 1982
x-velocity component in the middle of the cavityGrid Sensitivity – Quad Mapping Scheme
ME469B/3/GI 34
How to verify the accuracy?
Define a reference solution (analytical or computed on a very fine grid)Compute the solution on successively refined gridsDefine the error as the deviation of the current solution from the referenceCompute error normsPlot norms vs. grid size (the slope of the curve gives the order of accuracy)
Problems with unstructured grids:
1) Generation of a suitable succession of grids2) Definition of the grid size
![Page 81: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/81.jpg)
18
ME469B/3/GI 35
Generation of successively refined grid
1) Modify grid dimensions in GAMBIT and regenerate the grid2) Split all the cells in FLUENT
Adapt Æ Region Æ Adapt
Element shape & metricproperties are preserved
The region MUST contain theentire domain
ME469B/3/GI 36
Driven Cavity - Error evaluation
Reference solution computed on a 320x320 grid (~100,000 cells)Reference solution interpolated on coarse mesh to evaluate local errors
Quad-Mapping Tri-Paving Quad-Paving
Note that the triangular grid has more than twice as many grid cells
![Page 82: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/82.jpg)
19
ME469B/3/GI 37
Driven Cavity – Accuracy evaluation
Quad-Mapping Tri-Paving Quad-Paving
Quad and Pave meshingschemes yield very similaraccuracy (close to 2nd order)
Tri meshing scheme yieldsSlightly higher errors and loweraccuracy
Note that the definition of Dx isquestionable (a change willonly translate the curves notchange the slope)
(N)-1/2
Err
or (
L2
norm
)
Nominal 2nd order accuracyNominal 1st
order accuracy
ME469B/3/GI 38
Driven Cavity – Fluent vs. other CFD codes
FLUENT StarCD NASA INS2DSymbols corresponds toGhia et al., 1982
x-velocity component in the middle of the cavityQuad Mapping Scheme (1600 cells)
![Page 83: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/83.jpg)
20
ME469B/3/GI 39
Techniques for the incompressible NS equations
Pressure correction schemes
Fractional step methods
Artificial compressibility approach
Vorticity-streamfunction formulation
Density-based approach
ME469B/3/GI 40
Vorticity-streamfunction approach
It is effectively a change-of-variables; introducing the streamfunction and the vorticityvector the continuity is automatically satisfied and the pressure disappears (if needed thesolution of a Poisson-like equation is still required). It is advantageous in 2D because itrequires the solution of only two PDEs but the treatment of BCs is difficult. In addition in3D the PDEs to be solved are six
Artificial compressibility approach
A time-derivative (of pressure) is added to the continuity equation with the goal oftransforming the incompressible NS into a hyperbolic system and then to apply schemessuitable for compressible flows. The key is the presence of a user-parameter b (related tothe artificial speed of sound) that determines the speed of convergence to steady state
Techniques for the incompressible NS equations
Fractional-step approachSimilar in concept to pressure-correction schemes, but the pressure (or a related quantity)is only used in the final correction step; it is equivalent to an approximate factorization
![Page 84: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/84.jpg)
21
ME469B/3/GI 41
Density-based solvers for the NS equations
The equation are written in compressible form and, for low Mach numbers,the flow is effectively incompressible
The energy equation is added to link pressureand density through the equation of state
In compact (vector) form:
ME469B/3/GI 42
Stiffness occurs because of the disparity between fluid velocity and speed ofsound (infinite in zero-Mach limit)
The equations are solved in terms of the primitive variables
The time derivative is modified (preconditioned) to force all the eigenvaluesto be of the same order (similar to the artificial compressibility approach)
Note that the continuity becomes (again) anevolution equation for the pressure
Density-based solvers for the NS equations
Several choices are available for G
![Page 85: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/85.jpg)
22
ME469B/3/GI 43
FLUENT density-based solver
Explicit SchemeMultistage Runge-Kutta schemeResidual SmoothingMultigrid acceleration
Implicit SchemeEuler (one-step) implicitNewton-type linearizationPoint Gauss-Seidel iterationsMultigrid acceleration
ME469B/3/GI 44
Example – Driven cavity
Problem set-up Solver Set-UpClassical test-case forincompressible flow solvers
Vslip=1
H
Coupled Solver
Discretization:2nd order upwindImplicit
MultigridV-Cycle
Material Properties:r = 1kg/m3
m = 0.001kg/ms
Reynolds number:H = 1m, Vslip= 1m/sRe = rVslipH/m = 1,000
Boundary Conditions: Slip wall (u = Vslip) on top No-slip walls the others
Initial Conditions:u = v = p = 0
Convergence Monitors:Averaged pressure andfriction on the no-slip walls
![Page 86: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/86.jpg)
23
ME469B/3/GI 45
Example – Driven cavity
Effect of the solver - Quad mesh (1600 cells)
Vorticity Contours
Segregated Coupled
ME469B/3/GI 46
Example – Driven cavity
Segregated CoupledSymbols corresponds toGhia et al., 1982
x-velocity component in the middle of the cavityEffect of the solver - Quad mesh (1600 cells)
![Page 87: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/87.jpg)
24
ME469B/3/GI 47
Multigrid acceleration
Basic idea: the global error (low-frequency) on a fine grid appears as a localerror (high-frequency) on coarse meshes.
Why it is important: linear system solver like Gauss-Seidel are effective inremoving high-frequency errors but VERY slow for global errors. Note that,on structured, grid line-relaxation (or ADI-type) schemes can be used toimprove the performance of Gauss-Seidel; on unstructured grid similarconcepts are extremely difficult to implement.
Convergence Speed: number of iterations on the finest grid required to reacha given level of convergence is roughly independent on the number of gridnodes (multigrid convergence)
ME469B/3/GI 48
Two-grid scheme
1. a smoothings are performed on the fine grid to reduce the high-frequency components of the errors (pre-smoothing, aS)
2. the residual (error) is transferred to next coarser level (restriction, R)3. g iterations are performed on this grid level for the “correction” equation4. the problem is transferred back to the fine grid (prolongation, P)5. b smoothings are performed on the fine grid to remove the high-
frequency errors introduced on the coarse mesh (post-smoothing, bS)
Parameters to be defined are a, b, g
![Page 88: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/88.jpg)
25
ME469B/3/GI 49
Restriction & Prolongation Operators
Fine LevelCoarse Level
ME469B/3/GI 50
Algebraic Multigrid
The coarse levels are generated without the use of any discretization on coarselevels; in fact no hierarchy of meshes is needed
Geometric multigrid should perform better than AMG because non-linearityof the problem are retained on coarse levels (correction equation)
AMG is effectively a solver for linear systems and the restriction andprolongation operators might be viewed as means to modify (group or split)the coefficient matrix
The same multigrid options (cycle type and a, b, g smoothing) are available
![Page 89: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/89.jpg)
26
ME469B/3/GI 51
Driven Cavity – Accuracy evaluation
Quad-Mapping Tri-Paving Quad-Paving
Quad and Pave meshingschemes yield very similaraccuracy (close to 2nd order)
Tri meshing scheme yieldsSlightly higher errors and loweraccuracy
Note that the definition of Dx isquestionable (a change willonly translate the curves notchange the slope)
(N)-1/2
Err
or (
L2
norm
)
Nominal 2nd order accuracyNominal 1st
order accuracy
ME469B/3/GI 52
Multigrid for unstructured meshes
GEOMETRIC MULTIGRIDALGEBRAIC MULTIGRID
![Page 90: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/90.jpg)
27
ME469B/3/GI 53
Algebraic Multigrid Performance
Convergence for the segregated solver
1600 cells 6400 cells 25600 cells
ME469B/3/GI 54
Algebraic Multigrid Performance
Convergence for the coupled solver
1600 cells 6400 cells 25600 cells
![Page 91: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/91.jpg)
28
ME469B/3/GI 55
Periodic Flows
Geometricalperiodicity
Periodicity simply correspondsto matching conditions on thetwo boundaries
The velocity field is periodic BUTthe pressure field is not. The pressuregradient drives the flow and isperiodic. A pressure JUMP conditionon the boundary must be specified
ME469B/3/GI 56
Periodic Flows – Set-Up
Segregated solver Coupled Solver
In the segregated solver periodicity can be imposed by fixing either themass flow or the pressure dropIn the coupled solver periodicity is enforced by fixing the pressure drop
Define Æ Periodic Conditions Define Æ Boundary Conditions
![Page 92: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/92.jpg)
29
ME469B/3/GI 57
An analytical solution of the Navier-Stokes equations (Poiseuille flow) canbe derived:
Solution in the form u=u(y)
The pressure drop balances the viscous drag on the walls
Navier-Stokes equations
Velocity distribution in the channel
Averaged velocity
Periodic Flow Example – 2D channel
hy
ME469B/3/GI 58
Periodic Flow Example – 2D channel
Problem set-up Solver Set-Up
Material Properties:r = 1kg/m3
m = 0.1kg/ms
Reynolds number:h = 2m, Vave= 1m/sRe = rVsliph/m = 20
Boundary Conditions: Periodicity Dp=0.3 No-slip top/bottom walls
Initial Conditions:u = 1; v = p = 0
Exact solution:Vave = 1
Coupled Solver
Discretization:2nd order upwindSIMPLE
MultigridV-Cycleh
Periodic boundaries
![Page 93: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/93.jpg)
30
ME469B/3/GI 59
Periodic Flow Example – 2D channel
Quad-Mapping Tri-Paving
x-velocity distribution in the channel
Cell-centered valuesshowed (no interpolation)
ME469B/3/GI 60
Nominal 2nd order accuracy
Quad-Mapping Tri-Paving
The error in this case CAN be computed with reference to the exact solutionIn this case the computed averaged velocity error is plotted
This test-case is available on the class web site
(N)-1/2
Nominal 1st order accuracy
Periodic Flow Example – 2D channel
![Page 94: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/94.jpg)
31
ME469B/3/GI 61
Unsteady flows
The algorithms we used so far are time-marching:From an initial condition they iterate until a steady-state is reachedThe time-evolution of the solution is NOT accurate
Typical Implicit Time-Accurate Scheme
Unsteady transport equation
1st order time integration
2nd order time integration
ME469B/3/GI 62
Unsteady flows – Dual time stepping
At each time step we build a steady-state-like problem and we use an iterative algorithm
Inner iteration steady-state
pseudo time-step
Outer iteration(time-step)
![Page 95: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/95.jpg)
32
ME469B/3/GI 63
Unsteady flows – Set Up
Define Æ Models Æ Solver Solve Æ Iterate
Outeriteration
Inneriteration
ME469B/3/GI 64
Again an analytical solution of the Navier-Stokes equations can be derived:
Unsteady Flow – Impulsive start-up of a plate
Solution in the form u=u(y,t)
The only force acting is the viscous drag on the wall
Navier-Stokes equations
Velocity distribution
Wall shear stress
Vwall
y
![Page 96: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/96.jpg)
33
ME469B/3/GI 65
Unsteady Flow – Impulsive start-up of a plate
Problem set-up Solver Set-Up
Material Properties:r = 1kg/m3
m = 0.1kg/ms
Reynolds number:Re = r VwallL/mVwall = 5.605L = mVwall/twall
Boundary Conditions: Slip wall (u = Vwall) on bottom No-slip wall (top) Periodicity Dp=0
Initial Conditions:u = v = p = 0
Exact Solutiontwall = 1 @ t = 1 H/L ~ 10
Segregated Solver
Discretization:2nd order upwindSIMPLE
MultigridV-Cycle
Vwall
H
periodic boundaries
ME469B/3/GI 66
Unsteady Flow – Impulsive start-up of a plate
This test-case is available on the class web site
Dt
Err
or (
L2
norm
)
Nominal 2nd order accuracyNominal 1st
order accuracy
1st order 2nd order
Time discretization
The error CAN be computed withreference to the exact solutionIn this case the computed wallshear stress is plotted
Influence of the BCs
![Page 97: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/97.jpg)
34
ME469B/3/GI 67
Overview of commercial CFD codes
About 30 packages.
Three major general-purpose products (covering ~50% of the market):FLUENT, StarCD, CFX
UD/TVDQUICK
CDILU
AlgebraicCoupled-
SIMPLEUnstructuredMixed
CFX
UD/TVDQUICK
CD
Conjugate
Gradient--
SIMPLESIMPISO
PISO
UnstructuredMixed
StarCD
UD/TVDQUICK
Gauss-SeidelAlgebraicGeometric
CoupledImplicit
Preconditioned
SIMPLESIMPLEC
PISO
UnstructuredMixed
FLUENT
DiscretizationSystemSolver
MultigridDensity BasedPressureBased
Grid Type
![Page 98: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/98.jpg)
ME469B/5/GI 1
Advanced Physical Models
• Heat Transfer• Buoyancy• Combustion and reaction modeling• Multiphase flows• Solidification and melting
![Page 99: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/99.jpg)
ME469B/5/GI 2
Heat Transfer
Thermal analysis are crucial in many industrial applications
Turbulence is enhanced is internalturbine cooling passages to improveheat transfer
Roughness elements (ribs) areplaced in the channels
![Page 100: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/100.jpg)
ME469B/5/GI 3
Heat Transfer Modeling
An energy equation must be solved together with the momentum and thecontinuity equations
For incompressible flows the energy equation is decoupled from the others(r is NOT a function of the temperature)
For laminar flows the energy equation can be solved directly; for turbulentflows after Reynolds-averaging the equation contains an unclosedcorrelation:
Momentum
Energy
![Page 101: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/101.jpg)
ME469B/5/GI 4
Heat Transfer Modeling
Momentum
Energy
The Prandtl number is the measure of the momentum diffusivity vs. thethermal diffusivity
Pr=cp m/k
Pr is order 1 for gases (typically 0.7 for air)
Prt is an additional parameter in the turbulence model (typically 0.9)
![Page 102: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/102.jpg)
ME469B/5/GI 5
Set-Up for Heat Transfer Calculations
Activate the energy equation
Define Æ Models Æ Energy
Specify material properties
Define Æ Materials
![Page 103: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/103.jpg)
ME469B/5/GI 6
Wall thermal boundary conditions
The options are:
1) Fixed temperature2) Fixed thermal flux (temperature gradient)
BC
wallthickness
computationaldomain
![Page 104: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/104.jpg)
ME469B/5/GI 7
Flow-thermal simulations
For incompressible fluidsthe temperature andmomentum equations aredecoupled
For the energy equations all the numerical options (discretization, under-relaxation, etc.) are available
![Page 105: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/105.jpg)
ME469B/5/GI 8
Periodic flows
Many heat-transfer devices are characterized by geometrically periodicconfigurations (ribbed passages)
Temperature behaves like the pressure: it varies in the streamwise direction butits variation (gradient) is periodic
The energy equations can be rewritten in terms of a scaled temperature:
And the modified energy equation can be solved with periodic BC
![Page 106: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/106.jpg)
ME469B/5/GI 9
Wall heat transfer (temperature gradients) are strongly connectedto wall friction coefficients and therefore to turbulence modeling
Example of Heat Transfer Calculations
Ribbed Passages
![Page 107: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/107.jpg)
ME469B/5/GI 10
Problem set-up Solver Set-Up
Material Properties:r = 1kg/m3
m = 0.0001kg/msCp = 1000 J/Kg/oKk = 0.142 W/m oK
Reynolds number:h = 1m, L=10m, H=LReh = rUbh/m = 10,000
Boundary Conditions: Periodicity m=rUbH=10Kg/s No-slip walls
Initial Conditions:u = 1; v = p = 0
Turbulence model:k-e
Segregated Solver
Discretization:2nd order upwindSIMPLE
MultigridV-Cycle
Example: Ribbed Channel Flow
H
Periodic boundaries
L
h
h
![Page 108: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/108.jpg)
ME469B/5/GI 11
Grid points are clustered at thewalls and in the shear layers
Grids in Ribbed Channel Flows
Unstructured gridding allows to separate the bottom and top BLshaving different resolutions in the streamwise direction
![Page 109: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/109.jpg)
ME469B/5/GI 12
x/e
Heat Transfer Predictions
![Page 110: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/110.jpg)
ME469B/5/GI 13
In many cases the correct prediction of the thermal field in a devicerequires the inclusion of conduction effects in solids
Conjugate simulations are referred to coupled fluid-solidtemperature calculations
Conjugate Heat Transfer
![Page 111: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/111.jpg)
ME469B/5/GI 14
Set-Up Conjugate Heat Transfer
We need to specify two zones (fluid and solid) in the grid generationAnd then specify the material properties
Define Æ Materials Æ Fluid Define Æ Materials Æ Solid
![Page 112: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/112.jpg)
ME469B/5/GI 15
Wall thermal boundary conditions
The boundary between the two zones is ALWAYS a wall and a shadowzone is created automatically by Fluent
wallthickness
Fluidzone
shadowwall
thickness
Solidzone
couplingcondition
![Page 113: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/113.jpg)
ME469B/5/GI 16
The temperature field is affected by the treatment of the rib walls
Conjugate Heat Transfer
The rib is insulated
The rib is heated from the base
The rib is uniformly heated
![Page 114: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/114.jpg)
ME469B/5/GI 17
Effect of the Thermal Wall Bc
![Page 115: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/115.jpg)
ME469B/5/GI 18
Effect of the Thermal Wall Bc
![Page 116: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/116.jpg)
ME469B/5/GI 19
Comments on Thermo-fluid simulations
In incompressible flows the energy equation is decoupled from themomentum equations and can be solved a posteriori with the velocityfield frozen
Additional modeling is involved for the solution of thermal equation inthe RANS context (therefore additional approximations and errors)
Wall quantities (temperature and heat flux) are very sensitive to themodeling of near-wall turbulence
Conjugate heat transfer (coupled fluid/solid) are often necessary todescribe accurately a physical device
![Page 117: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/117.jpg)
1
ME469B/6/GI 1
User Programming
• What are User Defined Functions• Introduction to C• Set-Up C User Routines in Fluent• Implementing a Custom Turbulence Model• Programming in other CFD Commercial Codes
Acknowledgement: this handout is partially based on Fluent training material
ME469B/6/GI 2
Introduction to UDF Programming
Why programming in commercial codes?
• The codes are general-purpose but cannot anticipate all needs• New (physical) models can be developed in a user-friendly environment• Large number of problems (test-cases) can be addressed with the same implementation
What is a the User Defined Function (UDF)?
• C (Fluent) or FORTRAN (StarCD, CFX) routines programmed by the user linked to the solver to perform certain operations:
• initialization• special boundary condition (i.e. space or time dependent)• material properties• source terms• reaction rates• postprocessing and reporting• debugging• ….
![Page 118: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/118.jpg)
2
ME469B/6/GI 3
A Simple UDF ExampleSpecify a Parabolic Velocity Profile at the Inlet
Goal: The UDF (inlet_parab) set the values of the x-velocity component at the cell facesof the inlet boundary zone
1) Determine the cell-faces belonging to the inlet zone2) Loop on all those faces3) Determine the coordinate of the face centroid4) Specify the x-velocity component
Inletzone
ME469B/6/GI 4
Parabolic Velocity Profile:
A Simple UDF Example
function inlet_parab
Definitions
Loop over all the inlet cell faces
Evaluate the face centroid coordinates
The function return the velocity
![Page 119: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/119.jpg)
3
ME469B/6/GI 5
A Simple UDF Example
Compile/interpret the UDF:
Define Æ User Defined
Attach the profile to the inlet zone
Define Æ Boundary Condition
Equivalent to attach the profile from a separate simulation
ME469B/6/GI 6
Solve the equations
Solve Æ Iterate
Final Result
A Simple UDF Example
![Page 120: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/120.jpg)
4
ME469B/6/GI 7
C Programming
Typical C function:
ME469B/6/GI 8
C vs. FORTRAN
![Page 121: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/121.jpg)
5
ME469B/6/GI 9
Basic Programming Rules
Statements MUST end with a semicolon Æ ;
Comments are placed anywhere in the program between Æ /* …… */
Statements are grouped by curly brackets Æ { …… }
Variables defined within the body functions are local Variables defined outside the body functions are global and can be used byall the functions that follows
Variables MUST be ALWAYS defined explicitly
Integer/real/double functions have to return a integer/real/double value
C is case sensitive!
ME469B/6/GI 10
Basic Statements
Arithmetic expressions in C look like FORTRAN
a = y + (i-b)/4;
Functions which return values can be used in assignment
a = mycompute(y,i,b);
Functions which do not return values can be called directly
mystuff(a,y,i,b);
Mathematical and various other default functions are available
a = pow(b,2); /* pow(x,y) returns x raised to y */
![Page 122: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/122.jpg)
6
ME469B/6/GI 11
Data Types and Arrays
Arrays of variables are defined using the notation
Note the brackets are square [] not round ()!!
Note that the arrays ALWAYS start from 0
Standard C types are: Integer, Real, Double, Char
C allows to define additional types
typedef struct list{int id, float x[3], int id_next};
int a[10]; /*define an array of ten integers */
ME469B/6/GI 12
Pointers
A pointer is a variable which contain the address of another variable
Pointers are defined as:
int *a_p; /* pointer to an integer variable */int a; /* an integer variable */
Set-up a pointer
a = 1;a_p = &a; /* &a return the address of variable a */
*a_p returns the content of the address pointed by a_p
![Page 123: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/123.jpg)
7
ME469B/6/GI 13
Operators
Arithmetic Operators Logical Operators
ME469B/6/GI 14
Conditional Statements
if and if-else Example
![Page 124: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/124.jpg)
8
ME469B/6/GI 15
Loop Procedure
for loops Example
ME469B/6/GI 16
C Preprocessor
It handles Macro substitutions
#define A B#define my_f(x,y) x+y*3-5
The preprocessor replaces A with B It also handles file inclusion
#include “udf.h”#include “math.h”
The files to be included MUST reside in the currect directory
![Page 125: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/125.jpg)
9
ME469B/6/GI 17
Programming in C
Of course much more than just this….
Additional information are:
http://www.cs.cf.ac.uk/Dave/C/CE.html
Plenty of books:
“The C Programming Language”, Kernighan & Ritchie, 1988
ME469B/6/GI 18
UDF in Commercial CFD Codes
Commercial CFD codes allow the development of User Defined Functionsfor various applications. Anyway, the core of the software is closed.
UDF must be compiled and linked to the main code
Most codes provide macros and additional tools to facilitate the use of UDFs
In Fluent there are two options:Interpreted
The code is executed on a “line-by-line” basis at run time+ does not need a separate compiler (completely automatic)- slows down the execution and uses more memory- somewhat limited in scope
CompiledA library of UDF is compiled and linked to the main codeOvercomes all the disadvantages reported above
![Page 126: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/126.jpg)
10
ME469B/6/GI 19
Interpret the UDFs
Define Æ User Defined Æ Interpreted
Default stack size might be too small for large arrays!
Display of code translation in assembly(and eventual compiling errors)
ME469B/6/GI 20
Compile the UDFs
Define Æ User Defined Æ Compiled
The library MUST be precompiled in a directory tree
![Page 127: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/127.jpg)
11
ME469B/6/GI 21
Directory tree for compiled UDFs
my_library
Makefile src lnx86
makefile my_udf.c
2d 3d
makefile my_udf.c libudf.so
makefile my_udf.c libudf.so
Machine dependentirix6r10ultrahp700…
ME469B/6/GI 22
Makefiles for UDFs
In the directory
/usr/local/Fluent.Inc/fluent6/src
There are two files
Makefile.udf to be copied in the directory my_library makefile.udf to be copied in the directory my_library/src
The first one does not require modifications. In the second one two macros MUST be modified
SOURCE = my_udf.cFLUENT_INC = /usr/local/Fluent.Inc
![Page 128: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/128.jpg)
12
ME469B/6/GI 23
UDFs in FLUENT
Boundary ConditionsInitial ConditionsAdjust FunctionSource TermsMaterial PropertiesExecute on DemandUser Defined ScalarsUser Defined Memory
Pointers to threadsGeometry MacrosCell and Face VariablesArithmetic and Trigonometric Functions
Available MACROS
ProgrammingTools
ME469B/6/GI 24
Boundary Conditions
The inlet profile specification is based on the macro DEFINE_PROFILE
DEFINE_PROFILE can be used for wall boundary conditions as wellto impose temperature, velocity, shear stress, etc.
It is possible to specify a constant value, a position-dependent ortime-dependent values and to link the values on the boundary to the valuesin the internal cells
Note that the BCs are applied to the faces of the cells (face centroids)
xx
xBC
InternalValues
![Page 129: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/129.jpg)
13
ME469B/6/GI 25
Initial Conditions
The initial condition specification can be performed using the macro DEFINE_INIT
Space-dependent conditions might be imposed
The routine is executed once at the beginning of the solution process
It is attached in the UDFs hooks
Define Æ User Defined Æ Function Hooks
ME469B/6/GI 26
Initial Conditions
Note that the difference between the DEFINE_PROFILE and DEFINE_INITis that the former performs a loop on the face-centroids belonging to a certainzone whereas the latter loops on the cell-centroids
Example:
![Page 130: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/130.jpg)
14
ME469B/6/GI 27
Adjust Function
Similar to the DEFINE_INIT but it is executed every iteration: DEFINE_ADJUST
Can be used for postprocessing, clipping, etc.
It is attached in the UDFs hooks
Define Æ User Defined Æ Function Hooks
ME469B/6/GI 28
Source Terms
To add a source term in the equations: DEFINE_SOURCE
Can be used for:ContinuityMomentum (component by component)Turbulent quantitiesEnergy
It is different from the previous macros because it works on a cell-by-cell basis(no need to perform loops!)
![Page 131: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/131.jpg)
15
ME469B/6/GI 29
Define Æ Boundary Conditions Æ Fluid
Source Terms
Activate source terms
Attach the UDF
ME469B/6/GI 30
Source Terms
In FLUENT the source terms are written in the form
S (f) = A + B f
where f is the dependent variable
A is treated explicitly and B f is treated implicitly
In the DEFINE_SOURCE both terms A and B have to be specified
![Page 132: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/132.jpg)
16
ME469B/6/GI 31
Material Properties
To define the properties of the materials : DEFINE_PROPERTIES
Can be used for:ViscosityDensityThermal Conductivity….
As for the source terms works on a cell-by-cell basis
ME469B/6/GI 32
Material Properties
Define Æ Material Property
All the available UDFsAre shown in the menu
![Page 133: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/133.jpg)
17
ME469B/6/GI 33
Execute on Demand
Define Æ User Defined Æ Execute on Demand
To perform operations instantaneously : EXECUTE_ON_DEMAND
It is executed when activated by the user
Can be used for:DebuggingPostprocessing….
ME469B/6/GI 34
User Defined Scalar
In addition to the Continuity and Momentum Equations (and Energy) generic transport equations can be solved (up to 50!)
To include scalars in the calculations
1) Define the number of scalars
Define Æ User Defined Æ User Defined Scalars
2) Define the diffusion and source terms in the generic equation
![Page 134: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/134.jpg)
18
ME469B/6/GI 35
User Defined Scalar
Define Æ Material Property
When UDS are defined in the material property panel the diffusivity of thescalars MUST be defined
Note that the default diffusivity for the scalars is constant and equal to 1!
ME469B/6/GI 36
User Defined Scalar
Boundary conditions for the scalars can be defined as
Constant ValueConstant GradientUser Defined
Define Æ Boundary Conditions Æ Wall
![Page 135: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/135.jpg)
19
ME469B/6/GI 37
User Defined Scalar
The Source terms for the scalars are set using the DEFINE_SOURCE macroIntroduced before
The scalar equations can be further customized
1) Convective terms can be modified using the macroDEFINE_UDS_FLUX
2) Unsteady term can be modified using the macro DEFINE_UDS_UNSTEADY
ME469B/6/GI 38
User Defined Memory
The User Defined Scalars are used to solve additional equations eventuallycoupled to the mean flow equations
Sometimes it is useful to define temporary field variables to store and retrievevalues not directly available
UDM are defined:
More efficient storage compared to User Defined Scalars
Define Æ User Defined Æ User Defined Memory
![Page 136: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/136.jpg)
20
ME469B/6/GI 39
I/O in UDF
User Defined Scalars and User Defined Memory are AUTOMATICALLYStored in the Fluent Data files
Additional I/O (from and to the Fluent Case and Data files) can be Accomplished using the macro DEFINE_RW_FILE
Define Æ User Defined Æ Function Hooks
ME469B/6/GI 40
Detailed Programming
The macros introduced before are interpreted/compiled and attached tothe various Fluent panels
The detailed programming is based on additional macros that allow toloop on cells to retrieve field variables, etc.
Loop MacrosGeometry MacrosField Variable MacrosControl MacrosArithmetic and Trigonometric Macros
Before looking at the Macros, the Fluent Data structure in introduced
![Page 137: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/137.jpg)
21
ME469B/6/GI 41
Data Structure
It is based on a hierarchy of structures
Threads (zones) are collection of cells or faces Domain is a collections of threads
Domain
Thread
Cell
Thread
Face
Thread
Face
ME469B/6/GI 42
Every zone is associated to a single ID (available in the boundary conditions menu)
Threads
Given the ID of a thread the pointer can be retrieved as:
Thread *tf = Lookup_Thread(domain, ID);
Given the thread pointer the ID of the zone can be retrieved as:
ID = THREAD_ID(thread);
zone
ID
![Page 138: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/138.jpg)
22
ME469B/6/GI 43
Loop Macros
ME469B/6/GI 44
cell0cell1
x
face
Cell-face connectivity
When looping on faces the surrounding cells can be accessed using the macros:
cell0_thread = F_C0_THREAD(face,thread)cell1_thread = F_C1_THREAD(face,thread)cell0_id = F_C0(face,thread)cell1_id = F_C1(face,thread)
When looping on cells adjacent faces and cells can be accessed using the macros:
for(nf=0;nf<C_NFACES(cell,thread);nf++) { face_id = C_FACE(cell,thread,nf); face_thread = C_FACE_THREAD(cell,thread,nf); }
Number of faces of each cell is unknown
![Page 139: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/139.jpg)
23
ME469B/6/GI 45
Geometry Macros
Many more available; refer to the FLUENT UDF Manual
ME469B/6/GI 46
Field Variables Macros
![Page 140: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/140.jpg)
24
ME469B/6/GI 47
Field Variables Macros
Many more available; refer to the FLUENT UDF Manual
ME469B/6/GI 48
Control Macros
Many more available; refer to the FLUENT UDF Manual
![Page 141: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/141.jpg)
25
ME469B/6/GI 49
An example of User Defined Programming
Development of a custom turbulence model can be accomplished using theUDFs.
k-e model with damping functions formulation:
Low-Re k-e model
TransportEquations
ME469B/6/GI 50
Low-Re k-e modelAn example of User Defined Programming
Eddy Viscosity
Damping functions
Turbulent Reynolds number definitions
Wall boundary conditions
y
P = Turbulent Kinetic Energy Production
S = Strain Rate Magnitude
![Page 142: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/142.jpg)
26
ME469B/6/GI 51
Required UDF Routines
Source Terms DEFINE_SOURCE(k_source, thread, eqn) DEFINE_SOURCE(d_source, thread, eqn)
Diffusivity DEFINE_PROPERTY(ke_diffusivity, domain)
Boundary Condition DEFINE_PROFILE(wall_d_bc, domain)
Adjust Routine DEFINE_ADJUST(turb_adjust, domain)
ME469B/6/GI 52
Required field variables
Density C_R(cell,thread)
Molecular viscosity C_MU(cell,thread)
Eddy viscosity C_MU_T(cell,thread)
Strain Rate Magnitude Strain_rate(cell,thread)
Wall distance C_WALL_DIST(cell,thread)
![Page 143: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/143.jpg)
27
ME469B/6/GI 53
#include "udf.h"
/* Turbulence model constants */#define C_MU 0.09#define SIG_TKE 1.0#define SIG_TDR 1.3#define C1_D 1.44#define C2_D 1.92
/* User-defined scalars */enum{ TKE, TDR, N_REQUIRED_UDS};
UDF Header
Required: includes all Fluent macros
Constant definitions (global)
Assign a number to each scalar
ME469B/6/GI 54
/* Reynolds number definitions */real Re_y(cell_t c, Thread *t){ return C_R(c,t)*sqrt(C_UDSI(c,t,TKE))*C_WALL_DIST(c,t)/C_MU_L(c,t);}
real Re_t(cell_t c, Thread *t){ return C_R(c,t)*SQR(C_UDSI(c,t,TKE))/C_MU_L(c,t)/C_UDSI(c,t,TDR);}
/* Damping Functions */real f_mu(cell_t c, Thread *t){ return tanh(0.008*Re_y(c,t))*(1.+4/pow(Re_t(c,t),0.75));}
real f_1(cell_t c, Thread *t){ return 1.;}
real f_2(cell_t c, Thread *t){ return (1.-2/9*exp(-Re_t(c,t)*Re_t(c,t)/36))*(1.-exp(-Re_y(c,t)/12));}
Damping Functions
These are defined on a cell-by-cell basis
![Page 144: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/144.jpg)
28
ME469B/6/GI 55
Source Term Routines
DEFINE_SOURCE(k_source, c, t, dS, eqn){ real G_k;
G_k = C_MU_T(c,t)*SQR(Strainrate_Mag(c,t));
dS[eqn] = -2.*C_R(c,t)*C_R(c,t)*C_MU*f_mu(c,t)*C_UDSI(c,t,TKE)/C_MU_T(c,t); return G_k - C_R(c,t)*C_R(c,t)*C_MU*f_mu(c,t)*SQR(C_UDSI(c,t,TKE))/C_MU_T(c,t);}
The production term in the k equation is:
e is obtained from the definition of the eddy viscosity to increase the couplingbetween the equations and to define an implicit term
ME469B/6/GI 56
Source Term Routines
DEFINE_SOURCE(d_source, c, t, dS, eqn){ real G_k;
G_k = C_MU_T(c,t)*SQR(Strainrate_Mag(c,t));
dS[eqn] = C1_D*f_1(c,t)*G_k/C_UDSI(c,t,TKE) - 2.*C2_D*f_2(c,t)*C_R(c,t)*C_UDSI(c,t,TDR)/C_UDSI(c,t,TKE); return C1_D*f_1(c,t)*G_k*C_UDSI(c,t,TDR)/C_UDSI(c,t,TKE) - C2_D*f_2(c,t)*C_R(c,t)*SQR(C_UDSI(c,t,TDR))/C_UDSI(c,t,TKE);}
The production term in the e equation is:
It contains already both k and e. No need for manipulations!
![Page 145: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/145.jpg)
29
ME469B/6/GI 57
Diffusivity
DEFINE_DIFFUSIVITY(ke_diffusivity, c, t, eqn){ real diff; real mu = C_MU_L(c,t); real mu_t = C_R(c,t)*C_MU*f_mu(c,t)*SQR(C_UDSI(c,t,TKE))/C_UDSI(c,t,TDR); switch (eqn) { case TKE: diff = mu_t/SIG_TKE + mu; break; case TDR: diff = mu_t/SIG_TDR + mu; break; default: diff = mu_t + mu; } return diff;}
The diffusion terms in the scalar equations are set-up together
But each equation can havea different value
ME469B/6/GI 58
Eddy Viscosity
DEFINE_ADJUST(turb_adjust, domain){ Thread *t; cell_t c;
/* Set the turbulent viscosity */ thread_loop_c (t, domain) if (FLUID_THREAD_P(t)) { begin_c_loop(c,t) { C_MU_T(c,t) = C_R(c,t)*C_MU*f_mu(c,t)*SQR(C_UDSI(c,t,TKE))/C_UDSI(c,t,TDR); } end_c_loop(c,t) }}
The eddy viscosity is set in the adjust routine (called at the beginning of each Iteration) and it is used in the mean flow and in the scalar equations
![Page 146: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/146.jpg)
30
ME469B/6/GI 59
Wall Boundary Conditions
DEFINE_PROFILE(wall_d_bc, t, position){ face_t f; cell_t c0; Thread *t0 = t->t0; /* t0 is cell thread */ real xw[ND_ND], xc[ND_ND], dx[ND_ND], rootk, dy, drootkdy;
begin_f_loop(f,t) { c0 = F_C0(f,t); rootk = sqrt(MAX(C_UDSI(c0,t0,TKE), 0.)); F_CENTROID(xw,f,t); C_CENTROID(xc,c0,t0); NV_VV(dx, =, xc, -, xw); dy = ND_MAG(dx[0], dx[1], dx[2]); drootkdy = rootk/dy; F_PROFILE(f,t,position) = 2.*C_MU_L(c0,t0)/C_R(c0,t0)*drootkdy*drootkdy; } end_f_loop(f,t)}
Only the boundary condition for e is complicated because it requires the value of thederivative of k (the square root of k)
The derivative is rootk/dyrootk is the sqrt of k in
the adjacent cell centerdy is the distance between
cell and face center
ME469B/6/GI 60
Set-Up the Problem
Set-Up a case using the standard k-e
Define two scalars (TKE, TDR)
Compile and Attach the UDFs
Deactivate the Equations for k and e
Initialize and solve the RANS + TKE and TDR
![Page 147: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/147.jpg)
31
ME469B/6/GI 61
Attach the UDF
Source terms
Boundary conditions
ME469B/6/GI 62
Open UDF Library
Output in the text windowAre the functions available
After compiling the libraryIt can be opened in Fluent
![Page 148: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/148.jpg)
32
ME469B/6/GI 63
Perform the SimulationThe convergence is for the mean flow + the two scalars(turbulent quantities deactivated!)
For postprocessing purposes the UDS have to be used instead of turbulent quantities
ME469B/6/GI 64
Additional Information
Many additional macros are available to implement different physical modelscombustion modelsparticles-based models….
It is formally possible to develop additional numerical methods flux discretizationsvariable reconstruction and clipping….
Information are available in the FLUENT UDF manual (class web site)
![Page 149: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/149.jpg)
33
ME469B/6/GI 65
UDF in other commercial CFD CodesCFX
CFX (v4) is a structured code; the data structure is much simpler because thefield variables are accessed directly. It uses 1D arrays where the quantities arestored in succession
CFX UDFs are written in FORTRAN
For example:
U(I,J,K) Æ U(IJK) where IJK = (K-1)*NI*NJ+(J-1)*NI
There are no macros, but examples of subroutines to perform the customization
USRBCUSRSRCUSRDIF….
ME469B/6/GI 66
UDF in other commercial CFD CodesStar-CD
StarCD is an unstructured code similar to Fluent in term of data organizationBut similar to CFX for the organization of the UDF.
StarCD has threads (as Fluent) and the UDF work normally on a cell-by-cellbasis
StarCD UDFs are written in FORTRAN
There are no macros, but examples of subroutines to perform the customization
BCDEFWSORSCADIFFUS….
![Page 150: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/150.jpg)
1
ME469B/3/GI 1
Simulation of Turbulent Flows
• From the Navier-Stokes to the RANS equations• Turbulence modeling• k-e model(s)• Near-wall turbulence modeling• Examples and guidelines
ME469B/3/GI 2
Navier-Stokes equations
The Navier-Stokes equations (for an incompressible fluid) in an adimensional formcontain one parameter: the Reynolds number:
Re = r Vref Lref / m
it measures the relative importance of convection and diffusion mechanisms
What happens when we increase the Reynolds number?
![Page 151: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/151.jpg)
2
ME469B/3/GI 3
Re < 5 Laminar Attached Steady
5 < Re < 40 Laminar Separated Steady
40 < Re < 200 Laminar Separated Periodic
200 < Re < 350K Laminar Separation/Turbulent Wake Periodic
350K < Re Turbulent Separation Chaotic
Re
Reynolds Number Effect
Experimental Observations
ME469B/3/GI 4
Laminar vs. Turbulent Flow
Laminar Flow Turbulent Flow
The flow is dominated by theobject shape and dimension (large scale)and by the motion and evolution of small eddies (small scales)
Challenging to compute
The flow is dominated by theobject shape and dimension (large scale)
Easy to compute
![Page 152: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/152.jpg)
3
ME469B/3/GI 5
Why turbulent flows are challenging?
Unsteady aperiodic motion
Fluid properties exhibit quasi-random spatial variations (3D)
Strong dependence from initial conditions
Contain a wide range of scales (eddies)
The implication is that the turbulent simulations MUST be alwaysthree-dimensional, time accurate with extremely fine grids
ME469B/3/GI 6
Direct Numerical Simulation
The objective is to solve the time-dependent NS equations resolving ALLthe scale (eddies) for a sufficient time interval so that the fluid propertiesreach a statistical equilibrium
Grid requirement: N ~ (Ret)9/4 ~ 1x107 for Ret = 800
Time step requirement: Dt ~ (Ret)-1/2 ~ 1x10-5 for Ret = 800
y+ = r yp ut /m ut = (tw/r)1/2
![Page 153: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/153.jpg)
4
ME469B/3/GI 7
Typical DNS channel flow simulations
Instantaneous Flow Field – Vortical Structures
ME469B/3/GI 8
DNS of Channel Flow: Averaged Results
Laminar and Turbulent Velocity profiles
![Page 154: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/154.jpg)
5
ME469B/3/GI 9
DNS using Commercial CFD Codes?
Channel flow @ Ret = 395
ME469B/3/GI 10
Beyond DNS
DNS is possible but only for low Reynolds number flows (and simple geometries)
The (time and space) details provided by DNS are NOT required for design purposes
Time averaged quantities are appropriate for engineering purposes
Large scale resolution (not to the level of the smallest eddies) is enough for applications
Can we extract time-average and large-scale quantities at areasonable computational cost?
![Page 155: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/155.jpg)
6
ME469B/3/GI 11
Flow over a Backstep
Istantaneous
Time averaged
high velocityregionslow velocity
regions
Length of the recirculation region is of engineering interest
ME469B/3/GI 12
Velocity & Velocity Fluctuations
is a function of time with rapid fluctuations (turbulence)By re-defining it as the time average and the fluctuations
(x1)
(x2)
t
Velocity measurements in the turbulent wake of a cylinder
![Page 156: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/156.jpg)
7
ME469B/3/GI 13
Reynolds-Averaged Navier-Stokes Equations
Closureproblem
Define Reynolds-averaged quantities
Substitute and average:
ME469B/3/GI 14
Unsteady RANS?Every turbulent flow is unsteady BUT not all the unsteadiness is turbulence!
RANS averaging based on time average can be applied only to “statistically”steady flows. What if flow has a large scale periodicity (vortex shedding)?
We can define the Reynolds-Averaging procedure in terms of Ensemble Average:
![Page 157: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/157.jpg)
8
ME469B/3/GI 15
Turbulence modeling
Define the Reynolds stresses in terms on known (averaged) quantities
1) Boussinesq hypothesis - simple relationship between Reynolds stresses and velocity gradients through the eddy viscosity (similar to molecular viscosity) - isotropic (eddy viscosity is a scalar!)
2) Reynolds stress transport models - equations derived directly manipulating the NS equations - still contain unknown (undetermined) quantities - no assumption of isotropy - very complicated and expensive to solve
3) Non-linear Eddy viscosity models (Algebraic Reynolds stress)
4) Model directly the divergence of the Reynods Stresses
ME469B/3/GI 16
Eddy viscosity models
Boussinesq relationship:
Guidelines for defining the eddy viscosity:
1) Dimensional arguments- units are [m2/s]- define 2 out of three scales: velocity, length, time
2) Physical arguments- asymptotic analysis- consistency with experimental findings
3) Numerical arguments- simple and easy to compute
with:
![Page 158: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/158.jpg)
9
ME469B/3/GI 17
Classification of eddy viscosity models
The various models (about 200) are classified in terms of number of transportequations solved in addition to the RANS equations:
1) zero-equation/algebraic models:Mixing Length, Cebeci-Smith, Baldwin-Lomax, etc
2) one-equation models:Wolfstein, Baldwin-Barth, Spalart-Allmaras, k-model, etc
3) two-equation models:k-e, k-w, k-t, k-L, etc.
4) three-equation models:k-e-A
5) four-equation models:v2-f model
ME469B/3/GI 18
Zero-equation model Prandtl Mixing Length
From dimensional arguments and analogy with molecular transport
Definition of L is different for each problem (boundary layes, mixing layers, etc.)
Eddy viscosity is zero if the velocity gradients are zero
No “history” effect; purely local
L can be made “universal” using ad hoc functions of distance from the walls,pressure gradients, etc.
![Page 159: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/159.jpg)
10
ME469B/3/GI 19
One-equation model k-model
An equation from k can be derived directly from the NS equations (using the definition)
k1/2 is assumed to be the velocity scaleit still requires a length scale L as before to define the eddy viscosity4 out of 7 terms in the k equation require further assumptions
Production is computed using the Boussinesq approximationDissipation is modeled (using dimensionality arguments) as k3/2/L Turbulent transport and pressure diffusion are modeled together:
ME469B/3/GI 20
One-equation model k-model
The ONLY advantage with respect to zero-equation models is the inclusion of thehistory effects.
Modern one-equation models abandoned the k-equation and are based on a ad-hocTransport equation for the eddy viscosity directly.
Spalart-Allmaras model:
The final form of the model is:
![Page 160: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/160.jpg)
11
ME469B/3/GI 21
Two-equation model k-f family
The main drawback of the k one-equation model is the incomplete representationof the two scales required to build the eddy viscosity; two-equation models attemptto represent both scales independently.
• All models use the transport equation for the turbulent kinetic energy k• Several transport variables are used
e: turbulence dissipation rateL: turbulent length scalew: inverse of turbulent time scalew2
gyt
ME469B/3/GI 22
k-e model
The k equation is the same as before:
The e equation can be obtained from the NS equations but it contains several undeterminedquantities; it is therefore derived “mimicking” the k equation
The eddy viscosity is obtained as:
There are 5 free constants
![Page 161: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/161.jpg)
12
ME469B/3/GI 23
Determining the constants?
The constants can be determined studying simple flows:
1. Decaying homogeneous isotropic turbulence
2. Homogeneous shear flow
3. The Logarithmic Layer
4. …
Or by comparison with experimental data
Standard k-e refers to a certain choice of the constants (Launder & Sharma 1972)
ME469B/3/GI 24
Structure of the Turbulent Boundary LayerUniversal Law (velocity profile)
At High Reynolds number the viscous dominated layer is so thin that it is verydifficult to resolve it
![Page 162: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/162.jpg)
13
ME469B/3/GI 25
Wall Function Approach (High-Re k-e)
The laminar sublayer is NOT resolved
First grid point is assumed to be in the logarithmic layer (y+>11) and the velocity is assumed to be described by:
u+ = (1/k)ln(Ey+)
A slip condition (u ≠ 0) is imposed at the wall (imposed shear stress)
k boundary condition is usually imposed as a zero-gradient.
e is obtained by equilibrium condition (Pk=e )
If first grid point is too close (viscous layer) then the velocity is: u+ = y+
ME469B/3/GI 26
Near Wall Region Modeling
From a physical point of view:
It is important because solid walls are the main source of vorticityand turbulence (local extrema of turbulent kinetic energy, largevariations of turbulence dissipation, etc.)
In engineering applications:
Wall quantities (velocity gradients, pressure, etc.) are very important in several applications
Flow separation and reattachment are strongly dependent on a correct prediction of the development of turbulence near walls
![Page 163: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/163.jpg)
14
ME469B/3/GI 27
Damping Functions Approach (Low-Re k-e)
The equations are integrated to the wall WITHOUT assuming an universal lawfor the velocity profile and an equilibrium conditions for k and e
The problem is that the model predicts the wrong behavior for k and e nearthe solid walls (from DNS and experimental observation)
The equations are modified using algebraic functions to “damp” certain terms:
The damping functions are designed to correct the behavior of the eddy viscosity
ME469B/3/GI 28
Damping Functions
We need to specify 5 constants plus 3 functions:
MANY choices are available (about 30 different formulations!). Fluenthas 6 different versions
Classic model is the Launder and Sharma model:
Others might be function of the distance from the wall, the pressure gradient, etc.
![Page 164: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/164.jpg)
15
ME469B/3/GI 29
Two-Layer Approach
The computational domain is divided in two regions: viscosity affected (near wall)and fully turbulent core (outer region)
Two different models are used: the complete k-e model for the outer region anda simplified model (typically a one-equation k-based model) for the near-wall
The separation between the two regions is defined in terms of a distance from thewall (y+~30)
The main assumption is related to the definition of e which is based on
ME469B/3/GI 30
Near-Wall Treatments for k-e models
+/---+/-Dampingfunctions
+/-++/-+/-Two layer
+/-++-Wallfunctions
AccuracyNumerics
GridrequirementPhysicsApproach
Summary and Comparison
![Page 165: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/165.jpg)
16
ME469B/3/GI 31
Problem set-up Solver Set-Up
Material Properties:r = 1kg/m3
m = 0.0017kg/ms
Reynolds number:h = 2m, L=1mRet = rUth/m = 590
Boundary Conditions: Periodicity Dp/L=1=Ut
No-slip top/bottom walls
Initial Conditions:u = 1; v = p = 0
Turbulence model:k-e with wall functions
Segregated Solver
Discretization:2nd order upwindSIMPLE
MultigridV-Cycle
h
Periodic boundaries
Example: Turbulent Channel Flow
L
Grid
SAME GRID USEDFOR THE LAMINARFLOW @ Re=20
ME469B/3/GI 32
Turbulent Channel Flow
Velocity and k profiles
Ret = 590
![Page 166: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/166.jpg)
17
ME469B/3/GI 33
Grid Convergence?
Velocity and k profiles
Ret = 590
Turbulence Channel Flow
ME469B/3/GI 34
From High-Re to Low-Re k-e
Grid Turbulent kinetic energy
Wall boundary conditiondk/dy=0 k=0
Wall clusteringy+=30 y+~1
Ret = 590
![Page 167: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/167.jpg)
18
ME469B/3/GI 35
Velocity and k profiles
Low-Re k-e model
Ret = 590
Turbulence Channel Flow
ME469B/3/GI 36
Pros & Cons of k-e model
+ Simple+ Affordable+ Reasonably accurate for wide variety of flows (without separation)+ History effects
- Overly diffusive - Cannot predict different flows with the same set of constants (universality)- Source terms are stiff numerically- Not accurate in the region close to no-slip walls where k and e exhibit large peaks (DNS and experimental observations) - Near wall treatment
A lot of variants have been introduced to overcome these problems
One (or more) constants become coefficients varying with S, distance from the walls, pressure gradient, etc.: RNG k-e, realizable k-e…
![Page 168: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/168.jpg)
19
ME469B/3/GI 37
Alternatives/Improvements to k-e models
The k-w model was developed from the realization that most of the problemsexperienced by k-e-type models are due to the modeling of the e equation whichis neither accurate or easy to solve (e has a local extrema close to the wall)
Mathematically this is equivalent to a change of variables w~e/k
The v2-f model is based on the argument that k/e is the correct turbulent timescale in the flow (close to the wall and in the outer region) but k is not theappropriate turbulent velocity scale
An additional equation for the correct velocity scale v2 (independent from k) hasto be solved. Moreover, the damping effect produced from the presence of the wallis NOT local (as assumed in the damping function approach) but must beaccounted for globally using an elliptic equation
ME469B/3/GI 38
Velocity and k profiles
k-w model
Ret = 590
Turbulence Channel Flow
![Page 169: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/169.jpg)
20
ME469B/3/GI 39
Reynolds Stress Models
Attempt to model directly the “new” terms appearing in the RANS equations
Mathematically is expensive because we have 6 additional equations:
More importantly ONLY the production term are exact, everythingelse MUST be modeled
RSM are extremely stiff numerically due to the coupling between theequations and suffer of the same near-wall problems of the k-e
ME469B/3/GI 40
Models available in Fluent
One-equation model
Two-equation modelk-e (3 versions + 3 wall treatments)k-w (2 versions)
Reynolds Stress model
Note that the coefficients might be adjusted!!!
Define Æ Models Æ Viscous
![Page 170: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/170.jpg)
21
ME469B/3/GI 41
Models in Fluent hidden behind the GUI
Mixing Length
define/model/viscous/mixing-length y
Two-equation modelk-e Low-Re (6 versions)
define/model/viscous/turbulence-expert/low-re-ke ydefine/model/viscous/turbulence-expert/low-re-ke-index 2
Some turbulence models are NOTdirectly available in the GUI!!!
ME469B/3/GI 42
Comparison of Models
Velocity and k profiles
Ret = 590
Turbulence Channel Flow
![Page 171: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/171.jpg)
22
ME469B/3/GI 43
Channel Flow Summary
Wall functions are accurate if the first grid point is in the logarithmic layer
Grid Convergence Study with wall functions approach FAILS
Damping Functions (and Two-Layer approaches) are accurate for the velocity profilesBut the turbulent kinetic energy peak is underpredicted
k-w model is a viable alternative to k-e and has less sensitivity to the grid clustering
SA model and v2-f model are equivalent in capturing the velocity profile
v2-f model is accurate in predicting the peak of turbulence kinetic energy near the wall
ME469B/3/GI 44
Inlet boundary conditions for turbulent quantities
At inlet boundary conditions additional quantities have to be specified inturbulent flows depending on the turbulence model selected. Typically thereare three options:
1) k-e
2) Turbulence Intensity and Turbulence Length Scale
3) Turbulence Intensity and Turbulent Viscosity
![Page 172: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/172.jpg)
23
ME469B/3/GI 45
Example: Asymmetric Diffuser
Problem set-up Solver Set-UpMaterial Properties:r = 1kg/m3
m = 0.0001kg/ms
Reynolds number:h = 2m,Re = rUh/m = 20,000
Boundary Conditions: Inlet profiles available from experiments No-slip top/bottom walls
Segregated Solver
Discretization:2nd order upwindSIMPLE
MultigridV-Cycle
Initial Conditions:
u = 1; v = p = 0
Turbulence model:
Two-equation models
Inflow
Outflow
ME469B/3/GI 46
Flow in Asymmetric Diffuser
k-e Low-Re
k-e Low-Re
v2-f
v2-f
Experiments indicatedthe presence of a largerecirculation region
k-e models with dampingfunction do NOT capture it
![Page 173: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/173.jpg)
24
ME469B/3/GI 47
Flow in Asymmetric Diffuser
Skin friction on the bottom wall
ME469B/3/GI 48
Flow in Asymmetric Diffuser
Streamwise Velocity Turbulence Kinetic Energy
![Page 174: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/174.jpg)
25
ME469B/3/GI 49
k-e with wall functions
No separation is captured!Series of grids generatedwith different clustering at wall
ME469B/3/GI 50
k-e with wall functions
In “complex” configuration it is impossible to generated a grid with the first grid pointin the logarithmic layer…..
…in addition, for complicated flows with recirculation the Universal Law is inaccurate
![Page 175: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/175.jpg)
26
ME469B/3/GI 51
Example: NLR Two Component Airfoil
Problem set-up Solver Set-UpMaterial Properties:r = 1kg/m3
m = 3.98E-7Kg/ms
Reynolds number:h = 1m,Re = rUh/m = 2,512,600
Boundary Conditions: Constant velocity at AOA=a No-slip walls
Segregated Solver
Discretization:2nd order upwindSIMPLE
MultigridV-Cycle
Initial Conditions:
u = cosa; v = sina, p = 0
Turbulence model:
SA and k-e models
a
ME469B/3/GI 52
Computational Grid
Due to the high Reynolds numberresolution of the boundary layersrequires extreme clustering
![Page 176: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/176.jpg)
27
ME469B/3/GI 53
How this grid is generated?
Multiblock Structured Grid
ME469B/3/GI 54
Pressure distributions
Pressure Distribution at Low and High Angle of Attack
![Page 177: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/177.jpg)
28
ME469B/3/GI 55
Why k-e fails?
StreamwiseVelocity
Turbulentkinetic energy
Spurious production of k in the stagnation regionsFix: Use of a production limiter:
define/model/viscous/turbulence-expert/kato-launder-model y
ME469B/3/GI 56
GuidelinesSimulations of turbulence flows require “decisions” based on:
1) Flow Physics to characterize the flow features (turbulence, high gradients, etc.)2) Computational requirements to evaluate the grids resolution required for a certain accuracy3) Project Requirement to evaluate the need for sophisticated turbulence models
Turbulence model Computational grid
physicsaccuracy
resources
Simulation
CFD
Pro
cess
![Page 178: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/178.jpg)
29
ME469B/3/GI 57
Modeling procedure:
• Determine relevant Reynolds number to estimate if the flow is turbulent
• Select a turbulence model option and a near-wall treatment
• Estimate the physical dimension of the first grid point off the wall (y+)
• Generate the grid
• Perform the simulation
• “Reality” check (experiments, literature, model consistency)
Guidelines
ME469B/3/GI 58
Estimating y+
Definition: y+ = r yp ut /m
y+ = r yp ut /m
ut = Ue (cf/2)1/2
To estimate ut we can use “classic” relationships for the skin friction:
• Flat Plate: cf/2 ~ 0.052 (Rex)-0.142
• Pipe: cf/2 ~ 0.046 (Rex)-0.2
Note that there are different laws for different Re number ranges
![Page 179: Advanced Computational Models FLUENT_NOTES](https://reader030.fdocuments.us/reader030/viewer/2022020712/5528ca514a7959b8448b47e7/html5/thumbnails/179.jpg)
30
ME469B/3/GI 59
“Final” Guidelines
For k-e simulations:Two-layer is preferable over wall-functions (grid dependence + accuracy)Realizable k-e or Kato&Launder limiter have to be used
For k-w simulations:SST is usually better than standardGrid should be clustered at wall
SA is usually a good compromise between accuracy and simplicity. It also hasvery good convergence properties (as compared to the two-equation models)
Reynolds stress model is expensive and it require a good initial guess (typically ak-e-type simulation)
ME469B/3/GI 60
Summary of turbulence models in Commercial Codes
ynyyyyCFX
yynynnStarCD
ynyyyyFLUENT
Custom
Non-Linear
ModelsRSM
Two
equation
One
equation
Zeroequation