Skip to content

Commit 7027ffc

Browse files
authored
Add pipe flow test and periodic boundary layer test for ctest (#337)
* Add single precision verification on TGV * Add Pipe and PTBL to test and examples
1 parent 9dfa468 commit 7027ffc

File tree

9 files changed

+288
-12
lines changed

9 files changed

+288
-12
lines changed

examples/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ add_subdirectory(Gravity-current)
1414
add_subdirectory(MHD)
1515
add_subdirectory(Mixing-layer)
1616
add_subdirectory(Periodic-hill)
17+
add_subdirectory(Pipe-Flow)
1718
add_subdirectory(TBL-Turbulent-Boundary-Layer)
1819
add_subdirectory(TGV-Taylor-Green-vortex)
1920
add_subdirectory(Wind-Turbine)

examples/Pipe-Flow/CMakeLists.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Pipe-Flow
2+
set(case "Pipe-Flow")
3+
set(example_files "")
4+
list(APPEND example_files "adios2_config.xml")
5+
list(APPEND example_files "input_DNS_Re1000_LR.i3d")
6+
list(APPEND example_files "input_DNS_Re5300_HR.i3d")
7+
AddExample("${examples_dir}" "${case}" "${example_files}")
8+
9+
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?xml version="1.0"?>
2+
<adios-config>
3+
<io name="solution-io">
4+
<engine type="BP4">
5+
</engine>
6+
<transport type="File">
7+
<parameter key="Library" value="fstream"/>
8+
<parameter key="ProfileUnits" value="Milliseconds"/>
9+
</transport>
10+
</io>
11+
<io name="in-outflow-io">
12+
<engine type="BP4">
13+
</engine>
14+
<transport type="File">
15+
<parameter key="Library" value="fstream"/>
16+
<parameter key="ProfileUnits" value="Milliseconds"/>
17+
</transport>
18+
</io>
19+
<io name="turb-io">
20+
<engine type="BP4">
21+
</engine>
22+
<transport type="File">
23+
<parameter key="Library" value="fstream"/>
24+
<parameter key="ProfileUnits" value="Milliseconds"/>
25+
</transport>
26+
</io>
27+
<io name="restart-io">
28+
<engine type="BP4">
29+
</engine>
30+
<transport type="File">
31+
<parameter key="Library" value="fstream"/>
32+
<parameter key="ProfileUnits" value="Milliseconds"/>
33+
</transport>
34+
</io>
35+
<io name="statistics-io">
36+
<engine type="BP4">
37+
</engine>
38+
<transport type="File">
39+
<parameter key="Library" value="fstream"/>
40+
<parameter key="ProfileUnits" value="Milliseconds"/>
41+
</transport>
42+
</io>
43+
<io name="restart-forces-io">
44+
<engine type="BP4">
45+
</engine>
46+
<transport type="File">
47+
<parameter key="Library" value="fstream"/>
48+
<parameter key="ProfileUnits" value="Milliseconds"/>
49+
</transport>
50+
</io>
51+
</adios-config>

tests/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ if (${BUILD_TESTING_FULL})
2626
add_subdirectory(Mixing-layer)
2727
add_subdirectory(Particle-Tracking)
2828
add_subdirectory(Periodic-hill)
29+
add_subdirectory(Pipe-Flow)
2930
add_subdirectory(TBL-Turbulent-Boundary-Layer)
3031
add_subdirectory(Wind-Turbine)
3132
endif (${BUILD_TESTING_FULL})

tests/Pipe-Flow/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Pipe-Flow
2+
set(case "Pipe-FLow")
3+
set(input_file "input_test.i3d")
4+
set(additional_inputs "")
5+
CreateMPITest(${test_dir} ${case} ${input_file} "${additional_inputs}")
6+

tests/Pipe-Flow/adios2_config.xml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
<?xml version="1.0"?>
2+
<adios-config>
3+
<io name="solution-io">
4+
<engine type="BP4">
5+
</engine>
6+
<transport type="File">
7+
<parameter key="Library" value="fstream"/>
8+
<parameter key="ProfileUnits" value="Milliseconds"/>
9+
</transport>
10+
</io>
11+
<io name="in-outflow-io">
12+
<engine type="BP4">
13+
</engine>
14+
<transport type="File">
15+
<parameter key="Library" value="fstream"/>
16+
<parameter key="ProfileUnits" value="Milliseconds"/>
17+
</transport>
18+
</io>
19+
<io name="turb-io">
20+
<engine type="BP4">
21+
</engine>
22+
<transport type="File">
23+
<parameter key="Library" value="fstream"/>
24+
<parameter key="ProfileUnits" value="Milliseconds"/>
25+
</transport>
26+
</io>
27+
<io name="restart-io">
28+
<engine type="BP4">
29+
</engine>
30+
<transport type="File">
31+
<parameter key="Library" value="fstream"/>
32+
<parameter key="ProfileUnits" value="Milliseconds"/>
33+
</transport>
34+
</io>
35+
<io name="statistics-io">
36+
<engine type="BP4">
37+
</engine>
38+
<transport type="File">
39+
<parameter key="Library" value="fstream"/>
40+
<parameter key="ProfileUnits" value="Milliseconds"/>
41+
</transport>
42+
</io>
43+
<io name="restart-forces-io">
44+
<engine type="BP4">
45+
</engine>
46+
<transport type="File">
47+
<parameter key="Library" value="fstream"/>
48+
<parameter key="ProfileUnits" value="Milliseconds"/>
49+
</transport>
50+
</io>
51+
</adios-config>
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,24 +12,24 @@ p_row=0 ! Row partition
1212
p_col=0 ! Column partition
1313

1414
! Mesh
15-
nx=8 ! X-direction nodes
16-
ny=320 ! Y-direction nodes
17-
nz=320 ! Z-direction nodes
15+
nx=128 ! X-direction nodes
16+
ny=64 ! Y-direction nodes
17+
nz=64 ! Z-direction nodes
1818
istret = 0 ! y mesh refinement (0:no, 1:center, 2:both sides, 3:bottom)
1919
beta = 0.0 ! Refinement parameter (beta)
2020

2121
! Domain
22-
xlx = 1.25 ! Lx (Size of the box in x-direction)
22+
xlx = 5. ! Lx (Size of the box in x-direction)
2323
yly = 1.6 ! Ly (Size of the box in y-direction)
2424
zlz = 1.6 ! Lz (Size of the box in z-direction)
2525

2626
! Flow parameters
27-
re = 1500. ! nu=1/re (Kinematic Viscosity)
27+
re = 1000. ! nu=1/re (Kinematic Viscosity)
2828

2929
! Time stepping
30-
dt = 0.0004 ! Time step
30+
dt = 0.00025 ! Time step
3131
ifirst = 1 ! First iteration
32-
ilast = 1000000 ! Last iteration
32+
ilast = 100 ! Last iteration
3333

3434
! Enable modelling tools
3535
ilesmod=0 ! if 0 then DNS
@@ -40,7 +40,7 @@ iibm=2 ! Flag for immersed boundary method
4040
iin = 1 ! Inflow conditions (1: classic, 2: turbinit, 4: SEM)
4141
u1 = 1. ! u1 (max velocity) (for inflow condition)
4242
u2 = 1. ! u2 (min velocity) (for inflow condition)
43-
init_noise = 0.0 ! Turbulence intensity (1=100%) !! Initial condition
43+
init_noise = 3.0 ! Turbulence intensity (1=100%) !! Initial condition
4444
inflow_noise = 0.0 ! Turbulence intensity (1=100%) !! Inflow condition
4545

4646
nclx1 = 0
@@ -76,8 +76,8 @@ cnu = 0.44 ! Ratio between hypervisvosity at k_m=2/3pi and k_c= pi
7676

7777
! Basic I/O
7878
irestart = 0 ! Read initial flow field ?
79-
icheckpoint = 50000 ! Frequency for writing backup file
80-
ioutput = 10000 ! Frequency for visualization
79+
icheckpoint = 100 ! Frequency for writing backup file
80+
ioutput = 50 ! Frequency for visualization
8181
ilist = 25 ! Frequency for writing to screen
8282
nvisu = 1 ! Size for visualisation collection
8383

@@ -90,7 +90,7 @@ nvisu = 1 ! Size for visualisation collection
9090
wrotation = 0.12 ! rotation speed to trigger turbulence
9191
spinup_time = 5000 ! number of time steps with a rotation to trigger turbulence
9292
nstat = 1 ! Size arrays for statistic collection
93-
initstat = 50 ! Time steps after which statistics are collected
93+
initstat = 100001 ! Time steps after which statistics are collected
9494

9595
/End
9696

@@ -104,7 +104,7 @@ initstat = 50 ! Time steps after which statistics are collected
104104

105105
rai=0.50 ! when simulating a pipe, inner radius
106106
rao=0.70 ! when simulating a pipe, outer radius (defines wall thickness)
107-
nraf=10000 !level of refinement for iibm==2 to find the surface of the immersed object
107+
nraf=1000 !level of refinement for iibm==2 to find the surface of the immersed object
108108
nobjmax=2 !number of immersed objects (DO NOT USE ZERO OBJECTS)
109109
iforces=0
110110

tests/TBL-Turbulent-Boundary-Layer/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# TBL
2+
set(case "PTBL-Periodic-Turbulent-Boundary-Layer")
3+
set(input_file "input_LR_PTBL_test.i3d")
4+
set(additional_inputs "")
5+
CreateMPITest(${test_dir} ${case} ${input_file} "${additional_inputs}")
6+
#
27
set(case "TBL-Turbulent-Boundary-Layer")
38
set(input_file "input_test.i3d")
49
set(additional_inputs "")
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
! -*- mode: f90 -*-
2+
!===================
3+
&BasicParam
4+
!===================
5+
! Flow type (1=Lock-exchange, 2=TGV, 3=Channel, 4=Periodic hill, 5=Cylinder, 6=dbg-schemes, 9=Turbulent-Boundary-Layer)
6+
itype = 15
7+
8+
! Domain decomposition
9+
p_row = 0 ! Row partition
10+
p_col = 0 ! Column partition
11+
12+
! Mesh
13+
nx = 96 ! X-direction nodes
14+
ny = 129 ! Y-direction nodes
15+
nz = 32 ! Z-direction nodes
16+
istret = 3 ! y mesh refinement (0:no, 1:center, 2:both sides, 3:bottom)
17+
beta = 0.889579572304913 ! Refinement parameter (beta)
18+
19+
! Domain
20+
xlx = 30.0 ! Lx (Size of the box in x-direction)
21+
yly = 30.0 ! Ly (Size of the box in y-direction)
22+
zlz = 10.0 ! Lz (Size of the box in z-direction)
23+
24+
! Boundary conditions
25+
nclx1 = 0
26+
nclxn = 0
27+
ncly1 = 2
28+
nclyn = 2
29+
nclz1 = 0
30+
nclzn = 0
31+
FreeStream = 0 ! 0 FreeStream off 1 FreeStream on
32+
33+
! Flow parameters
34+
re = 1000 ! nu=1/re (Kinematic Viscosity)
35+
iin = 2 ! Inflow conditions (1: classic, 2: turbinit)
36+
u1 = 1.0 ! u1 (max velocity) (for inflow condition)
37+
u2 = 1.0 ! u2 (min velocity) (for inflow condition)
38+
init_noise = 0.02 ! Turbulence intensity (1=100%) !! Initial condition
39+
inflow_noise = 0.0 ! Turbulence intensity (1=100%) !! Inflow condition
40+
41+
! Time stepping
42+
dt = 0.004 ! Time step
43+
ifirst = 1 ! First iteration
44+
ilast = 100 ! Last iteration
45+
46+
! Enable modelling tools
47+
ilesmod = 0 ! if 0 then DNS
48+
49+
/End
50+
51+
!====================
52+
&NumOptions
53+
!====================
54+
! Spatial derivatives
55+
ifirstder = 4 ! (1->2nd central, 2->4th central, 3->4th compact, 4-> 6th compact)
56+
isecondder = 5 ! (1->2nd central, 2->4th central, 3->4th compact, 4-> 6th compact, 5->hyperviscous 6th)
57+
ipinter = 2 ! interpolation scheme (1: classic, 2: optimized, 3: optimized agressive)
58+
59+
! Time scheme
60+
iimplicit = 2 ! Implicit scheme for y-diffusive term
61+
itimescheme = 3 ! Time integration scheme
62+
63+
! Dissipation control
64+
nu0nu = 4.0 ! Ratio between hyperviscosity/viscosity at nu
65+
cnu = 0.44 ! Ratio between hypervisvosity at k_m=2/3pi and k_c= pi
66+
67+
/End
68+
69+
!=================
70+
&InOutParam
71+
!=================
72+
! Basic I/O
73+
irestart = 0 ! Read initial flow field ?
74+
icheckpoint = 100 ! Frequency for writing backup file
75+
ioutput = 50 ! Frequency for visualization
76+
ilist = 25 ! Frequency for writing to screen
77+
nvisu = 1 ! Size for visualisation collection
78+
79+
/End
80+
81+
!=================
82+
&Statistics
83+
!=================
84+
nstat = 1 ! Size arrays for statistic collection
85+
initstat = 100000 ! Time steps after which statistics are collected
86+
87+
/End
88+
89+
!#############################
90+
! OPTIONAL PARAMETERS
91+
!#############################
92+
!================
93+
&LESModel
94+
!================
95+
jles = 0 ! LES Model (1: Phys Smag, 2: Phys WALE, 3: Phys dyn. Smag, 4: iSVV, 5: dyn SEV)
96+
97+
/End
98+
99+
!#############################
100+
! Theta dot Computation
101+
!#############################
102+
!================
103+
&ThetaDotModel
104+
!================
105+
jtheta_dot = 0 ! Theta dot Model (0: Biau, 1: Andy)
106+
jthickness = 0 ! Model based on (0: Momentum Thickness, 1: Displacement Thickness)
107+
Method_FT = 1 ! (0: old, 1: New)
108+
K_theta = 1.0 ! K coefficient for e(theta)
109+
H_12 = 2.4144 ! The ratio of displacement thickness to momentum thickness (laminar flow)
110+
111+
/End
112+
113+
!#############################
114+
! Blowing
115+
!#############################
116+
!================
117+
&BlowingModel
118+
!================
119+
Blowing = 0 ! Blowing (0: Off, 1: On)
120+
A_Blowing = 0.0 ! Blowing Power
121+
Xst_Blowing = 17.5 ! Start Control Region
122+
Xen_Blowing = 22.5 ! End Control Region
123+
Range_Smooth = 0.5 ! Adjust this value to control the smoothness of the transition
124+
125+
/End
126+
127+
!#############################
128+
! Adverse Pressure Gradient
129+
!#############################
130+
!================
131+
&AdversePresGrad
132+
!================
133+
APG = 0 ! Adverse Pressure Gradient (0: Off, 1: V1 (APG_DpDX), 2:V2 (Beta) (not working at the moment) )
134+
APG_DpDX = 2.e-3 ! Pressure gradient
135+
APG_Beta = 0.01 ! Beta
136+
137+
/End
138+
139+
!#############################
140+
! Probe for Spectra
141+
!#############################
142+
!================
143+
&ProbeSpectra
144+
!================
145+
Pro_Spectra = 0 ! Probe (0: Off, 1: On)
146+
X_Pro_Spectra = 20 ! X Location
147+
Z_Pro_Spectra = 7.5 ! Z Location
148+
149+
/End
150+
151+
&CASE
152+
/End

0 commit comments

Comments
 (0)