2d cfd code based on matlab- as good as fluent!
DESCRIPTION
Developed while doing my Ph.D. on CFD at Texas Tech. As good as FLUENT-2D.TRANSCRIPT
An Introduction to My CFD Code (2D Version)
Jiannan(Jay) Tan
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.
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.
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:
The N-S Euqation Solver
( ) ( ( ))U Pt
��������������
( ) 0U ��������������
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
Methodology-SIMPLE MethodInitial 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
Discretizing Momentum Equations Using Gauss Theorem
ˆ ˆ( ) ( ( ))U n ds n ds P V ��������������
( ) ( ( ))U dv dv P dv ��������������( ) ( ( ))U P
��������������
. .
( ) [ ( ) ]n d E P Crossnb face nb face
F D D P V 1
.
( ) [ ] ( )n n np p e e p
nb face
a a S P V
Interim velocity u, v
MIM
Pressure-Correcton Equation
.
.
( ) ( ) ( ) ( )
( ) ( ) ( ) ( )
up e e nb nb e u e P E e
nb face
vp 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 enb face e
e P Eu up e p e
nb nb e v enb face e
e P Ev vp e p e
a u Sy
u P Pa a
a v Sx
v P Pa a
' ' '
' ' '
( )( )
( )( )
ee P E u
p e
ee P e v
p e
yu P P
a
xv P P
a
* * ' '
1
[( ) ( ) ( ) ( ) ] 0Nb
e e e ee
u y v x u y v x
Continuity Equation, assume u=u’+u*
2 2' ' ' '
1
[( )( ) ( ) ( ) ] 0Nb
P E e eu ve P P
y xP P u y v x
a a
' '
1
( ) . . . . .Nb
P P E Ee
a P a P Mass imbalance in to cell P
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.
Least Square Method
Backup slide: A failed try using LSM
Covergence Criteria
• The ratio of Maximum imbalance rate into a single cell over the inlet mass flow rate
Validation & Verification
1. Straight pipe flow
2. Jet flow
3. Flow around a cube
4. Z-pipe flow
Test Case 1: Flow in a straight channel
Case 1: FLUENT solution
U(max)=1.47
Test Case 1: Flow in a straight channel
U(max)=1.46
Test Case 2: Sudden Expansion-Jet Flow
Case 2: FLUENT solution: Velocity vector
U(max)=1.33
Case 2: FLUENT solution: Vortex pattern
Test Case 2: My code solution
U(max)=1.34
Case 2: Comparison of vortex length
Test case 3: Flow in a Z-pipe
Case 3: FLUENT solution: Velocity vector
U(max)=1.44
Case 3: FLUENT solution: Vortex pattern
Test case 3: My code solution
U(max)=1.44
Case 3: Comparison of vortex length
Test case 4: Flow past a square cylinder
Case 4: FLUENT solution: Velocity vector
U(max)=1.43
Case 4: FLUENT solution: Vortex pattern
Test case 4: My code solution
U(max)=1.41
Case 4: Comparison of vortex length
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
Backup slide: Case 4 FLUENT report
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