This page will describe how to perform a basic steady RANS flow solve using Jetstream. It will introduce you to the basic workflow, input files, and input parameters required to run a simple case. Some more complicated cases, e.g. optimization are described on other pages.
The input files required depends on the type of case being run, e.g. flow solve, optimization, etc. In the simplest case of a flow solve, the following files are needed:
Grids are multiblock structured grids in PLOT3D format. If just doing a flow solve, a single grid, say grid.g, is needed (any prefix can be used, and is specified with the grid_file_prefix input variable.
When doing a turbulent optimization, the fitting process used for the mesh movement cannot properly capture a turbulent grid, thus, two grids are needed. The first, <grid_file_prefix>.g, contains a grid to be fit. This is typically a modified version of the turbulent grid with the off-wall spacing increased to greater than 1E-3. Modifications can also be made to improve the B-spline control point distribution and help improve mesh movement robustness. This grid is used to generate the B-spline mapping of each block. When this is available, a second grid called <gridFS_file_prefix>.g, is used to obtain the spacings used for the grid upon which the flow solve is conducted. These two grids must have the same topology and number of nodes per block.
Another grid, grid.ncpts.g, can be used to specify the mapping refinement, i.e. the number of B-spline control points used to perform the fitting. No geometry is read from this grid, only the number of nodes, but the topology must match that in <grid_file_prefix>.g
Grid connectivity files are typically generated either using ICEM and the convert_connect utility, or with the create_connect utility. See a lab member for info on these scripts. Below is a portion of an example connectivity file to illustrate the various entries.
Block connectivity file for Diablo number of blocks 64 number of subfaces 230 number of interfaces 154____________________________________________________________________________________________________ | face | type | blk | side | it1 | it1begin | it1num | it2 | it2begin | it2num | 1 0 1 1 3 1 33 2 1 25 4 3 3 1 33 1 1 25 2 0 1 2 2 1 25 3 1 33 5 1 2 1 25 3 1 33 3 3 1 3 1 1 25 3 1 33 4 0 1 4 3 1 33 1 1 25 10 3 3 1 33 1 1 25 . . . . . 229 0 63 6 1 1 25 2 1 25 64 5 1 1 25 2 1 25 230 2 64 6 1 1 25 2 1 25 The input.param file contains inputs for Jetstream. This file is read at the start of run-time and determines code behaviour. At right is a sample input file. This example contains only a fraction of the possible inputs, and your inputs will depend on the case you are running. A few of the most common parameters and their values are described here. In most cases, it is best to obtain an input.param file from a senior lab member who has used it (and likely tuned the inputs) for a case similar to that which you are trying to run.
&OPTIMIZER opt_method = 'flowsolve', jtstrm%restart = .false., &END &THICKCON &END &OPPTS op_pts%nopt = 1, op_pts%wmpo = 1.d0, op_pts%fsmachs = 0.85d0, op_pts%reno = 43.0d6, op_pts%alphas = 2.20d0, &END &FILES grid_file_prefix = 'grid', gridFS_file_prefix = 'gridturb', output_file_prefix = 'results', opt_file_prefix = 'optimize', &END &MESH &END &PLANFORM &END &SOLVER NHALO = 2, DIABLO%ORDER = 2, DIABLO%USE_FRSTRM = .true., DIABLO%ISTREAM = 1, DIABLO%IGROUND = 3, DIABLO%VISCOUS = .true., DIABLO%TURBULNT = .true., DIABLO%FF_MU_FRICTION = .false., DIABLO%IDMODEL = 1, DIABLO%P_SWITCH = .true., DIABLO%P_SWITCH_LIN = .true., DIABLO%DIS2(1:3) = 2.00d0, 2.00d0, 2.00d0, DIABLO%DIS4(1:3) = 0.04d0, 0.04d0, 0.04d0, DIABLO%NK_GLOBAL = 1, DIABLO%NK_TIME = 7, DIABLO%DT_MIN = 1.d-4, DIABLO%DT_MAX = 1.d3, DIABLO%A = 1.d-3, DIABLO%B = 1.10d0, DIABLO%BETA = 1.5d0, DIABLO%NK_ITS = 220, DIABLO%FRCHT_EPS = 1.d-10, DIABLO%STRTUP%SOLVER = 'gcrot', DIABLO%NEWTON%SOLVER = 'gcrot', DIABLO%STRTUP%MATVEC = 'apprx', DIABLO%NEWTON%MATVEC = 'jacbn', DIABLO%STRTUP%KRYLV_SIZE = 80, DIABLO%NEWTON%KRYLV_SIZE = 80, DIABLO%STRTUP%GCROT_K = 1, DIABLO%NEWTON%GCROT_K = 1, DIABLO%STRTUP%KRYLV_MAX = 80, DIABLO%NEWTON%KRYLV_MAX = 80, DIABLO%STRTUP%REL_LIN_TOL = 5.d-3, DIABLO%NEWTON%REL_LIN_TOL = 1.d-2, DIABLO%REL_TOL = 1.d-10, DIABLO%ABS_TOL= 1.d-10, &END