Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
danggl
OpenCFD-SCU
Commits
28823e6c
Commit
28823e6c
authored
Oct 31, 2022
by
ccfd
Browse files
Modified non_ref boundary
parent
5eefe8fc
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
87 additions
and
1 deletion
+87
-1
benchmark_comp/opencfd-scu.out
benchmark_comp/opencfd-scu.out
+0
-0
benchmark_comp/opencfd.log
benchmark_comp/opencfd.log
+8
-0
head/OCFD_bound_Scheme.h
head/OCFD_bound_Scheme.h
+2
-0
head_hip/OCFD_bound_Scheme.h
head_hip/OCFD_bound_Scheme.h
+2
-0
src/OCFD_Schemes.cu
src/OCFD_Schemes.cu
+0
-1
src/OCFD_Schemes_Choose.cu
src/OCFD_Schemes_Choose.cu
+6
-0
src/OCFD_bound_Scheme.cu
src/OCFD_bound_Scheme.cu
+69
-0
No files found.
benchmark_comp/opencfd-scu.out
View file @
28823e6c
No preview for this file type
benchmark_comp/opencfd.log
View file @
28823e6c
...
...
@@ -889,3 +889,11 @@ Mesh(Nx,Ny,Nz): (25,240,20)
3D Partation: 1*1*1 Total procs=1
Re=5581.400000 , Ma=2.900000 , Gamma=1.400000 , dt=0.010000
Start Computing ......
##################################################################################################
OpenCFD-SCU-V1.00 CopyRight by Li-Xinliang, LHD, Institute of Mechanics, CAS (lixl@imech.ac.cn)
Coded by Liu-Shiwei, ICMSEC, Academy of Mathematics and Systems Science, CAS (liusw@lsec.cc.ac.cn)
Coded by Dang-Guanlin, LHD, Institute of Mechanics, CAS (dangguanlin@imech.ac.cn) 2020-01
Mesh(Nx,Ny,Nz): (25,240,20)
3D Partation: 1*1*1 Total procs=1
Re=5581.400000 , Ma=2.900000 , Gamma=1.400000 , dt=0.010000
Start Computing ......
head/OCFD_bound_Scheme.h
View file @
28823e6c
...
...
@@ -15,6 +15,8 @@ void OCFD_Dz0_bound(cudaField pf , cudaField pfx , cudaJobPackage job_in , dim3
void
OCFD_bound
(
dim3
*
flagxyzb
,
int
boundp
,
int
boundm
,
cudaJobPackage
job
);
void
OCFD_bound_non_ref
(
dim3
*
flagxyzb
,
int
Non_ref
,
cudaJobPackage
job
);
__device__
int
OCFD_D0bound_scheme_kernel
(
REAL
*
tmp
,
dim3
flagxyzb
,
dim3
coords
,
REAL
*
stencil
,
int
ka1
,
cudaJobPackage
job
);
__device__
int
OCFD_bound_scheme_kernel_p
(
REAL
*
flag
,
dim3
flagxyzb
,
dim3
coords
,
REAL
*
stencil
,
int
ka1
,
int
kb1
,
cudaJobPackage
job
);
...
...
head_hip/OCFD_bound_Scheme.h
View file @
28823e6c
...
...
@@ -15,6 +15,8 @@ void OCFD_Dz0_bound(cudaField pf , cudaField pfx , cudaJobPackage job_in , dim3
void
OCFD_bound
(
dim3
*
flagxyzb
,
int
boundp
,
int
boundm
,
cudaJobPackage
job
);
void
OCFD_bound_non_ref
(
dim3
*
flagxyzb
,
int
Non_ref
,
cudaJobPackage
job
);
__device__
int
OCFD_D0bound_scheme_kernel
(
REAL
*
tmp
,
dim3
flagxyzb
,
dim3
coords
,
REAL
*
stencil
,
int
ka1
,
cudaJobPackage
job
);
__device__
int
OCFD_bound_scheme_kernel_p
(
REAL
*
flag
,
dim3
flagxyzb
,
dim3
coords
,
REAL
*
stencil
,
int
ka1
,
int
kb1
,
cudaJobPackage
job
);
...
...
src/OCFD_Schemes.cu
View file @
28823e6c
...
...
@@ -591,7 +591,6 @@ __device__ REAL OCFD_weno7_SYMBO_kernel_M(int WENO_LMT_FLAG, REAL *stencil){
__global__
void
OCFD_weno7_SYMBO_M_kernel
(
int
i
,
int
WENO_LMT_FLAG
,
dim3
flagxyzb
,
cudaSoA
f
,
cudaSoA
du
,
cudaField
Ajac
,
cudaJobPackage
job
){
extern
__shared__
REAL
sort
[];
__syncthreads
();
dim3
coords
;
REAL
stencil
[
8
];
...
...
src/OCFD_Schemes_Choose.cu
View file @
28823e6c
...
...
@@ -94,6 +94,7 @@ void OCFD_dx1(cudaSoA pf, cudaSoA pdu, cudaField Ajac, cudaField u, cudaField v,
cal_grid_block_dim
(
&
griddim
,
&
blockdim
,
blockdim_in
.
x
-
1
,
blockdim_in
.
y
,
blockdim_in
.
z
,
size
.
x
,
size
.
y
,
size
.
z
);
dim3
flagxyzb
(
1
,
0
,
Non_ref
[
0
]);
//.x正向边界;.y负向边界;.z无反射边界
OCFD_bound_non_ref
(
&
flagxyzb
,
Non_ref
[
0
],
job_in
);
OCFD_bound
(
&
flagxyzb
,
boundl
,
boundr
,
job_in
);
job_in
.
start
.
x
-=
1
;
...
...
@@ -207,6 +208,7 @@ void OCFD_dy1(cudaSoA pf, cudaSoA pdu, cudaField Ajac, cudaField u, cudaField v,
cal_grid_block_dim
(
&
griddim
,
&
blockdim
,
8
,
7
,
4
,
size
.
x
,
size
.
y
,
size
.
z
);
dim3
flagxyzb
(
2
,
0
,
Non_ref
[
2
]);
OCFD_bound_non_ref
(
&
flagxyzb
,
Non_ref
[
2
],
job_in
);
OCFD_bound
(
&
flagxyzb
,
boundl
,
boundr
,
job_in
);
job_in
.
start
.
y
-=
1
;
...
...
@@ -319,6 +321,7 @@ void OCFD_dz1(cudaSoA pf, cudaSoA pdu, cudaField Ajac, cudaField u, cudaField v,
cal_grid_block_dim
(
&
griddim
,
&
blockdim
,
8
,
7
,
4
,
size
.
x
,
size
.
z
,
size
.
y
);
dim3
flagxyzb
(
3
,
0
,
Non_ref
[
4
]);
OCFD_bound_non_ref
(
&
flagxyzb
,
Non_ref
[
4
],
job_in
);
OCFD_bound
(
&
flagxyzb
,
boundl
,
boundr
,
job_in
);
job_in
.
start
.
z
-=
1
;
...
...
@@ -432,6 +435,7 @@ void OCFD_dx2(cudaSoA pf, cudaSoA pdu, cudaField Ajac, cudaField u, cudaField v,
cal_grid_block_dim
(
&
griddim
,
&
blockdim
,
blockdim_in
.
x
-
1
,
blockdim_in
.
y
,
blockdim_in
.
z
,
size
.
x
,
size
.
y
,
size
.
z
);
dim3
flagxyzb
(
4
,
0
,
Non_ref
[
1
]);
OCFD_bound_non_ref
(
&
flagxyzb
,
Non_ref
[
1
],
job_in
);
OCFD_bound
(
&
flagxyzb
,
boundl
,
boundr
,
job_in
);
job_in
.
end
.
x
+=
1
;
...
...
@@ -544,6 +548,7 @@ void OCFD_dy2(cudaSoA pf, cudaSoA pdu, cudaField Ajac, cudaField u, cudaField v,
cal_grid_block_dim
(
&
griddim
,
&
blockdim
,
8
,
7
,
4
,
size
.
x
,
size
.
y
,
size
.
z
);
dim3
flagxyzb
(
5
,
0
,
Non_ref
[
3
]);
OCFD_bound_non_ref
(
&
flagxyzb
,
Non_ref
[
3
],
job_in
);
OCFD_bound
(
&
flagxyzb
,
boundl
,
boundr
,
job_in
);
job_in
.
end
.
y
+=
1
;
...
...
@@ -655,6 +660,7 @@ void OCFD_dz2(cudaSoA pf, cudaSoA pdu, cudaField Ajac, cudaField u, cudaField v,
cal_grid_block_dim
(
&
griddim
,
&
blockdim
,
8
,
7
,
4
,
size
.
x
,
size
.
z
,
size
.
y
);
dim3
flagxyzb
(
6
,
0
,
Non_ref
[
5
]);
OCFD_bound_non_ref
(
&
flagxyzb
,
Non_ref
[
5
],
job_in
);
OCFD_bound
(
&
flagxyzb
,
boundl
,
boundr
,
job_in
);
job_in
.
end
.
z
+=
1
;
...
...
src/OCFD_bound_Scheme.cu
View file @
28823e6c
...
...
@@ -349,6 +349,75 @@ void OCFD_Dz0_bound(cudaField f , cudaField fx , cudaJobPackage job_in , dim3 bl
}
void
OCFD_bound_non_ref
(
dim3
*
flagxyzb
,
int
Non_ref
,
cudaJobPackage
job
){
// eyes on field WITH LAPs
dim3
size
;
int
flag
=
0
;
jobsize
(
&
job
,
&
size
);
switch
(
flagxyzb
->
x
){
case
1
:
{
if
(
npx
==
0
&&
job
.
start
.
x
==
LAP
){
flagxyzb
->
z
=
Non_ref
;
}
else
{
flagxyzb
->
z
=
0
;
}
}
break
;
case
2
:
{
if
(
npy
==
0
&&
job
.
start
.
y
==
LAP
){
flagxyzb
->
z
=
Non_ref
;
}
else
{
flagxyzb
->
z
=
0
;
}
}
break
;
case
3
:
{
if
(
npz
==
0
&&
job
.
start
.
z
==
LAP
){
flagxyzb
->
z
=
Non_ref
;
}
else
{
flagxyzb
->
z
=
0
;
}
}
break
;
case
4
:
{
if
(
npx
==
NPX0
-
1
&&
job
.
end
.
x
==
nx_lap
){
flagxyzb
->
z
=
Non_ref
;
}
else
{
flagxyzb
->
z
=
0
;
}
}
break
;
case
5
:
{
if
(
npy
==
NPY0
-
1
&&
job
.
end
.
y
==
ny_lap
){
flagxyzb
->
z
=
Non_ref
;
}
else
{
flagxyzb
->
z
=
0
;
}
}
break
;
case
6
:
{
if
(
npz
==
NPZ0
-
1
&&
job
.
end
.
z
==
nz_lap
){
flagxyzb
->
z
=
Non_ref
;
}
else
{
flagxyzb
->
z
=
0
;
}
}
break
;
}
}
void
OCFD_bound
(
dim3
*
flagxyzb
,
int
boundp
,
int
boundm
,
cudaJobPackage
job
){
// eyes on field WITH LAPs
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment