Example Input Files
- Simple Input File for Steady-State Viscous Flow (PA Scheme)
- Simple Input File for Steady-State Viscous Flow (HANIM)
- Simple Input File for Unsteady Viscous Flow (PA Scheme)
- Simple Input File for Unsteady Viscous Flow (HANIM)
Supplemental Input Files
Flow solver input control file at a glance
The proj_name.inpt file is a user supplied input file that contains flow parameters, numerical solution parameters, geometric reference quantities used for force and moment integration and other parameters that control the flow solver output.
A sample input file for USM3D-ME is reproduced below. A description for each of its parameters can be obtained by clicking a specific parameter.
RED denotes the primary parameters that will require attention from the user. The remaining parameters can generally remain unchanged.
Description of input control parameters
In this section, each parameter of the proj_name.inpt file is explained with their possible and default values.
A title line used for run identification. This line can be up to 80 character long and is in free format. This line as well as the whole input file is echoed in the output file tet.out for ready reference.
Designates the freestream Mach number of the flow.
NOTE: For supersonic Mach number cases with large regions of subsonic base flow (e.g., a planetary entry capsule), startup of the solution can be very difficult. To help with this problem, one can initialize interior flow to a subsonic Mach number of 0.4 by setting xmach < 0.0 (e.g., xmach = -3.0).
However, this should be used VERY CAREFULLY since we are deailng with nonlinear equations that can have multiple solutions. It is possible to obtain fully converged, but incorrect solutions
Angle-of-attack (pitch), specified in degrees. The conventions used in USM3D-ME require this to be the flow angle in the X-Z (streamwise-normal) plane.
Side-slip angle (yaw), specified in degrees. The conventions used in USM3D-ME require this to be the flow angle in the X-Y (streamwise-spanwise) plane.
Freestream Reynolds number per unit length, specified in millions. For example, for a flow calculation with a unit Reynolds number of 2 million per foot, the set reue = 2.0.
ADD EXAMPLE CALCULATION HERE. (Website has link to CFL3D page for example).
Freestream temperature, specified in degrees Rankine.
Wall temperature boundary condition flag:
- itwall = 0, adiabatic wall
- itwall = 1, specified wall temperature (set by twtinf parameter)
NOTE: Currently limited to one global wall temperature for entire domain.
Wall temperature of viscous surface (BC type 4),normalized by the freestream temperature (temperature at wall divided by temperature of freestream.) If twtinf <= 0, twtinf is the freestream stagnation temperature.
sref, cref, bref, xmc, ymc, zmc:
These are the geometric reference quantities based on which coefficients of various forces and moments are calculated by USM3D-ME. The parameters need to be specified in the same units as that of the grid. Each parameter is illustrated below.
- sref – reference area (half-area for half configuration)
- cref – reference length
- bref – reference span
- xmc – moment center in X-direction(streamwise direction)
- ymc – moment center in Y-direction(spanwise direction)
- zmc – moment center in Z-direction(normal direction)
In USM3D-ME, both pressure and skin-friction contributions to the forces and moments are individually calculated and then added together. The resultant quantities are written out at every iteration (in hist.plt file) as well as at the end of a run (in tet.out file). The latter output, accounting for an entire body surface, is presented in three different co-ordinate systems, namely body-axis, stability-axis and wind-axis. Additionally, the flow solver also has an input flag compF&M for calculating forces and moments on user-specified components which may be a sub-set of a body surface.
This flag specifies whether the grid system is a solitary grid or comprised of multiple overlapping grids. USM3D-ME is not currently compatible with overset grids so a value of 0 should be used.
This flag defines the time integration scheme.
- impl = 1, enforces positive-definite updates for density and internal energy (only use for PA scheme; nstage = 15 and ndgcr = 0)
- impl = 2, does not change solver-provided solution updates (Recommended value for both PA and HANIM)
Controls the time step to advance the flow solution. Not that the inputs are applied to the mean flow equations. For a fresh run, USM3D-ME initializes the flowfield to a uniform freestream state based on the user-specified freestream values of Mach number, angle-of-attack, and side-slip angle. For steady-state calculations, to enhance the robustness of the solution procedure during the strong initial transients, it is desired that the CFL number be gradually increased from a small number (cfl1) to its final cruise value (cfl2). In this context, iramp specifies the number of iterations over which the CFL number is increased from cfl1 to cfl2. Specification of iramp = 0 will advance the solution based on a fixed CFL number equal to the value of cfl1. Note that the iramp and cfl2 inputs only apply to simulations utilizing the PA scheme (nstage = 15 and ndgcr = 0). For HANIM, only cfl1 needs to be specified (cfl1 = 1.0 recommended for HANIM) and the solver advances the CFL number automatically.
A schematic representation of the CFL ramping used for steady-state, PA calculations is shown below.
Not active in USM3D-ME. Note that it should always be set to a negative number to ensure that the code does not use it.
Defines the maximum number of Guass-Seidel (GS) iterations employed for the mean flow equations by the preconditioner. Recommended values are nstage = 15 for PA scheme and nstage = 500 for HANIM.
Defines the tolerance for GS iterations performed for the mean flow equations. This input can potentially increase computational efficiency by stopping GS iterations early when/if the convergence criteria is met.
- gstol_m < 0, stop GS iterations once residuals are reduced by one order of magnitude
- gstol_m = 0, perform number of GS iterations defined by nstage
- gstol_m = 1/N, stop GS iterations once residuals are reduced by a factor of N
Recommended value is -1.0.
Under/over-relaxation coefficient for relaxing or extending a solution update.
- crelax = 1.0, no under- or over-relaxation. This is a typical value and should be used for the first attempt at a new case. (Recommended for most steady-state solutions)
- crelax < 1.0, under-relaxation. Improves stablity for time-accurate computations using Newton’s method, for which a value in te range of 0.7-0.8 often provides a good trade-off between stability and efficiency of the solution. (Recommended for 2nd-order time stepping (itimeacc > 0) and for steady-state solutions that exhibit convergence issues; only applicable for PA scheme)
- crelax > 1.0, over-relaxation. This value can improve convergence but may degrade robustness of the code. This value should be used with caution and is *not* recommended.
This Note that crelax should always be set to 1.0 for HANIM.
Flag to specify desired temporal accuracy.
- itimeacc = 0, solution will not be time-accurate. Set itimeacc = 0 for all steady-state solutions. Solution will be temporally first-order accurate. Uses local time stepping.
- itimeacc = 1, time-accurate solution based on two-point backward differencing scheme; temporally 1st order accurate.
- itimeacc = 2, second-order time-accurate solution based on three-point backward differencing and pseudo time variable. Adequate number of subiterations is required to obtain second-order temporal accuracy. (Recommended value for time-accurate simulations in USM3D-ME)
IMPORTANT CONSIDERATIONS WHEN RUNNING 2nd-ORDER TIME ACCURACY:
- input parameter “ncyc” becomes the number of subiterations+1 used to converge solution for each time step
- Need to monitor hist.subit file for subiterative convergence
Non-dimensional time step for the temporally second order time-accurate computations.
How do I determine a non-dimensional timestep?
Think about how many timesteps are needed for a fluid particle to travel a characteristic length (Lchar), e.g. wing chord, at freestream velocity. A rule of thumb from Dr. Jim Forsythe, Cobalt Solutions, is N=50 timesteps per characteristic length. Dr. Scott Morton of the Air Force Academy suggests between 100 and 1000 steps. For Detached Eddy Simulation (DES) computations (ivisc = -2), a value of N=500 is not unusual.
For USM3D nondimensionalization, the relationship for timestep and number of steps, N, to traverse Lchar:
For the moving body simulations involving prescribed motion (1 Degree-of-Freedom), the time step can be calculated using the input value of reduced frequency (k) and characteristic length (Lchar):
Number of timestep increments for second-order time-accurate simulations. The code will perform approximately ntstep*ncyc or less equivalent “steady-state” iterations.
Level of subiteration convergence before taking next of the ntstep timesteps for second-order time-accurate simulations. This input can improve efficiency of time-accurate simulations by stopping the subiterations early if the residuals have dropped by resstep orders of magnitude. Recommended value is in the range of -2.5 to -3.
Currently not active. This option will be available in the next release of USM3D-ME.
Flag to indicate whether the grid is stationary or not. USM3D-ME only supports rigid body motion at this time. project.traj file is required for imvgrd = 1.
- imvgrd = 0, stationary grid
- imvgrd = 1, moving grid
- Additional input is required
- If itimeacc = 0 (steady-state or first-order time accurate computations), this parameter will be reset to 0 inside the code.
Input to enable time-averaging of the solution. Not currently active in USM3D-ME.
Beginning timestep or iteration for averaging the flow solution. Specific output of averaged quantities controlled by idiagnos parameter.
- For steady-state (itimeacc = 0), nbgnavg is iteration to begin solution averaging
- For time-accurate simulations (itimeacc.NE.0), then nbgnavg is the timestep to begin solution averaging
Not currently active in USM3D-ME.
Flag governing flowfield initialization:
- irest = 0, the flow solver initiates a solution based on uniform conditions derived from the user-specified freestream state.
- irest = 1, the flow solver reads the solution data from a restart file, proj_name.urest (new format), generated from a previous run and continues the solution further.
Be aware that at the end of a run the previous restart file is overwritten with the new solution. Hence, a user interested in intermediate solutions should create a backup copy of the restart file before continuing.
Not currently active in USM3D-ME.
Not currently active in USM3D-ME.
Specifies a nondimensional pressure value that indicates to the flow solver the presence of potentially troubled cells with a low pressure. Only applies for simulations utilizing the PA scheme. USM3D-ME uses this parameter in conjunction with other parameters cflmin and pmin to restrict the time step of such cells as illustrated in the sketch below.
This procedure improves the robustness of the code for steady state calculations. A value in the range of 0.01-0.05 is suggested. (Note that p_infinity = 1/gamma = 0.71428 for air.)
A minimum allowable threshold level of nondimensional pressure for anywhere in the flowfield. It serves to improve solution robustness for regions where pressure or density wants to go to a negative value. A default value of 0.001 is suggested.
Flux limiter input for the mean flow equations. Fourteen different limiters are available in USM3D-ME. The limiter parameter is used to specify a choice:
- limiter = 0, no limiter (Recommended for Mach < 1.0)
- limiter = 3, cell-based implementation of Barth-Jespersen limiter, smaller stencil for defining solution extrema (Recommended for Mach > 1.0)
- limiter = 4, cell-based implementation of Venkatkrishnan limiter, stencil A
- limiter = 5, cell-based implementation of Van Leer limiter, stencil A
- limiter = 6, cell-based implementation of Van Albada limiter, stencil A
- limiter = 30, cell-based implementation of Barth-Jespersen limiter, larger stencil for defining solution extrema
- limiter = 40, cell-based implementation of Venkatkrishnan limiter, stencil B
- limiter = 50, cell-based implementation of Van Leer limiter, stencil B
- limiter = 60, cell-based implementation of Van Albada limiter, stencil B
- limiter = -3, face-based implementation of Barth-Jespersen limiter
- limiter = -4, face-based implementation of Venkatkrishnan limiter
- limiter = -5, face-based implementation of Van Leer limiter
- limiter = -6, face-based implementation of Van Albada limiter
- limiter = -1, face-based implementation of Minmod limiter, smallest stencil for defining solution extrema
WARNING: Any application of a limiter can potentially degrade skin-friction drag. Thus, it is advisable to use limiter = 0 unless the solution will just not run without the limiter.
Flux limiter input for the turbulence equation(s). Fourteen different limiters are available in USM3D-ME. The limitert parameter is used to specify a choice:
- limitert = 0, no limiter (Recommended for Mach < 1.0)
- limitert = 3, cell-based implementation of Barth-Jespersen limiter, smaller stencil for defining solution extrema (Recommended for Mach > 1.0)
- limitert = 4, cell-based implementation of Venkatkrishnan limiter, stencil A
- limitert = 5, cell-based implementation of Van Leer limiter, stencil A
- limitert = 6, cell-based implementation of Van Albada limiter, stencil A
- limitert = 30, cell-based implementation of Barth-Jespersen limiter, larger stencil for defining solution extrema
- limitert = 40, cell-based implementation of Venkatkrishnan limiter, stencil B
- limitert = 50, cell-based implementation of Van Leer limiter, stencil B
- limitert = 60, cell-based implementation of Van Albada limiter, stencil B
- limitert = -3, face-based implementation of Barth-Jespersen limiter
- limitert = -4, face-based implementation of Venkatkrishnan limiter
- limitert = -5, face-based implementation of Van Leer limiter
- limitert = -6, face-based implementation of Van Albada limiter
- limitert = -1, face-based implementation of Minmod limiter, smallest stencil for defining solution extrema
WARNING: Any application of a limiter can potentially degrade skin-friction drag. Thus, it is advisable to use limitert = 0 unless the solution will just not run without the limiter.
Cutoff parameter to disable the Venkatkrishnan limiter in smooth regions of the flow. Initial value should be 0.01.
This needs a better description to provide some context and insight needed to change this parameter if needed.
Defines the number of iterations to perform prior to freezing the limiter. Limiters can sometimes cause the flow residuals to hang up; a phenomenon known as buzzing. Freezing the limiter can help mitigate this issue and can improve iterative convergence in some cases. Note that this input only applies to 2nd-order iterations. For example, a case with iorder = -200, ncyc = 10000, and lim_frz = 1000 would perform 200 1st-order iterations, 1000 2nd-order iterations without the limiter frozen, and 8800 2nd-order iterations with the limiter frozen. ppli Recommended to freeze limiter after 1 to 2 thousand iterations for most problems.
- lim_frz = 1000000, prevent limiter from freezing
- lim_frz > 0, freeze limiter after lim_frz iterations
If restarting from a previous solution that employed limiter freezing, set lim_frz = 0 to hold the limiter frozen at the values from the previous run. Additionally, if limiter freezing is not desired, set lim_frz > ncyc to ensure the limiter is unfrozen for the entire simulation.
Specifies the number of iterations between two successive updates of the pseudo time step (not used for time-accurate computations). Note that the pseudo time step is always updated at the first iteration such that nupdate = 10 would update the pseudo time step at iterations 1, 10, 20, 30, 40, …
Recommendation: Some users have found that nupdate = 1 can lead to more robust solutions.
Specifies the number of iterations between two successive updates of the Jacobian. Note that the Jacobian is always updated at the first iteration such that jupdate = 10 would update the Jacobian at iterations 1, 10, 20, 30, 40, …
Recommendation: Some users have found that jupdate = 1 can lead to more robust solutions.
Specifies the number of iterations between two successive updates of a restart file. Serves as a safety mechanism to save intermediate solution restart files in case a solution terminates prematurely.
For steady-state cases (itimeacc=0), nwrest is a number consistent with solution iterations (ncyc)
For unsteady runs (itimeacc .NE. 0), nwrest is a number consistent with global timesteps (ntstep)
Note that the restart file will be written out at the defined interval with the name proj_name.iter#.urest, where iter# is the current iteration number. The restart file is written as a Fortran unformatted file.
Number of solution iterations or global timesteps between writings of intermediate solution files.
This feature helps visualize solution evolution for the time-accurate simulations. It will generate a series of (surface.iter#.plt or .szplt, volume.iter#.plt or .szplt) files where # is the current iteration number. For time-accurate solutions, this parameter applies to outer iterations (specified by input variable ntstep) and iter# refers to the cumulative number of subiterations required to reach a specific outer iteration at which the intermediate solution file is written.
Number of iterations beyond which writing of instantaneous NEW flow-file (volume/surface.iter#.plt) will be triggered. The parameters nwflo and nwflobgn relate to outer-loop time steps (ntstep) for an unsteady flow analysis, and to inner-loop time steps (ncyc) for steady-state flow analysis.
Flag related to the output file format. At the end of a successful run, USM3D-ME writes out the flowfield quantities for both the volume and surface in either Tecplot binary (.plt) or Tecplot sub-zone loading (.szplt) format depending on the value specified for ipltqn. Possible values for this parameter are:
- = 0, suppress surface and volume output files
- = 3, Tecplot binary file format (.plt), non-zero velocity on the surface for streamline plots
- = -3, Tecplot subzone loading file format (.szplt), non-zero velocity on the surface for streamline plots
- = 30, Tecplot binary file format (.plt), zero velocity on viscous surfaces
- = -30, Tecplot subzone loading file format (.szplt), zero velocity on viscous surfaces
PLEASE NOTE that although the flow solution is carried out at the cell centroids of a grid, the data in the flow file is interpolated to and written out at the nodes of a grid. This is done to make use of many special purpose and commercial post-processing codes which all require node-based output. Additionally, the 3 and 30 options can be either positive or negative. For positive values of ipltqn, the velocity value at the cell-center nearest the wall is defined to be the wall velocity in the output files. Note that this is to enable streamline plots on the surface and the actual wall velocity is identically zero for viscous surfaces in the flow solution. For negative values of ipltqn, the output files include zero wall velocity for viscous surfaces.
Input variable used to govern the output of diagnostic files as described below. All files have value/location pair.
- idiagnos = 0, provides no diagnostic output
- idiagnos = 1, output diagnostic files
- fort.60 provides min/max of pressure
- fort.61 provides min/max of density
- fort.62 provides min/max of temperature
- info.diag provides minimum pressure, maximum Mach number, and maximum eddy viscosity
- idiagnos = 2, in addition to the files provided for idiagnos = 1
- fort.501 provides maximum vorticity
- fort.502 provides min/max of tnu
- fort.70 provides max residuals all 6 equations
- fort.898 provides information related to the catastrophic violation of face realizability
- idianos = 3, in addition to the files provided for idiagnos = 1 and 2
- fort.801 provides rms of the preconditioner residual during the G-S iteration for meanflow
- fort.802 provides rms of the preconditioner residual during the G-S iterations for SA model
- CELLS_HIGH*.dat provides cell information for values designated as high for density, pressure, temperature, Mach number, and tnu
- CELLS_LOW*.dat provides cell information for values designated as low for density, pressure, and temperature
Note that the files CELLS_HIGH*.dat and CELLS_LOW*.dat are written only at the end of the run.
Not currently active in USM3D-ME.
Flag to specify the spatial accuracy of the computations.
USM3D-ME permits first- or second-order spatially accurate computations. The possible values of this parameter are:
- iorder < 0, imposes first order spatial accuracy for iorder iterations
- For example, iorder = -200 will impose first order for 200 iterations before switching to second order
- Can be useful for cases that are difficult to start
- iorder = 1, imposes first order spatial accuracy
- order = 2, imposes second order spatial accuracy, gradients computed based on Green-Guass method and nodal solution (Recommended for time-accurrate simulations with itimeacc = 1 or 2)
NOTE: If you want to force first order computations based on previous second-order solutions after a restart, iorder must be set to 1. Negative iorder values will not let you restart the solution in first-order mode.
Used to select a procedure for the interpolation of flow variables at the grid nodes based on the values at the centroids of all the cells surrounding a node. Should always be set to 1.
Flag for specifying the spatial accuracy of boundary condition application.
- = 0, applies first-order accurate boundary conditions
- = 1, applies second-order accurate boundary conditions (Recommended)
Flag for specifying spatial differencing scheme for inviscid fluxes.
- ifds = 0, Van Leer’s Flux Vector Splitting (FVS)
- ifds = 1, Roe’s Flux Difference Splitting (FDS) (Recommended for most problems)
- ifds = 3, Harten-Lax-van Leer-Contact (HLLC) scheme (Useful for supersonic flow simulations)
- ifds = 4, Low Diffusion Flux Splitting Scheme (LDFSS) of Edwards
- ifds = 5, Harten-Lax-van Leer-Einfeldt (HLLE) scheme
This parameter specifies the nature of flow simulation to be performed. Possible values are:
- = 0, Inviscid (Euler) calculations only
- = 1, Laminar flow calculations only
- = 2, Viscous calculations with Spalart-Allmaras turbulence model, grid must resolve viscous sublayer of turbulent boundary layer (y+ ~ 1)
Flag to perform transition from laminar to fully-turbulent at user-defined location.
- itransflag = 0, no prescribed transition
- itransflag = 1, prescribed transition region
- Requires additional input file (proj_name.tran) and additional utility (LINK COMING SOON!)
Not currently active in USM3D-ME (set to 0). This input will be utilized for future implementation of a Hybrid RANS/LES capability.
Flag to activate the Quadratic Constitutive Relation (QCR) model for computing the Reynolds stresses.
- iqcrflg = 0, QCR not active
- iqcrflg = 1, QCR2000 active
Note that USM3D-ME currently has only the QCR2000 model available at this time.
Eigen value limiter for Roe scheme (minimum allowable value). May be useful for transonic and supersonic flows for solution stability. Recommended value is 0.0.
Specifies the number of iterations (or subiterations for time-accurate) for the current run. This parameter assumes different connotations for different values of other input variables.
- ncyc is number of iterations for steady-state computations (itimeacc = 0)
- ncyc is the maximum number of subiterations for time-accurate computations with subiterations (itimeacc = 1 or 2)
- Note that the actual number of subiterations may be less than ncyc depending on subiterative convergence criterion (see resstep)
Not currently active in USM3D-ME. Use engine BCs in proj_name.patchdata file.
Not currently active in USM3D-ME. Use sink BCs in proj_name.patchdata file.
Not currently active in USM3D-ME. In USM3D-ME, the rotors/propellers are simulated using a force-term approach. Use proj_name.propdata file to simulate rotors/propellers.
Flag to signal the reading of an additional proj_name.fandm file.
Provides user control of selective integration of forces and moments on user-specified components, such as a wing, fuselage, tail, control surface, etc.
The user must provide an additional proj_name.fandm file that essentially lists the set of patches constituting a component on which the forces and moments are to be integrated.
- icompfm = 0, do not read “proj_name.fandm” file; no special integration
- icompfm = 1, integrate component F&M’s over patches prescribed in proj_name.fandm file. Forces and moments for each component specified in the proj_name.fandm file are written to proj_name.FMhistCOMP# where # is the corresponding component number.
The format of proj_name.fandm file is shown below (included only if icompfm=1 in proj_name.inpt)
read(lcfm,*) ncomp | |
---|---|
do 400 ncmp=1,ncomp | |
read(lcfm,*) ‘comp name’ | |
read(lcfm,*) srefc,crefc,brefc,xmcc,ymcc,zmcc | |
read(lcfm,*) nc,(jpatch(jc),jc=1,nc) | |
400 | continue |
where:
ncomp | = | number of separate components on which forces and moments to be computed |
---|---|---|
‘comp name’ | = | name of the component; must be <=80 characters |
srefc,crefc,brefc | = | component-specific reference area, reference chord, and reference span. |
xmcc,ymcc,zmcc | = | component-specific moment reference center. Not needed for irefq = 0. USM3D will use reference quantities specified in the control input file |
nc | = | number of patches constituting each of the ncomp components |
jpatch | = | an array of patch indexes for nc number of patches constituting each of the ncomp components |
Non-dimensional plenum pressure for the 1002 BC.
- <= 0.0, Use freestream pressure (1/gamma = 0.714)
- > 0.0, Use the specified value
Note that the 1002 BC only allows for a single definition of pressure for all patches defined as 1002 in the proj_name.mapbc. The 11002 condition (requires proj_name.patchdata file) allows for a unique definition of the pressure for each patch defined as 11002.
A non-zero value for this parameter indicates a specified lift-coefficient and invokes a special feature of USM3D-ME to obtain a converged flow solution for a specified lift coefficient (CL) rather than for a specified angle-of-attack, alpha. USM3D-ME internally perturbs alpha to match target CL. If the value is set to 0.0, the flow solver would yield a converged solution at the angle-of-attack specified using the parameter alpha. A detailed description of this feature is given under Special features section of Chapter 5 on RUNNING USM3D.
Not currently active in USM3D-ME.
Flag to clip the weights of the cell when going from cell to node. At this time, iclp_lpl should always be set to 1.
Not currently active in USM3D-ME.
Flag to invoke linearization of the viscous flux. At this time, ilnrzvf should always be set to 1 to linearize the viscous flux.
Flag to define the flux scheme used for the linearization of the Jacobian. The options for this input are:
- invjac = 0, linearizes van Leer FVS
- invjac = 1, linearizes Roe FDS
Note that this is independent of selected flux scheme (ifds). This input should always be set to 1 when using HANIM. Recommended value is also 1 for PA scheme, with 0 as a backup option if issues are encountered with a value of 1.
Input to control the discretization method for the inviscid flux. The options are:
- umuscl = 0.0, fully upwind discretization
- umuscl = 1.0, central difference discretization
- 0.0 < umuscl < 1.0, blend of full upwind and central differencing discretizations
Recommended value is 0.0.
Integer option to compute cell gradient for mean flow convective term. A value of 1 invokes the Green-Guass method to compute cell gradients based on the nodal solution to be used for computing the mean flow convective fluxes. Currently, icgmc should always be set to a value of 1.
Integer input defining the method used to compute the cell face gradients for the mean flow diffusive fluxes. A value of 3 uses Mitchell’s stencil for the face gradient computation. Currently, ifgmd should always be set to a value of 3.
Integer option to compute cell gradient for the turbulence equation(s). A value of 1 invokes the Green-Guass method to compute cell gradients based on the nodal solution to be used for computing the turbulence convective fluxes. Currently, icgtc should always be set to a value of 1.
Note that this input is only used if iordtrb = 2.
Integer input defining the face gradient method utilized for the turbulence model diffusive fluxes. The options are:
- ifgtd = 3, full approximation
- ifgtd = -3, thin-layer approximation
u Should always be set to 3 for HANIM. For the PA scheme, a value of 3 is also recommended. If instability occurs with the PA scheme, a value is -3 is recommended.
Integer input defining the method used to compute cell gradients needed for the turbulence model source computation. A value of 3 uses Mitchell’s face gradient method to compute cell gradients. Currently, icgts should always be set to a value of 3.
Integer input defining the variant of the one-equation Spalart-Allmaras (SA) model to be employed for turbulence computations. The options are:
- imodvar = 1, standard SA implementation
- imodvar = 2, SA model with negative provisions (SA-neg)
- imodvar = 3, SA model with negative provisions (SA-neg) and modifications for solution stability
Recommended value is 3.
Flag to activate corrections to the one-equation Spalart-Allmaras turbulence model (applies to all SA variants).
- itrbcor = 0, no correction applied
- itrbcor = 1, apply Rotation/Curvature Correction (SA-RC)
- Accounts for curvature/rotation effects
- itrbcor = 2, apply Rotation Correction (SA-R)
- Reduces eddy viscosity in regions where vorticity exceeds strain rate
- Less capable but simpler alternative to RC
- Improved convergence relative to RC
For more information about RC and R corrections, visit https://turbmodels.larc.nasa.gov/spalart.html.
Integer input that sets the order of accuracy for the turbulence model convective terms. The options are:
- iordtrb = 1, 1st-order
- iordtrb = 2, 2nd-order
- Requires icgtc = 1
Note that a value of 2 results in a stiffer solution. For most cases, a value of 1 can help with convergence without any adverse impact on solution accuracy. Recommended value is 1.
Defines the maximum number of Guass-Seidel (GS) iterations employed for the turbulence equation(s) by the preconditioner. Recommended values are nstagtrb = 15 for the PA scheme and nstagtrb = 500 for HANIM.
Defines the tolerance for GS iterations performed for the turbulence equation(s). This input can potentially increase computational efficiency by stopping GS iterations early when/if the convergence criteria is met.
- gstol_t < 0, stop GS iterations once residuals are reduced by one order of magnitude
- gstol_t = 0, perform number of GS iterations defined by nstagtrb
- gstol_t = 1/N, stop GS iterations once residuals are reduced by a factor of N
Recommended value is -1.0 (gstol_t < 0).
Input to enable under-relaxation for solution update. At any given iteration, this input is used to define how much of the update you want to apply. The options are:
- dtrbmax < 0, full updates taken (value doesn’t matter)
- 0 < dtrbmax < 1, proportion of update applied to turbulence model
- dtrbmax = 0.5 would apply 50% of the solution update
Should always be negative for HANIM. For the PA scheme, 0.1 <= dtrbmax <= 0.5 should be employed.
Note that lower values can generally improve solution stability.
Inputs used to control the CFL number applied to the turbulence computations. See description provided for cfl1, iramp, and cfl2 for more information.
Defines the freestream turbulence value for the SA model variants. Recommended value is 3.0.
Defines the freestream turbulence viscosity for two-equation turbulence models. Recommended value is 0.009.
Note that USM3D-ME does not currently feature any two-equation turbulence models and, therefore, this input is not currently active. It will be used in the future once two-equation models are made available.
Minimum allowable value for the turbulence variable for the SA model variants or for equation 1 of multi-equation models. Note that a negative value automatically invokes defaults stored for selected turbulence model. Positive values are enforced. Recommended value is -1.0e-20.
Minimum allowable value for the turbulence variable for equation 2 of two-equation models. Note that this input does not apply to the SA model variants. Note that a negative value automatically invokes defaults stored for selected turbulence model. Positive values are enforced. Recommended value is -1.0e-20.
Note that USM3D-ME does not currently feature any two-equation turbulence models and, therefore, this input is not currently active. It will be used in the future once two-equation models are made available.
Integer input used to define solution method utilized for HANIM computations. The options are:
- icplgq = 0, decoupled HANIM (mean flow and turbulence equations solved separately)
- icplgq = 1, coupled HANIM
Note that this input is only applicable to HANIM and ignored when the PA scheme is invoked.
Recommended value is 1 for SA model variants. A value of 0 is currently *not* recommended.
Maximum number of search directions that can be employed by HANIM solver. Note that a value nsd_gcr = 0 is required for PA scheme. For HANIM, the options are 1, 2, 3, 4, … which corresponds to 1, 2, 3, 4, … search directions. There is no upper limit for the number of search directions. Selecting the appropriate number of search directions consists of a trade-off between memory and speed. A larger number of search directions will increase memory requirements, but can potentially reduce the number of iterations required for convergence. However, there is no guarantee that more search directions will improve convergence.
Recommended values are nsd_gcr = 0 for PA scheme (required) and nsd_gcr = 1 for HANIM.
Tolerance for convergence of the linear system of equations within HANIM. The tolerance allows the GCR iterations to terminate early once the user-defined tolerance is met.
Recommended value is 0.92 for nsd_gcr = 1. For nsd_gcr > 1, a lower value can be used.
Maximum allowable CFL for the mean flow equations; utilized by HANIM solver. It is important to ensure that this value is not too restrictive as to limit the efficiency of HANIM. However, for some cases, HANIM can exhibit convergence issues. If convergence issues are observed, setting a conservative upper limit can sometimes help improve convergence, although it will generally require more iterations relative to a larger value cflmax_M.
Recommended value is 1.0e+12.
Maximum allowable CFL for the turbulence equation(s); utilized by HANIM solver. It is important to ensure that this value is not too restrictive as to limit the efficiency of HANIM. However, for some cases, HANIM can exhibit convergence issues. If convergence issues are observed, setting a conservative upper limit can sometimes help improve convergence, although it will generally require more iterations relative to a larger value cflmax_T.
Recommended value is 1.0e+12.
Integer input defining the scheme used by the preconditioner. The options are:
- lineimpl = 0, point-implicit scheme
- lineimpl = 1, line-implicit scheme
Recommended value is 0.
Integer input to apply weightings to cells in the computation of the norms for various vector quantities within HANIM. The options are:
- irmsfilt = 0, all cells have same weighting
- irmsfilt = 1, volume-based weighting
A value of 1 can be beneficial for problems that feature cells that are large relative to the size of the domain. Note that this input is ignored when using the PA scheme.
Recommended value is 0.
Reference value for defining the weighting based on cell volume for the computation of the norms of various vector quantities within HANIM. Note that this input is only used for HANIM and when irmsfilt = 1.
Recommended value is 0.0 that will activate default reference value.