forked from FlowPhysics/flowVC
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinputfile.in
More file actions
345 lines (284 loc) · 14.9 KB
/
inputfile.in
File metadata and controls
345 lines (284 loc) · 14.9 KB
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
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
################################# flowVC INPUT FILE #####################################
#
# NOTE: Order of parameters listed must be maintained for proper parsing of input file
# Comment lines begin with #, comments can be added or removed as desired
# Comments cannot occur on lines containing variable declartations
# Standard format: VARIABLE_NAME = VALUE
#
#######################################################################################
# Path_Data: String, Directory containing data files, e.g. velocity data, etc.
# Can be set to pwd (i.e. present working directory)
Path_Data = ../bin/
# Path_Output: String, Directory where output files will be written
# Can be set to pwd (i.e. present working directory)
Path_Output = ../output/
# Dimensions: Integer, Specifies if velocity data is 2D or 3D
Dimensions = 2
# Data_MeshType: Integer, Specifies mesh type of velocity data
# 0: Cartesian
# You will need files Data_InFilePrefix_vel.*.bin and Data_InFilePrefix_Cartesian.bin
# 1: Unstructured (tetrahedral for 3D and triangular for 2D)
# You will need files Data_InFilePrefix_vel.*.bin and Data_InFilePrefix_coordinates.bin,
# Data_InFilePrefix_connectivity.bin and Data_InFilePrefix_adjacency.bin
Data_MeshType = 0
# Data_InFilePrefix: String, common prefix for input velocity files (see minimum files needed above)
Data_InFilePrefix = dg
# Data_SuffixTMin: Integer, number appended to the name of first velocity data file
# Assumes naming convention of Data_InFilePrefix_vel.N.bin, where Data_InFilePrefix is
# specified above and N varies from Data_SuffixTMin to (Data_SuffixTMin + Data_SuffixTDelta * Data_SuffixTRes)
Data_SuffixTMin = 0
# Data_SuffixTDelta: Integer, Increment between successive velocity data files
Data_SuffixTDelta = 1
# Data_SuffixTRes: Integer, number of velocity data files
Data_TRes = 51
# Data_TDelta: (Positive) Float, actual time spacing between successive velocity data files
# Assumes time spacing between velocity data files is constant
Data_TDelta = 0.02
# Data_TMin: Float, actual time assigned to first velocity data file
# Choice is arbitrary, but it usually makes sense to set this to 0.0, which would
# imply that the first velocity data file specifies the velocity at time 0.0
Data_TMin = 0.0
# Data_TPeriodic: Binary flag, Specifies if data is periodic in time
# 0: Not periodic
# 1: Periodic (make sure first and last data file correspond to same point in cycle)
Data_TPeriodic = 1
# Data_XPeriodic: Binary flag, Specifies if data is periodic in space
# 0: Not periodic
# 1: Periodic
Data_XPeriodic = 0
# Data_MeshBounds.XMin, ..., Data_MeshBounds.ZMax: Specifies bounding box of velocity data
# Setting these bounds LARGER than the actual velocity domain will NOT affect the results
# Setting these bounds SMALLER than the actual velocity domain WILL limit the velocity data considered
Data_MeshBounds.XMin = 0.0
Data_MeshBounds.XMax = 2.0
Data_MeshBounds.YMin = 0.0
Data_MeshBounds.YMax = 1.0
Data_MeshBounds.ZMin = 0.0
Data_MeshBounds.ZMax = 0.0
# Fluid_Density: Float, specifies fluid density (use consistent units)
# Valid only if Particle_Radius > 0
Fluid_Density = 1.0
# Fluid_Viscosity: Float, specifies fluid viscosity (use consistent units)
# Valid only if Particle_Radius > 0
Fluid_Viscosity = 1.0
# Output_TStart: Float, initial time to start simulation and begin writing output
# If FTLE_Compute = 1: Specifies time at which first FTLE field is computed AND output
# If Trace_Compute = 1: Specifies start time to begin computing tracer trajectories AND outputting positions to file
Output_TStart = 0.0
# Output_TRes: (Positive) Integer, Number of output times
# If FTLE_Compute: Specifies number of time instances when the FTLE field will be computed AND output
# If Trace_Compute: Specifies number of time instances that tracer positions will be output to file
Output_TRes = 11
# Output_TDelta: (Positive) Float, Time between successive output
# If FTLE_Compute: How often the FTLE field will be computed AND output
# If Trace_Compute: How often the tracer positions will be output to file
Output_TDelta = 0.1
# Int_Type: Integer, specified integration routine used
# 0: Euler
# 1: 4th order Runge Kutta
# 2: Runge Kutta Fehlberg (adaptive time stepping)
Int_Type = 1
# Int_TimeStep: (Positive) Float, Time step used for integration Euler or RK4 routines (i.e. Int_Type = 0 or 1)
# Valid only for Int_Type = 0 or 1
Int_TimeStep = 0.001
# Int_Accuracy: (Positive) Float, Absolute error tolorance (between RK4 and RK5)
# Valid only for Int_Type = 2
Int_Accuracy = 0.001
# Int_MinTimeStep: (Positive) Float, Minimum allowable time step used in RKF routine
# Once this time step is reached, RK4 approximation automatically accepted
# Valid only for Int_Type = 2
Int_MinTimeStep = 0.00001
# Int_MaxTimeStep: (Positive) Float, Maximum allowable time step used in RKF routine
# Time step will not be increased beyond this limit even if error between RK4 and RK5 is less than Int_Accuracy
# Valid only for Int_Type = 2
Int_MaxTimeStep = 0.1
# Int_TimeDirection: Integer, Should be set to 1 or -1
# 1: Advect particles forward in time
# -1: Advect particles backward in time (used to compute backward time FTLE field)
Int_TimeDirection = 1
# Int_NormalFlow: Binary flag
# 0: Do not impose inward flow on no-slip boundaries
# 1: Replace no-slip condition on boundaries with inward velocity (magnitude specified by NormalFlowScaling below)
# Requires the file Data_InFilePrefix_normals.bin generated from program GetNormals.exe
# Currently valid only for Data_MeshType = 1
Int_NormalFlow = 0
# Int_NormalFlowScaling: Float, Scaling for inward pointing boundary velocity (to prevent tracers from crossing
# no-slip boundaries), Need to set the number negative if file contains outward normals
# Valid only for Data_MeshType = 1, Int_NormalFlow = 1
Int_NormalFlowScaling = 1.0
# Int_Extrapolate: Integer, allows particles to be integrated outside of domain of data by extrapolation of data set
# 0: End integration once particle leaves domain (or subset defined by Data_MeshBounds above).
# Computes FTLE for such points (and neighbors) early.
# 1: Extrapolate velocity outside domain by continuing particle with exit velocity (usually better than below)
# 2: Linear extrapolation of entire data set (NOT recommended unless you know what you're doing)
Int_Extrapolate = 0
# Particle_Radius: Float, Radius of all things treated as Lagrangian points
# Set to zero if you want points to behave as perfect tracers (recommended unless you know what you're doing)
Particle_Radius = 0.0
# Particle_Density: Float, Mass density of all things treated as Lagrangian points
# Respectively, set =, >, or < fluid density for neutrally buoyant, aerosols, or bubbles
# Only valid if Particle_Radius > 0
Particle_Density = 1.0
# Particle_ICType: Int, Specified type of initial condition assigned to particles
# 0: Start particles from rest
# 1: Start particles with velocity equal to fluid velocity at particle release location (recommended)
# Valid only if Particle_Radius > 0
Particle_ICType = 1
# Gravity_Vector[i]: Floats, Specifies components of gravity vector (use consistent units)
# Valid only if Particle_Radius > 0
Gravity_Vector[0] = 0.0
Gravity_Vector[1] = 0.0
Gravity_Vector[2] = 0.0
# Local_Search_Checking: Binary flag
# 0: Only use local search protocol to determine elements containing initial location of points
# where velocity will need to be interpolated (recommended)
# 1: Use global search to check failures of local search protocol (safest, but can be painfully slow
# if you're not careful)
# Valid only if Data_MeshType = 1
LocalSearchChecking = 0
# FTLE_Compute: Binary flag
# 0: Do not compute FTLE fields
# 1: Compute FTLE fields (Trace_Compute MUST be 0)
FTLE_Compute = 1
# FTLE_GenerateMesh: Binary flag
# 0: Read in FTLE mesh data from file FTLE_ICFile (this file created by running flowVC with FTLE_GenerateMesh = 1)
# 1: Generate a Cartesian mesh over which FTLE will be computed (mesh parameters specified below, resulting data
# saved to file FTLE_ICFile)
# Valid only if FTLE_Compute = 1
FTLE_GenerateMesh = 1
# FTLE_ICFile: String, Name of file storing FTLE mesh information
# If FTLE_GenerateMesh = 0, this file should be located in Path_Work directory
# If FTLE_GenerateMesh = 0, this file will be written to Path_Work directory
# Valid only if FTLE_Compute = 1
FTLE_ICFile = dg_FTLEgrid
# FTLE_MeshBounds.XMin, ..., FTLE_MeshBounds.ZRes: Specifies structured grid over which FTLE is computed
# Valid only if FTLE_Compute = 1
FTLE_MeshBounds.XMin = 0.0
FTLE_MeshBounds.XMax = 2.0
FTLE_MeshBounds.YMin = 0.0
FTLE_MeshBounds.YMax = 1.0
FTLE_MeshBounds.ZMin = 0.0
FTLE_MeshBounds.ZMax = 0.0
FTLE_MeshBounds.XRes = 201
FTLE_MeshBounds.YRes = 101
FTLE_MeshBounds.ZRes = 1
# FTLE_IntTLength: (Positive) Float, Integration time used to compute FTLE
# Valid only if FTLE_Compute = 1
FTLE_IntTLength = 1.0
# FTLE_ComputeVariation: Binary flag, Used to help determine appropriate integration time by ah hoc means
# 0: Compute FTLE at each output time with integration time set to FTLE_IntTimeLength (nominally, can be reduced when a tracer leaves early)
# 1: Compute variation of FTLE with integration time
# Output_TRes MUST be 1 if FTLE_ComputeVariation = 1
# Valid only if FTLE_Compute = 1
FTLE_ComputeVariation = 0
# FTLE_VariationOutFreq: (Positive) Integer, controls how often FTLE is output when computing variation of FTLE with
# integration time
# If set to 1, output is generated at every time instance that velocity data is defined, if set to, e.g., 5, then output
# is generated at 1/5 of that rate (i.e. every 5 velocity data frames)
# Valid only if FTLE_ComputeVariation = 1
FTLE_VariationOutFreq = 1
# FTLE_OutFilePrefix: String, Filename prefix where FTLE output data is written
# A separate file is generated for each output time (e.g. dg_forFTLE.0.bin, ..., dg_forFTLE.10.bin if Output_TRes = 11)
# NOTE: Two types of output files are generated, one set with the 1/T scaling in the definition of FTLE (*_noT.bin files), and ones with the scaling
# Valid only if FTLE_Compute = 1
FTLE_OutFilePrefix = dg_forwardFTLE
# Trace_Compute: Binary flag
# 0: Do not compute tracer trajectories
# 1: Compute tracer trajectories (FTLE_Compute MUST be 0)
Trace_Compute = 0
Trace_ReleaseStrategy = 0
Trace_ReleaseTMax = 0.000755
# Trace_GenerateMesh: Binary Flag
# 0: Read in tracer initial positions from a file (specified by Trace_InFile)
# 1: Generate a Cartesian grid of tracers to integrate (mesh parameters specified below)
# Valid only if Trace_Compute = 1
Trace_GenerateMesh = 1
# Trace_InFile: String, Name of File containing tracer initial positions
# Valid only if Trace_Compute = 1 and Trace_GenerateMesh = 0
Trace_InFile = tracer_grid.bin
# Trace_MultipleInFiles: Binary Flag
# 0: Default
# 1: Tracer initial conditions change over time and are specified by multiple files
Trace_MultipleInFiles = 0
# Trace_InFileFormat: Integer, specifies format of Trace_InFile
# 0: Use this if you want to reuse the .IC file that is generated from flowVC (use with care)
# 1: ASCII file, first line lists the number of tracers and subsequent lines list the x,y,z coordinates
# 2: ASCII legacy VTK polydata mesh format
# 3: ASCII legacy VTK unstructured mesh format
# 4: Binary file, first entry (int) lists the number of tracers and subsequent entries (doubles) list the x,y,z coordinates (binary version of format 1)
# Valid only if Compute_Tracers = 1 and Trace_GenerateMesh = 0
Trace_InFileFormat = 4
# Trace_OutFile: String, Prefix for files where tracer position data will be written
# Tracer positions written to separate files for each output time
# Valid only if Trace_Compute = 1
Trace_OutFilePrefix = dg_tracer-positions
# Trace_NumLaunchTimes: (Positive) Integer, Number of times to release tracers from initial positions
# If Trace_MultipleInFiles = 1, then this should be number of files
# Valid only if Trace_Compute = 1
Trace_NumLaunchTimes = 1
# Trace_LaunchTimeSpacing: (Positive) Float, Time between successive release of tracers from initial positions
# Valid only if Trace_Compute = 1 and Trace_NumLaunchTimes > 1
Trace_LaunchTimeSpacing = 0.1
# Trace_IntTLength: (Positive) Float, Can be used to limit amount of time any tracer will be integrated
# Recommended to set this to some value larger than (Output_TRes x Output_TDelta) unless you know what you're doing
# Valid only if Trace_Compute = 1 and Trace_ReleaseStrategy = 0
Trace_IntTLength = 100
# Trace_AlwaysOutput: Binary Flag
# 0: Do not write out tracer position to file once it has left the domain
# 1: Always write out tracer position to file, even if it left the domain
# Valid only if Trace_Compute = 1
Trace_AlwaysOutput = 0
# Trace_CartMesh.XMin, ..., Trace_CartMesh.ZRes: Specifies Cartesian mesh of tracers to be intergrated
# Valid only if Trace_Compute = 1 AND Trace_GenerateMesh = 1
Trace_CartMesh.XMin = 0.0
Trace_CartMesh.XMax = 2.0
Trace_CartMesh.YMin = 0.0
Trace_CartMesh.YMax = 0.1
Trace_CartMesh.ZMin = 0.0
Trace_CartMesh.ZMax = 0.0
Trace_CartMesh.XRes = 201
Trace_CartMesh.YRes = 101
Trace_CartMesh.ZRes = 1
# TODO Fill in this documentation
# These are required but their functionality is not
Trace_VorticityCompute = 0
Trace_APCompute = 0
Trace_CETCompute = 0
Trace_CETAuxillaryMesh = 0
Trace_CETMeshPrefix = specified
Trace_CETSubsteps = 0
Trace_RTCompute = 0
Trace_RTOutFilePrefix = dg_tracer-rt
# VelOut_Compute: Binary flag, Used to generate interpolated velocity fields
# 0: Do not generate interpolated velocity fields
# 1: Generate interploated velocity fields
VelOut_Compute = 0
# VelOut_GenerateMesh: Binary flag
# 0: Read interpolation locations from file specified by VelOut_InFile
# 1: Generate a Cartesian mesh of positions where velocity will be interpolated (mesh parameters specified below)
# Valid only for VelOut_Compute = 1
VelOut_GenerateMesh = 1
# VelOut_InFile: String, filename containing locations of points for interpolation
# Valid only for VelOut_Compute = 1 and VelOut_GenerateMesh = 0
VelOut_InFile = interpolation-positions.vtk
# VelOut_InFileFormat, Integer, specified format of VelOut_InFile
# 1: ASCII file, first line lists the number of locations and subsequent lines list the coordinates
# 3: ASCII legacy VTK polydata mesh format (as output from Paraview)
# 4: ASCII legacy VTK unstructured mesh format (as output from Paraview)
# Valid only if VelOut_Compute = 1 AND VelOut_GenerateMesh = 0
VelOut_InFileFormat = 1
# VelOut_FilePrefix: String, Filename prefix for files that interpolated velocity is data is written to
# Velocity output written to separate files, one per output time
# Valid only if VelOut_Compute = 1
VelOut_FilePrefix = dg-interpolated
# VelOut_CartMesh.XMin, ..., VelOut_CartMesh.ZRes: Specifies Cartesian mesh of interpolation positions
# Valid only if VelOut_Compute = 1
VelOut_CartMesh.XMin = 0.0
VelOut_CartMesh.XMax = 2.0
VelOut_CartMesh.YMin = 0.0
VelOut_CartMesh.YMax = 1.0
VelOut_CartMesh.ZMin = 0.0
VelOut_CartMesh.ZMax = 0.0
VelOut_CartMesh.XRes = 21
VelOut_CartMesh.YRes = 11
VelOut_CartMesh.ZRes = 1