Viscous Upwind ALgorithm for Complex Flow ANalysis

User Manual

Portable HTML Version

Release Version 6.3.0


Email code support and questions to:



An enormous debt is owed to Dr. Anna Creese, formerly of Taitech, Inc. who was responsible for the initial version of the VULCAN-CFD User Manual. Without her assistance and patience, this document would not exist. Funding for VULCAN-CFD development has been provided over the years by the National Aeronautics and Space Administration, the Air Force Research Laboratory, Taitech, Inc., and the Office of the Secretary of Defense. The development of VULCAN-CFD is primarily supported by researchers at the NASA Langley Research Center. However, efforts outside of NASA from universities, private industry, and other government labs have historically and continue to be an integral part of VULCAN-CFD's development. The present release was funded through the High Speed Project of the NASA Fundamental Aeronautics Program, and personnel from both the Hypersonic Airbreathing Propulsion Branch and Computational Aerosciences Branch have made significant contributions to the present release.

Please address editorial comments or suggestions to:


Viscous Upwind aLgorithm for Complex Flow Analysis

VULCAN-CFD offers Computational Fluid Dynamics software (available for serial and parallel computational platforms) for turbulent reacting and non-reacting flows at conditions ranging from subsonic to hypersonic speeds. VULCAN-CFD can simulate two-dimensional, axi-symmetric, or three-dimensional problems on structured multi-block grid systems. A variety of PDE-based turbulence models are available (including explicit algebraic Reynolds stress models) for Reynolds-averaged simulations, one-equation and algebraic sub-grid closures (including dynamic variants) are available for Large-eddy simulations, and hybrid Reynolds-Averaged / Large Eddy simulation capabilities are also present. A variety of robust upwind-biased algorithms are available for Reynolds-averaged simulations, and a low-dissipation numerical framework is available for scale-resolving simulations. VULCAN-CFD offers significant geometric flexibility; boundary conditions can be imposed on any boundary or boundary subset, and the code has C(0) continuous as well as non-C(0) continuous block-to-block interface capabilities. VULCAN-CFD also utilizes a flexible thermodynamic and kinetic model specification framework based on user-specified databases (many of them are standard formats utilized by the propulsion community). The working fluid can be simulated as a calorically perfect single component gas, a mixture of thermally perfect gases (with or without chemical reactions), or a mixture of gases in thermodynamic non-equilibrium (with or without chemical reactions).

Version 6.X Update Release Notes

Current Release Notes

    1. Converted all utility codes to FORTRAN 90 free format form.

    2. Added two new one-dimensionalization approaches to perf_plot3d. The first new approach is a conserved flux option that accounts for flow distortion via the Langley flow distortion methodology. The second is a method introduced by Professor David Riggins (which he refers to as the thermodynamic state method) that enforces conservation of mass, energy, and entropy.

    3. Added an option to perf_plot3d that allows flowfield data to be read in from a TECPLOT format data file.

    4. Added an option to read in integrated flux quantities generated from FIELDVIEW for use with the conserved flux options of perf_plot3d. This option is particularly useful for block topologies that are too complicated (or impossible) to merge from within the perf_plot3d utility.

    5. Changed the alignment option of perf_plot3d that would align the 1-D direction with the momentum vector to one that is aligned with the velocity vector.

    6. Added a new utility code to translate grid/boundary condition files generated from GridPro to a VULCAN format.

    7. Added a new utility code to modify (split) grid blocks for efficient parallel processing. This utility splits the grid blocks of a PLOT3D format grid file based on the number of processors desired and a given load balance tolerance. The utility also performs the required splitting operations for the input file associated with the un-split grid and any restart files that may be present.

    8. Fixed various installation issues with the utility that splits grid zones for efficient parallel processing. The problem that prevented splitting (and merging) of VULCAN restart files was also corrected.

    9. Added new capabilities to ls_fit.

    10. Fixed character string output problem for patch conditions in gridgent, gridprot, and v2knmapt.

    11. Added new capabilities to gridprot to improve how VULCAN interfaces with GridPro.

    12. Added option in grid_plot3d to display information about the grid (number of point/cells/sequence levels, etc.). Also added information related to the level of parallelism that is achievable.

    13. Generalized the frozen flow calculation procedure used by perf_plot3d (reducing the run-time substantially).

    14. Generalized the frozen flow calculation procedure used by perf_plot3d (reducing the run-time substantially).

    15. Added a new fully F90 compliant non-C(0) patch utility to replace the existing non-compliant patcher.

    16. Added a new fully F90 compliant grid splitting utility (see SGLD User Guide) to replace the existing C-based splitter.

    17. Added the AFRL separated flow average methodology to perf_plot3d.

    18. Redefined the streamwise vorticity to be aligned with the desired 1-D flow direction (rather than assuming it to be aligned with the X-direction) in perf_plot3d.

    19. Added Fieldview scripts and formula files to aid with the output of fluxes when the Fieldview flux option is invoked (perf_plot3d).

    20. Added a grid scaling factor to allow grids in non-MKS units to be used by perf_plot3d.

    21. Added a prompt for the maximum processors to consider for output of load balance statistics in grid_plot3d.

    22. Moved the check for whether the problem is 3-D outside of any particular task option in grid_plot3d.

    23. Fixed problem with the creation 3-D grids from 2-D grids in grid_plot3d.

    24. Added the ability utilize either the old format for boundary conditions or the new format based on BC groupings in gridgent and gridprot.

    25. Removed the requirement that quotes be used on input strings in the boundary condition translator utilities (gridgent, gridprot, v2knmapt).

    26. Reworked logic of v2knmapt to more closely resemble that used by the other translator utilities.

    27. Developed two new glyph files for Gridgen to simplify the setting of boundary conditions for VULCAN. The vulcan_bcs.glf file defines all of the VULCAN specific boundary conditions, and the vulcan_bcgrps.glf file defines families of boundary condition classes for use when the specific boundary conditions to be applied have not yet been decided upon.

    28. Developed two new ptymap files for Gridpro to simplify the setting of boundary conditions for VULCAN. The ptymap.vulcan_bcs file defines all of the VULCAN specific boundary conditions, and the ptymap.vulcan_bcgrps file defines families of boundary condition classes for use when the specific boundary conditions to be applied have not yet been decided upon.

    29. Developed a tog file (vulcan_bcs.tog) for V2K to simplify the setting of VULCAN specific boundary conditions.

    30. Added the ability to extract a desired grid level in vulcan_rest.

    31. Added the ability to extract residual norms for restart file modifications that will not fundamentally alter the convergence history (vulcan_rest).

    32. Increased the dimension of the bcgrpp array to prevent storage issues for 2-D laminar cases (vulcan_rest).

    33. Modified the coarsening and refining procedures to properly handle the coarsening/refining in situations where transport property values have been flagged as a negative number (vulcan_rest).

    34. Fixed issue with the I/O of the restart header file in vulcan_rest.

    35. Fixed memory allocation issue with coarsening/refining or converting between 2-D and 3-D in vulcan_rest.

    36. Fixed issues with the output of boundary layer properties in vulcan_prof.

    37. Added planar PLOT3D output logic to the PLOT3D merge utility.

    38. Fixed SGLD issues associated with auxiliary lines required for PROFILE file usage when the boundary condition grouping format is used.

    39. Adjusted tree search logic to speed-up SGLD execution.

    40. Added planar PLOT3D output logic to SGLD when merging PLOT3D data files.

    41. Made changes to SGLD required to read the restart data files in a backwardly compatible fashion.

    42. Updated vulcan_rest and vulcan_prof to allow for an arbitrary number of ghost cell layers.

    43. Fixed problem with vulcan_prof when splitting profiles.

    44. Added option in vulcan_prof to allow a user-defined analytical profile to be specified (currently set-up for a temporal mixing layer).

    45. Fixed problem with the use of "mixure" products in perf_plot3d when computing equilibrium chemistry-based efficiencies.

    46. Forced the creation of therm.lib every time that perf_plot3d is executed to ensure changes made to therm.inp are taken into account.

    47. Fixed various issues in perf_plot3d that appeared when the streamwise direction was not "x".

    48. Fixed problem with initialization of ndim in perf_plot3d when 3-D grids are utilized with one k-plane.

    49. Fixed problem with initialization of nk3d in grid_plot3d when the Fieldview flux option is chosen.

    50. Removed hard-wired 3-D setting in the Gridgen glyph scripts that set VULCAN boundary conditions.

    51. Fixed index issue when 2-D problems are considered in the boundary condition translator utilities (gridgent, gridprot, v2knmapt).

    52. Fixed potential memory issue when translating boundary condition information using the old boundary condition format in v2knmapt.

    53. Added the ability to handle ChemKin format thermodynamic and transport databases in ls_fit and mix_fit.

    54. Added the ability to to specify mole fractions in mix_fit.

    55. Fixed issue in ls_fit with uninitialized variables when fitting a complete database.

    56. Fixed issue with non-standard x,y,z ordering of output in the grid_plot3d.

    57. Fixed issue with the calculation of the "target dimension" computed by the SGLD utility (it was based on nodes instead of cells).

    58. Added a new translator utility gpro2nmf to convert the GridPro connectivity file to a V2K neutral map file.

    59. Added the ability to output Tecplot zonal data to separate files in time_merge.

    60. Fixed various issues with the boundary layer property integration option in vulcan_rest.

    61. Added an ideal vortex as an analytical profile creation option in vulcan_prof.

    62. Added a laminar fully-developed laminar channel or pipe flow as an analytical profile creation opton in vulcan_prof.

    63. Added the option to read 32 or 64 bit unformatted PLOT3D data files in perf_plot3d.

    64. Added the ability to compute the pattern factor based on total temperature in perf_plot3d.

    65. Added thrust potential measures (one based on expanding to a specified pressure and the other an expansion to a specified area) to perf_plot3d.

    66. Added the adiabatic inlet kinetic energy efficiency measure to perf_plot3d.

    67. Added the output (int_prop_tmp.inp) of the input parameters used when executing perf_plot3d, which can be used as an input file for subsequent executions of this utility.

    68. A POINTWISE plugin has been developed to allow the specification of VULCAN boundary conditions inside of POINTWISE. This plugin is not a simple translator, but is instead essentially a component for POINTWISE. This plugin is intended to eventually be a part of the POINTWISE software package, but the process of formally folding this plugin into POINTWISE has not been completed. At this point, if you have a need for it contact the developers and provide the version of POINTWISE that you have and whether you are using the 32 or 64 bit version. We can then compile the plugin on our end and make it available to you.

    69. Fixed issue with the appearance of corrupt data resulting from corner cells of split blocks in merged restart files produced by restart_merge.

    70. Added the output of the input parameters specified when executing any of the utility codes (utility_code_name_tmp.inp), which can be used as an input file for subsequent executions of the utility.

    71. Added a utility (gci_ext) to compute the grid convergence index given solutions obtained from 2 or more grid levels.

    72. Renamed the utility perf_plot3d to perf_ext to reflect the fact that the flowfield properties can be supplied in a format other than a PLOT3D format.

    73. Added a utility (mw_coef) to compute the Millikan White translational/vibrational relaxation time correlation parameters (Amw and bmw) given the species molecular weight and characteristic vibrational temperature.

    74. Added an option to convert thermal equilibrium restart files to equivalent thermal non-equilibrium restart files (and vice versa) in vulcan_rest.

    75. Added the ability to handle streamIO (C-binary) PLOT3D/PLOT2D files in each utility code that deals with PLOT3D/PLOT2D files.


Heading Return to manual home page
Tables List of Tables
Figures List of Figures
Chapter 1 How to install and execute VULCAN-CFD and its utilities
Chapter 2 Input descriptions: General Control Data
  Section 1 Parallel processing data
  Section 2 Geometry type data
  Section 3 Input control data
  Section 4 Output control data
  Section 5 Equation set data
  Section 6 Reference frame data
  Section 7 Gas and thermodynamic data
  Section 8 Chemistry model data
  Section 9 Transport model data
  Section 10 Chemical species data
  Section 11 Chemical reaction data
  Section 12a Reference condition data: calorically perfect gas
  Section 12b Reference condition data: multi-component gases
  Section 13 Turbulence model data
  Section 14 Hybrid RAS/LES model data
  Section 15 Recycling/Rescaling control data
  Section 16 Turbulence-Chemistry model data
  Section 17 Runge-Kutta scheme data
  Section 18 Hybrid advection scheme data
  Section 19 Boundary and cut control
  Section 20 Block configuration control
  Section 21 Region configuration control
Chapter 3 Input description for boundary conditions
Chapter 4 Input description for C(0) block interface (CUT) conditions
Chapter 5 Input description for non-C(0) block interface (PATCH) conditions
Chapter 6 Input description for laminar sub-blocks
Chapter 7 Input description for ignition sub-blocks
Chapter 8 Input description for time history sub-blocks
Chapter 9 Chemical reaction model input
  Sample Database Sample chemical kinetic model input
Chapter 10 Chemical species thermodynamic and transport model input
  Sample Database Sample VULCAN-CFD species gas model database
Chapter 11 Chemical species thermodynamic non-equilibrium model input
  Sample Database Sample VULCAN-CFD species thermodynamic non-equilibrium database
Chapter 12 Computational domain decomposition
Chapter 13 Initialization of the flow in the computational domain
Chapter 14 Parallelization algorithm
Chapter 15 Input grid file format
Chapter 16 Profile file output format
Chapter 17 Recycling/Rescaling process description
Chapter 18 VTLS - Vulcan Top-Level (post-processing) Script

Table Number List of Tables
Table I. Sample input file
Table II. Input grid file PLOT2D/PLOT3D options
Table III. Boundary condition types
Table IV. Required additional information for relevant boundary condition types
Table V. Definition of domain decomposition terms
Table VI. Sample input file for domain decomposition
Table VII. Example of a block configuration input table
Table VIII. A sample input file of an alternative domain decomposition
Table IX. Another sample input file of an alternative domain decomposition
Table X. Yet another sample input file of an alternative domain decomposition
Table XI. Definition of initialization terms/methods
Table XII. Sample input file for flow initialization

Figure Number List of Figures
Figure 1. Sample computational domain and grid
Figure 2. Angle of attack reference frames
Figure 3. Boundary condition types
Figure 4. Two BLOCK grid
Figure 5. BLOCK 1 boundary treatment
Figure 6. BLOCK 2 boundary treatment
Figure 7. Pressure contours for space marched 2-D flow
Figure 8. Alternative domain decomposition using 3 blocks
Figure 9. Sample computational domain for initialization
Figure 10. Sample flow field initialization
Figure 11. Boundary condition cell ordering and orientation
Figure 12. Master-Slave communication pattern
Figure 13. Grid layout for the flat plate boundary layer
Figure 14. Inflow Block Assembly and Recycling Block Assembly for the flat plate boundary layer
Figure 15. Grid layout for the channel flow
Figure 16. Inflow Block Assembly and Recycling Block Assembly for the channel flow