Skip to content

Commit 1ec391a

Browse files
author
nianhuawong
committed
WCNS格式,检查,刚开始时能算出大概,后面就发散了。待继续检查
1 parent e57166c commit 1ec391a

File tree

3 files changed

+21
-22
lines changed

3 files changed

+21
-22
lines changed

src/QlQr_Solver.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ void QlQr_Solver::QlQr_WCNS()
219219
}
220220
void QlQr_Solver::Boundary_QlQr_WCNS_X()
221221
{
222-
for (int j = jst; j <= jed; j++)
222+
for (int j = jst; j <= jed; j++)//确定i=0,1,ied,ied+1的值
223223
{
224224
for (int iVar = 0; iVar < num_of_prim_vars; iVar++)
225225
{
@@ -250,7 +250,7 @@ void QlQr_Solver::Boundary_QlQr_WCNS_X()
250250

251251
void QlQr_Solver::Boundary_QlQr_WCNS_Y()
252252
{
253-
for (int i = ist; i <= ied; i++)
253+
for (int i = ist; i <= ied; i++)//确定j=0,1,jed,jed+1的值
254254
{
255255
for (int iVar = 0; iVar < num_of_prim_vars; iVar++)
256256
{
@@ -295,7 +295,7 @@ void QlQr_Solver::QlQr_WCNS_X()
295295
double ds = dx;
296296

297297
VInt2D& marker = mesh->Get_Marker();
298-
for (int i = ist; i <= ied; i++)
298+
for (int i = ist; i <= ied; i++)//i=0,1,ied+1,ied+2没有值
299299
{
300300
for (int j = jst; j <= jed; j++)
301301
{
@@ -318,7 +318,7 @@ void QlQr_Solver::QlQr_WCNS_X()
318318
Allocate_3D_Vector(IS2, total_points_x, total_points_y, num_of_prim_vars);
319319
Allocate_3D_Vector(IS3, total_points_x, total_points_y, num_of_prim_vars);
320320

321-
for (int i = ist; i <= ied; i++)
321+
for (int i = ist; i <= ied; i++)//i=0,1,ied+1,ied+2没有值
322322
{
323323
for (int j = jst; j <= jed; j++)
324324
{
@@ -382,21 +382,21 @@ void QlQr_Solver::QlQr_WCNS_Y()
382382
{
383383
//计算Lagrange插值系数
384384
VDouble3D g1, g2, g3;
385-
Allocate_3D_Vector(g1, num_half_point_x, num_half_point_y, num_of_prim_vars);
386-
Allocate_3D_Vector(g2, num_half_point_x, num_half_point_y, num_of_prim_vars);
387-
Allocate_3D_Vector(g3, num_half_point_x, num_half_point_y, num_of_prim_vars);
385+
Allocate_3D_Vector(g1, total_points_x, total_points_y, num_of_prim_vars);
386+
Allocate_3D_Vector(g2, total_points_x, total_points_y, num_of_prim_vars);
387+
Allocate_3D_Vector(g3, total_points_x, total_points_y, num_of_prim_vars);
388388

389389
VDouble3D s1, s2, s3;
390-
Allocate_3D_Vector(s1, num_half_point_x, num_half_point_y, num_of_prim_vars);
391-
Allocate_3D_Vector(s2, num_half_point_x, num_half_point_y, num_of_prim_vars);
392-
Allocate_3D_Vector(s3, num_half_point_x, num_half_point_y, num_of_prim_vars);
390+
Allocate_3D_Vector(s1, total_points_x, total_points_y, num_of_prim_vars);
391+
Allocate_3D_Vector(s2, total_points_x, total_points_y, num_of_prim_vars);
392+
Allocate_3D_Vector(s3, total_points_x, total_points_y, num_of_prim_vars);
393393

394394
double ds = dy;
395395

396396
VInt2D& marker = mesh->Get_Marker();
397397
for (int i = ist; i <= ied; i++)
398398
{
399-
for (int j = jst; j <= jed; j++)
399+
for (int j = jst; j <= jed; j++)//j=0,1,jed+1,jed+2没有值
400400
{
401401
if (marker[i][j] == 0) continue;
402402
for (int iVar = 0; iVar < num_of_prim_vars; iVar++)
@@ -413,13 +413,13 @@ void QlQr_Solver::QlQr_WCNS_Y()
413413
}
414414
//计算光滑因子
415415
VDouble3D IS1, IS2, IS3;
416-
Allocate_3D_Vector(IS1, num_half_point_x, num_half_point_y, num_of_prim_vars);
417-
Allocate_3D_Vector(IS2, num_half_point_x, num_half_point_y, num_of_prim_vars);
418-
Allocate_3D_Vector(IS3, num_half_point_x, num_half_point_y, num_of_prim_vars);
416+
Allocate_3D_Vector(IS1, total_points_x, total_points_y, num_of_prim_vars);
417+
Allocate_3D_Vector(IS2, total_points_x, total_points_y, num_of_prim_vars);
418+
Allocate_3D_Vector(IS3, total_points_x, total_points_y, num_of_prim_vars);
419419

420420
for (int i = ist; i <= ied; i++)
421421
{
422-
for (int j = jst; j <= jed; j++)
422+
for (int j = jst; j <= jed; j++)//j=0,1,jed+1,jed+2没有值
423423
{
424424
if (marker[i][j] == 0) continue;
425425
for (int iVar = 0; iVar < num_of_prim_vars; iVar++)
@@ -438,7 +438,7 @@ void QlQr_Solver::QlQr_WCNS_Y()
438438
//j+1/2处的变量左右值和通量
439439
for (int i = ist; i <= ied; i++)
440440
{
441-
for (int j = jst; j <= jed - 1; j++)
441+
for (int j = jst; j <= jed - 1; j++)//j=0,1,jed,jed+1没有值,后续由边界格式计算
442442
{
443443
if (marker[i][j] == 0) continue;
444444
for (int iVar = 0; iVar < num_of_prim_vars; iVar++)

src/Spatial_Derivative.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ void Spatial_Derivative::Spatial_Derivative_WCNS_X()
120120
VInt2D& marker = mesh->Get_Marker();
121121
for (int j = jst; j <= jed; j++)
122122
{
123-
for (int i = ist + 1; i <= ied - 1; i++) //i=0, 1, 2,ied, ied+1没有算
123+
for (int i = ist + 1; i <= ied - 1; i++) //i=0, 1, 2,ied, ied+1, ied+2没有算
124124
{
125125
if (marker[i][j] == 0) continue;
126126

@@ -141,8 +141,8 @@ void Spatial_Derivative::Spatial_Derivative_WCNS_X()
141141
}
142142
}
143143
}
144-
//边界处导数i=1, 2,ied, ied+1
145-
for (int j = jst; j < jed; j++)
144+
//边界处导数i=1, 2,ied, ied+1.
145+
for (int j = jst; j <= jed; j++)
146146
{
147147
for (int iVar = 0; iVar < num_of_prim_vars; iVar++)
148148
{
@@ -171,7 +171,7 @@ void Spatial_Derivative::Spatial_Derivative_WCNS_Y()
171171
VInt2D& marker = mesh->Get_Marker();
172172
for (int i = ist; i <= ied; i++)
173173
{
174-
for (int j = jst + 1; j <= jed - 1; j++)
174+
for (int j = jst + 1; j <= jed - 1; j++)//j=0, 1, 2,jed, jed+1, jed+2没有算
175175
{
176176
if (marker[i][j] == 0) continue;
177177

@@ -188,7 +188,7 @@ void Spatial_Derivative::Spatial_Derivative_WCNS_Y()
188188
}
189189
}
190190
//边界处导数j=1, 2,jed, jed+1
191-
for (int i = ist; i < ied; i++)
191+
for (int i = ist; i <= ied; i++)
192192
{
193193
for (int iVar = 0; iVar < num_of_prim_vars; iVar++)
194194
{

src/Time_Integral.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,6 @@ void Update_Flowfield_Y(int iStage)
191191

192192
}
193193

194-
195194
void Set_Field()
196195
{
197196
//多步RK推进完成之后,流场变量更新在qField_N1中,要重新返回qField,以便下一步时间步迭代

0 commit comments

Comments
 (0)