2. Highlights
• 1. Based on MATLAB.
• 2. Aiming on 2D, Steady, Laminar, viscous
flow.
• 3. Using unstructured, arbitrary-shape,
collocated grids.
• 4. Navier-Stokes equations are solved and
velocity and pressure are calculated.
• 5. Results are compared with those results
from FLUENT.
• 6. A few benchmarking cases are tested.
3. How does the code work
2D Code
Part 1: Mesh reader Part 2: N-S Equation Solver
Files in certain format
that contains the mesh
information. For
example, the FLUENT
*.msh file.
Velocity filed U, V and
Pressure P.
Part 3: Post-processing
sub-programs
Visualized vector plots
and contours.
4. The Data structure of Mesh
U,V,P
B(xb, yb)
A(xa, ya)
C(xc, yc)
4.Face normal
Cell ID = P
1. Point ID (x, y)
2. Face ID (A, B, P, nb, property )
3. Cell ID (3, face1, face2, face3)
3 elemental data groups
which decide the whole
mesh:
1.Flow flux
3.Face area
6.Volume
7.Presssure gradient
2.Face velocity components
5.Face velocity components’ gradient
7 important variables:
5. The N-S Euqation Solver
( ) ( ( ))U P
t
ρ µ
∂Φ
+ ∇× Φ = ∇× ∇Φ −∇
∂
uv
( ) 0Uρ∇× =
uv
Momentum
equation:
Continuity
equation:
1. Discretization: Gauss Theorem
2. Face Mass Flux and Face Scalar
3. SIMPLE Method
4. Least Square Method
5. Pressure-Correction Equation
6. Convergence Criteria
Steady flow
6. Methodology-SIMPLE Method
Initial guess of u, v and p
Solving the dicretized momentum
equations and get interim velocity u, v
Calculating the face mass flux using
momentum interpolation method
Solving the discretized continuity
equation and geting the pressure
correction p’
Correcting the cell-central pressure
and velocity
Convergence reached?
Post-processing
Resuming
iteration with
new u, v and p
7. Discretizing Momentum Equations
Using Gauss Theorem
ˆˆ( ) ( ( ))U n ds n ds P Vρ µ ∆Φ × × = ∇× ∇Φ × × −∇ ×∫ ∫
uv
( ) ( ( ))U dv dv P dvρ µ∇× Φ × = ∇× ∇Φ × − ∇ ×∫ ∫ ∫
uv
( ) ( ( ))U Pρ µ∇× Φ = ∇× ∇Φ −∇
uv
. .
( ) [ ( ) ]n d E P Cross
nb face nb face
F D D P V∆×Φ = × Φ − Φ + −∇ ×∑ ∑
1
.
( ) [ ] ( )n n n
p p e e p
nb face
a a S P V −
∆×Φ = ×Φ + − ∇ ×∑
Interim velocity u, v
MIM
8. Pressure-Correcton Equation
.
.
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
u
p e e nb nb e u e P E e
nb face
v
p e e nb nb e v e P E e
nb face
a u a u S P P y
a v a v S P P x
∆
∆
× = × + + − ×
× = × + − − ×
∑
∑
.
.
( ) ( )
( )
( ) ( )
( ) ( )
( )
( ) ( )
nb nb e u e
nb face e
e P Eu u
p e p e
nb nb e v e
nb face e
e P Ev v
p e p e
a u S
y
u P P
a a
a v S
x
v P P
a a
∆
∆
× +
= + − ×
× +
= − − ×
∑
∑
' ' '
' ' '
( )
( )
( )
( )
e
e P E u
p e
e
e P e v
p e
y
u P P
a
x
v P P
a
∆
∆
= − ×
= − − ×
* * ' '
1
[( ) ( ) ( ) ( ) ] 0
Nb
e e e e
e
u y v x u y v xρ ρ ρ ρ∆ ∆ ∆ ∆
=
− + − =∑
Continuity Equation,
assume u=u’+u*
2 2
' ' ' '
1
[( )( ) ( ) ( ) ] 0
Nb
P E e eu v
e P P
y x
P P u y v x
a a
ρ ρ
ρ ρ∆ ∆
∆ ∆
=
+ − + − =∑
' '
1
( ) . . . . .
Nb
P P E E
e
a P a P Mass imbalance in to cell P
=
= +∑
9. Momentum Interpolation Method
1. Used after interim velocity is achieved after solving
momentum equations.
2. Applied in order to eliminate oscillating pressure field.
Sometimes called ‘pressure smooth term’.
3. Used to calculate mass imbalance into each cell in this
code.
32. Case 4: Comparison of Cd
FLUENT My Code
Pressure Force 1.275 1.299
Viscous Force 0.601 0.541
Total Force 1.876 1.840
Cd 3.752 3.680
Density =1, viscosity =0.05, Frontal area =1, U=1
34. Futher Development
• 1. Optimization
• 2. Different methods to dicretized the momentum euqation.
• 3. Different methods to calculate the pressure gradient.
• 4. Different methods to do the iteration.
• 5. Parallel computation.
• 6. Mesh generator.
• 7. More advanced models.
• 8. Advanced post-processor.
• 9. Commercialize the code, sell it to MATLAB :-D