Table of Contents

Home Settings File

Input File

################################# 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

Emacs 29.3 (Org mode 9.6.15)