Newer
Older
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
domain
{
#
# physical domain setup in H units, H - height
# x - streamwise, y - spanwise, z - wall-normal directions
#
x = 0.0; y = 0.0; z = 0.0; # point of origin
length = 6.0; width = 4.0; height = 1.0; # domain length(x), width(y) and height(z)
}
# -----------------------------------------------------------------------------
grid
{
cx = 192; cy = 128; cz = 128; # number of cells in each direction
ksi_z = 1.5; # near-wall grid stretching parameter
}
# -----------------------------------------------------------------------------
mpi_setup
{
#
# MPI-process distribution
# in 'mpirun -np [N]' [N] overrides config specs if differs
#
dimx = 1; dimy = 1; dimz = 1;
}
# -----------------------------------------------------------------------------
time
{
begin = 0.0; end = 50.0; # start and end time of integration
# in H/Umax units, Umax - wall speed difference
CFL = 0.1; # Courant-Friedrichs-Lewy number
}
# -----------------------------------------------------------------------------
fluid
{
Umax = 1.0; # wall-speed difference in dimensionless units (do NOT change!)
disturbance_amp = 0.025; # initial disturbance relative to Umax
density = 1.0; # fictitious density value (do NOT change!)
viscosity = 1.0 / 5200.0; # fictitious viscosity value <=> inverse of Reynolds number
# Re = (Umax * H) / nu
T0 = 1.0; # bottom wall temperature
TH = 2.0; # top wall temperature
Prandtl = 0.7; # molecular Prandtl number
# Pr = nu / kappa
Richardson = 0.01; # final Richardson number
Richardson_init = 0.00; # initial Richardson number
# Ri = g * (TH - T0) / T0 * (H / Umax^2)
T_gravity_init = 200.0; # start time for increasing Ri
T_gravity_period = 100.0; # time step for increasing Ri
}
# -----------------------------------------------------------------------------
# particle simulation setup
# used only if INCLUDE_PARTICLES is defined
ptcl_opt
{
n = 262144;#3145728;#786432; # number of particles to release
begin = 0.0; # release time
}
# ----------------------------------------------------------------------
# particle tracking setup
# used only if INCLUDE_PARTICLES_TRACKING is defined
ptcl_track_opt
{
n = 128; # number of particles to release
begin = 1600.0; # release time
group_max_size = 256; # max number of particles per group
max_memory = 10 * 1024 * 1024; # max memory in bytes for keeping trajectories in memory
}
# ----------------------------------------------------------------------
poisson
{
#
# Poisson equation solver setup
#
retol = 0.0001; abstol = 0.001; # relative and absolute tolerance
miniters = 1; maxiters = 500; # minimum and maximum number of iterations
piters = 1; # number of preconditioner (multigrid) iterations
multigrid
{
ngrid = 7; # number of grids in multigrid sequence (= [0] - auto definition)
down_iters = 2; # number of smoother iterations on fine->coarse traverse
up_iters = 3; # number of smoother iterations on coarse->fine traverse
direct_iters = 5; # number of smoother iterations on coarsest grid
smooth_up_omega = 1.84; # relaxation value on coarse->fine traverse
smooth_up_omega_fine = 1.64; # relaxation value on reaching finest grid
}
}
# -----------------------------------------------------------------------------
output
{
DIR = "output/"; # output directory
begin = 1800.0; # start time for writing output
dt = 200.0; # time step for writing output
xmin = domain.x; xmax = domain.x + domain.length; # -x output domain setup
ymin = domain.y; ymax = domain.y + domain.width; # -y output domain setup
zmin = domain.z; zmax = domain.z + domain.height; # -z output domain setup
regular_plt3d_cntrl = false; # flag for regular output of 3D .plt fields
regular_bin3d_cntrl = false; # flag for regular output of 3D .nsx fields
final_plt3d_cntrl = false; # flag for final output of 3D .plt fields
nscreen = 400; # onscreen output period in time steps
profiles
{
DIR = "output-rapid/"; # rapid profile output directory
begin = 2000.0; end = 2100.0; # start and end time for writing profiles
dt = 2.0; # time step for writing profiles
plt_cntrl = true; # flag for output of .plt profiles
}
}
# -----------------------------------------------------------------------------
dump
{
DIR = "dump/"; # dump directory
begin = 400.0; # start time for writing model dump
dt = 400.0; # time step for writing model dump
}
# -----------------------------------------------------------------------------
startup
{
DIR = "init/"; # initial conditions directory
}
# -----------------------------------------------------------------------------
stats
{
begin = 1600.0; # start time for statistics gathering
time_mod = 10; # statistics gathering period in time steps
output {
DIR = output.DIR + "stat/"; # statistics output directory
}
dump {
DIR = dump.DIR + "stat/"; # statistics dump directory
}
}
# -----------------------------------------------------------------------------