-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTransonic.py
138 lines (126 loc) · 4.73 KB
/
Transonic.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
from solver import FVMG
Solution = FVMG('transonic','W-4',7,223,0.5,10)
M_ex = Solution.M_ex
M_num = Solution.Mach
p_ex = Solution.p_ex
p_num = Solution.pres
X = [Solution.x,Solution.x]
Y = [M_ex,M_num]
labels = ['Exact','Numerical']
colors = ['b','r']
lines = ['-','+']
axis = ['x[m]','Mach number']
Solution.plotting(X,Y,axis,labels,colors,lines, 'Transonic problem',
logscale = False,location = 'lower center',lw= 0.75)
##"""
##Transonic channel flow
##First run: Replicate figure 5.18 book
##"""
### Multistep solution with Courant = 3 (here the multigrid case is also run but it is omitted)
##case1 = FVMG('transonic','W-4',3,103,0.6,4000)
### Multistep solution with Courant = 7 (here the multigrid case is also run but it is omitted)
##case2 = FVMG('transonic','W-4',7,103,0.6,3300)
### Multigrid solution with Courant = 7 (here the multistep case is also run but it is omitted)
##case3 = FVMG('transonic','W-4',7,103,0.6,10)
##res1 = case1.residuals1
##res2 = case2.residuals1
##res3 = case3.residuals2
##X = [case1.x,case2.x,case3.x]
##Y = [res1,res2,res3]
##labels = ['Multistep - C = 3','Multistep - C = 7', 'Multigrid W-cycle \n 4 grid, C = 7']
##colors = ['b','r','g']
##lines = ['-','-','-']
##axis = ['Iterations','L2 residual']
##case1.plotting(X,Y,axis,labels,colors,lines, 'Transonic: beta = 0.6, N = 103',
## logscale = True,location = 'upper right',lw= 1)
##
##
##"""
##Transonic channel flow
##Second run: Effect of Multigrid cycle
##Courant number fixed: Courant = 4
##Number of cells fixed: N = 223
##"""
##
### Multigrid solution W-cycle 2-3-4
##case1 = FVMG('transonic','W-4',4,223,0.6,10)
### Multigrid solution W-cycle 3-4-5
##case2 = FVMG('transonic','W-5',4,223,0.6,10)
### Multigrid solution W-cycle 4-5-6
##case3 = FVMG('transonic','W-6',4,223,0.6,10)
### Multigrid solution V-cycle 4 grid
##case4 = FVMG('transonic','V-4',4,223,0.6,10)
### Multigrid solution V-cycle 5 grid
##case5 = FVMG('transonic','V-5',4,223,0.6,10)
### Multigrid solution V-cycle 6 grid
##case6 = FVMG('transonic','V-6',4,223,0.6,10)
##res1 = case1.residuals2
##res2 = case2.residuals2
##res3 = case3.residuals2
##res4 = case4.residuals2
##res5 = case5.residuals2
##res6 = case6.residuals2
##X = [case1.x,case2.x,case3.x,case4.x,case5.x,case6.x]
##Y = [res1,res2,res3,res4,res5,res6]
##labels = ['W-cycle 2-3-4','W-cycle 3-4-5', 'W-cycle 4-5-6',
## 'V-cycle 4 grid','V-cycle 5 grid', 'V-cycle 6 grid']
##colors = ['b','r','g','b','r','g']
##lines = ['-','-','-',':',':',':']
##axis = ['Iterations','L2 residual']
##case1.plotting(X,Y,axis,labels,colors,lines, 'Transonic Multigrid W-cycle VS V-cycle \n C = 4, beta = 0.6, N = 223',
## logscale = True,location = 'upper right',lw= 0.75)
##
##
##
##"""
##Transonic channel flow
##Third run: Effect of Courant number
##Number of cells fixed, N = 223
##Multigrid cycles fixed: W-cycle 2-3-4 & 3-4-5
##
##"""
##case1 = FVMG('transonic','W-4',1,223,0.6,10)
##case2 = FVMG('transonic','W-4',4,223,0.6,10)
##case3 = FVMG('transonic','W-4',7,223,0.6,10)
##case4 = FVMG('transonic','W-5',1,223,0.6,10)
##case5 = FVMG('transonic','W-5',4,223,0.6,10)
##case6 = FVMG('transonic','W-5',7,223,0.6,10)
##res1 = case1.residuals2
##res2 = case2.residuals2
##res3 = case3.residuals2
##res4 = case4.residuals2
##res5 = case5.residuals2
##res6 = case6.residuals2
##X = [case1.x,case2.x,case3.x,case4.x,case5.x,case6.x]
##Y = [res1,res2,res3,res4,res5,res6]
##labels = ['Cycle 1, C = 1 ','Cycle 1, C = 4', 'Cycle 1, C = 7',
## 'Cycle 2, C = 1 ','Cycle 2, C = 4', 'Cycle 2, C = 7']
##colors = ['b','r','g','b','r','g']
##lines = ['-','-','-',':',':',':']
##axis = ['Iterations','L2 residual']
##case1.plotting(X,Y,axis,labels,colors,lines, 'Transonic Multigrid beta = 0.6 \n N = 223 Cycle 1: W-cycle 2-3-4 \n Cycle 2: W-cycle 3-4-5',
## logscale = True,location = 'upper right',lw= 0.75)
##
##
##
##"""
##Transonic channel flow
##Fourth run: Effect of smoothing factor Beta
##Number of cells fixed: N = 223
##Multigrid cycle fixed: W-cycle 3-4-5
##Courant fixed: C = 7
##"""
##case1 = FVMG('transonic','W-4',7,223,0.5,10)
##case2 = FVMG('transonic','W-4',7,223,0.6,10)
##case3 = FVMG('transonic','W-4',7,223,0.7,10)
##res1 = case1.residuals2
##res2 = case2.residuals2
##res3 = case3.residuals2
##X = [case1.x,case2.x,case3.x]
##Y = [res1,res2,res3]
##labels = ['Beta = 0.5','Beta = 0.6', 'Beta = 0.7']
##colors = ['b','r','g']
##lines = ['-','-','-',':',':',':']
##axis = ['Iterations','L2 residual']
##case1.plotting(X,Y,axis,labels,colors,lines, 'Transonic Multigrid N = 223 \n W-cycle 3-4-5, C = 7',
## logscale = True,location = 'upper right',lw= 0.75)