Copyright © 1988-2025 Tecplot, Inc. All rights reserved worldwide. See the complete legal notice in the copyright section of this document.

Table of Contents

Starting FieldView

Running FieldView

Following a successful installation:

LINUX users will run FieldView by typing fv in a console window. (You will need to ensure that you are either in the directory FV_HOME/bin or that you have added this directory to your path. If you have not done this, you will need to type the full path name where FieldView is installed.)

MAC users can simply click on the Application widget. However, to provide for FVX script debugging and the use of command line options, FieldView must be started in a mac terminal, as follows:

/Applications/FieldView-25.app/Contents/MacOS/fv <FV arguments>

If FVX debuging is not needed, stderr and stdout can be redirected normally. Alternatively, stderr and stdout can be redirected as follows:

open --stdout <path> --stderr <path> /Applications/FieldView-25.app --args <FV arguments>

WINDOWS users will launch FieldView from the Program group, navigating to the FieldView 2025 folder and clicking on FieldView 2025 to start the program. To run FieldView from a WINDOWS command prompt or a Cygwin shell, type fv.bat followed by any desired command line arguments. (You will need to ensure that you are either in the folder FV_HOME/bin or that you have added this directory to your path. If you have not done this, you will need to type the full path to fv.bat.

cmd_symbol Special Notes for MAC Users - The command key on the MAC replaces the Ctrl key for operations to set the center of view and rotation, all picking (such as probing, streamline seeding and iso-surface cutting plane creation) and 2D plotting. Middle mouse button operations are enabled using the left mouse button while holding down the Alt/Option key.
Note: While using FieldView, the GUI will provide hints to explain keyboard and mouse usage as you mouse-over the icons. Other interactive operations such as probing points or creating rakes also provide such hints in green windows on the given panel.

In addition, the MAC port has the following limitations:

  • the FVX make_panel and graph commands are currently not supported

  • the acusim, cgns and flow3d animation & restart direct readers are not supported since they have not been ported to the MAC platform by their respective development teams

Running more than one instance of FieldView Simultaneously

When FieldView is started, it uses a default port number of 12345. Each instance of FieldView must use a unique port number. You can run two or more versions of FieldView on a single machine, assuming your licenses support this, by specifying an explicit port number (where port_number is any port that is not in use by another process) as follows:

fv -port port_number

It is also possible to start FieldView by specifying a port number, range of port numbers, where FieldView will use the first open port in that range, or -port none:

fv -port 21000:22000

However, the -port none option will prohibit use of FieldView Servers.

FieldView also provides the environment variable FV_DEFAULT_PORT for this setting.

Remote FieldView Operation

FieldView can be run remotely, thereby avoiding the need to move data from your remote system to your local desktop system. FieldView visualization performance while running in Client-Server (see Running Client-Server Mode) vs. running with a remote display is dependent on your specific environment, whether remote graphics software is being used, and the content of your visualization.

remote Client Server
Figure 1. Client-Server Operation on Remote Systems

FieldView runs well with Remote Graphics Software applications such as DCV, VNC, or Windows Remote Desktop, as illustrated in the figure below.

Remote Graphics Software
Figure 2. Remote Desktop Operation with Remote Graphics Software

Prior to FieldView 2025, there were two implementations for remote operation which apply only to non-Windows FieldView Client. One is based on hardware rendering being performed on the remote system (with command line option -hrg); the other is based on software rendering (with command line option -srg).

However, these command line options have been deprecated. With FieldView 2025, Remote Graphics is natively supported and tested with most remote desktop environments, such as Windows Remote Graphics, VNC or DCV. No command line option is required.

Please note that the following command line switches are no longer supported: -hrg, -srg, -ogl, -gl, -sb, -xgl, -pseudo, -x, -x8, -X8 . If you try to run FieldView with one of these switches, FieldView will not start, and you will see the following message in the console window:

This rendering option (<switch name>) is no longer supported.

Understanding the Console Window

The console window is used to send messages concerning the normal, and sometimes unsuccessful, operation of FieldView. For LINUX/MAC users, the console window refers to the window in which you started FieldView by typing fv (along with any appropriate command line arguments). For WINDOWS users, the console window is a smaller window, separate from the main FieldView interface. A great deal of information is typically printed here. However, these console window messages can often be very helpful in diagnosing problems. Some of these messages and their relevance are highlighted here. For instance, it is often useful to know the current working directory:

Current working directory is /home/my_data/cases

By default, FieldView will remember your last current working directory, and this may be confusing if you have navigated to a different directory since your last session. This behavior can be over-ridden using either of the environment variables, FV_OLD_BROWSER_BEHAVIOR or FV_NO_PREFERENCES. Checking the console window helps to confirm which directory FieldView considers to be 'current'.

You may encounter difficulties when running for the first time with a basic server or parallel server. FieldView will echo out all relevant information concerning the configuration of the server it is trying to run:

Reading dataset with Server: local
Server current working directory:
/opt/apps/FieldView/fv25/fv/bin
Server configuration file contents:
ServerType: standard

Command Line Switches

FieldView has several switches (or arguments) that control various aspects of program operation. It is possible to use multiple command line switches when starting FieldView. In the event that switches may set conflicting behavior, such as setting a remote operation switch followed by the batch switch, the last switch will be used. The switches are summarized in the following table and further explained elsewhere in the text.

Argument Description

-batch [-software_render | -use_fv_mesa | :displaynum | :displaynum.screen ]

run in batch mode ; Optional arguments shown here within [ ] specify Software Render (Mesa) or Hardware Render DISPLAY target.

Optionally, you can use -use_fv_mesa in addition to -software_render and -batch for headless rendering with the Mesa Lavapipe driver. The driver requires certain dependencies to be satisfied (most notably, llvm version 18.1) which are essential for correct operation. FieldView will issue a warning if any critical dependencies are missing or improperly configured.

Please note: -software_render and -use_fv_mesa are only available on Linux.

-fvbN

use batch-only license, batch mode is forced

N (optional) refers to the number of parallel processes which can be run in batch-only mode and can be set to 8, 16, 32, 64 or 256. A batch-only license, consistent with (optional) N, is needed for this switch to work correctly.

-f name

run a restart when starting FieldView

-s name

run a script when starting FieldView

-fvx name

run an FVX program when starting FieldView

-pfvN

use parallel license

N refers to the number of parallel processes which can be run in parallel (not including the controller process) and can be set to 8, 16, 32, 64 or 128. A parallel license, consistent with N, is needed for this switch to work correctly.

This only applies to FieldView

-python name

run a python program when starting FieldView

-pN

DataGuideTM switches:

0 : only Grid file

1 : both, function subset

2 : both, all functions

-fc

use PLOT3D/Fast mouse controls

-create_exterior_fvbnd

Generate FVBND file (must be used with -pN)

-create_wall_fvbnd

Generate FVBND file (must be used with -pN)

-gamma value

set PLOT3D gamma (default=1.4)

-gasconstant value

set PLOT3D gas constant, R (default=1.0)

-silent

suppress all warning pop-ups

-size=nnnxmmm

set the graphics window size

-port [port-num | port:range]

set the port number to use for Client-Server or Parallel operation. Default port is 12345. See below note.

-software_render

force software rendering (must be used with -batch). This flag is no longer supported on Windows and macOS. It is only available on Linux. Optionally, you can use -use_fv_mesa in addition to -software_render and -batch for headless rendering with the Mesa Lavapipe driver.

FieldView will use the Client’s port or port range to connect to FieldView server(s). This port can also be defined with the environment variable FV_DEFAULT_PORT=[<portnum>|<startportnum>:<endportnum>]. The specified Client port (or open port found in a specified range) will also be used at the server with auto-start FieldView configurations, unless the field ServerPort: and PortForward: true is specified in the Server Configuration file.

Batch Mode

FieldView can be run in batch mode without displaying the graphical user interface. Batch mode is enabled by starting FieldView with the -batch argument. It must be used in conjunction with an FVX program (-fvx name), a Python program (-python name), an automatic script restart (-s name) or a restart (-f name). DataGuideTM processing can also be used.

When FieldView is run in batch mode from the command line using the -batch switch, it does not require an X-server to run.

To run a script in batch, use:

    fv -batch -s script_name

To run a restart in batch, and generate a DataGuideTM file at the same time, use:

    fv -batch -pN -f restart_name

Batch mode, when combined with script commands such as PROBE, INTEGRATE and EXPORT, will allow you to analyze many datasets in succession, examine very large and/or transient datasets non-interactively, and run FieldView overnight.

Scripts which do not have an EXIT command will exit at the end of the script when batch mode is enabled. Script errors which normally give the Continue/Cancel option force Cancel, and exit the script in batch mode.
Important notes and limitations

Hardware rendering is never used for Batch Pack licenses. If a -fvb switch is used on the command line to start a batch job, software rendering will be used. Software rendering is only available on Linux.

Using Batch-only licensing

FieldView can run using a reduced cost batch license, which only permits batch operation. When running with this type of license, the FieldView interface will not be launched. The purpose of this type of license is to let you run many FieldView batch jobs without having to use your interactive licenses.

To run a batch job using a batch-only license, use one of the command line options [-fvb | -fvb8 | -fvb16 | -fvb32 | -fvb64 | -hpcfvb]. (This forces FieldView to run in batch mode, making the -batch command line option unnecessary.)

    fv -fvb -fvx fvx_name
If no reduced cost batch licenses are available, FieldView will try to check out a standard license and run in batch mode. However, when using a batch-only command line option (as opposed to the -batch option), your batch job will not use hardware accelerated rendering, even if graphics hardware is available.

Running Restarts from the command line

A FieldView Restart can be run at start-up using the following command line argument:

    fv -f restart_name

On startup, FieldView looks for a -f name argument on the command line. If this argument is present, FieldView will automatically read restart_name.dat, along with any files that begin with restart_name and have a standard FieldView file extension (such as restart_name.map for a Colormap restart file, or restart_name.iso for an Iso-surface restart file). Note that name can include slashes to access directories other than the current directory.

Preference Restart

If no -f argument is present, FieldView will automatically read in any files in the current directory that begin with fv and have a standard FieldView file extension. If no fv.* files exist in the current directory, FieldView will read in any such files that exist in the directory FV_HOME/data. This allows for preference files to be read in automatically upon startup.

An automatic restart of your user preference settings can be created with the Preference Restart option on the Restart Files menu. Restart files are described in Restart Files and Script Language in the Reference Manual.

Running Scripts from the command line

A FieldView script can be run at start-up using the following command line argument:

    fv -s script_name

where script_name is the name of the script file. This is often used in conjunction with Batch mode (see above). Script files are described in Restart Files and Script Language in the Reference Manual.

Running FVX from the command line

An FVX script can be run at start-up using the following command line argument:

    fv -fvx fvx_name

where fvx_name is the name of the FVX program file. This is often used in conjunction with Batch mode (see above). FVX programming is described in FieldView Extension Language in the Reference Manual.

Running Python from the command line

A python script can be run at start-up using the following command line argument:

    fv -python python_name

where name is the name of the python program file. This is often used in conjunction with Batch mode (see above). Python-enabled FVX programming is described in FieldView Extension Language in the Reference Manual.

DataGuideTM

DataGuideTM lets you create specially formatted files (based on grid and results files) that will substantially decrease read in time. The time savings for very large transient datasets, for example, can be extraordinary. DataGuideTM licensing is included to both create and also to use DataGuideTM files. Command-line switches are needed to create DataGuideTM files. Once the files are created, if they reside in the same directory as the grid and results file, they will be automatically used by FieldView. The data read-in process is no different for you. Note that this feature cannot be used if your data has been read with Parallel FieldView, unless read in Partitioned File (PFPR) format. If tried, FieldView will issue a corresponding message.

DataGuideTM files are created based on your Grid Processing settings - "Less", "Balanced" or "More". These are controlled interactively (on the Data Input Panel) or in restarts ( .dat ) and FVX. (For more details, see the GRID PROCESSING section in the Reference Manual.)
To make DataGuideTM pre-processing files

Start FieldView with an appropriate command line switch to create grid and/or results DataGuideTM files. We strongly recommend creating DataGuideTM files in batch mode operation, however DataGuideTM files can be created during an interactive session. As soon as a dataset is read, either a DataGuideTM grid pre-processing file, or a DataGuideTM grid and a results pre-processing file are created. If you have a transient dataset, perform a transient sweep to create the pre-processing files for each time step.

To use DataGuideTM pre-processing files

After having created the DataGuideTM pre-processing files, start a new FieldView session without the command line switches. The DataGuideTM pre-processing files will be automatically read when the dataset files they are based on are read into FieldView.

DataGuideTM Grid pre-processing

DataGuideTM Grid pre-processing causes FieldView to create a file based on the filename of the grid file having the extension: .fvpre. Although requiring additional disk space (the original grid file must still remain), having DataGuideTM grid files will substantially decrease read in times and access times for data. The performance increase will be greater for structured grids than for unstructured grids.

A DataGuideTM switch (-p0, -p1, or -p2) is required when using the (Structured Dataset options) -create_exterior_fvbnd or -create_wall_fvbnd command, but is unnecessary for the equivalent interactive options Tools > Create Exterior Boundary File, or Tools > Create Wall Boundary File. For a description of these two utilities, see Create Exterior Bnd File and Create Wall Bnd File in the Tools section of Working with FieldView. For a description of the Structured Boundary file format, see Structured Boundary Files in the Reference Manual.
DataGuideTM Results pre-processing

DataGuideTM Results pre-processing causes FieldView to create a file based on the filename of the results file having the extension: .fvres. (For solvers that combine grid and results data in a single file, the name would be based on the single file name). FieldView will calculate the minimum and maximum values of solver variables (and PLOT3D functions) and store them in this file. These files are readable text and also report the IJK and XYZ values of the minima and maxima per function / per grid. For scalar functions FieldView will also report where the minimum and maximum values occur, I/J/K for structured grids and X/Y/Z for structured and unstructured grids. Vector functions will not show the min/max locations except by their component scalar function listings.

An example listing for a scalar function will look like this:

    Function = "Cp [PLOT3D]"
    grid = 1    fid = 114    min = -0.104507    max = 2.13695
        min at I/J/K = 27           13         19
               X/Y/Z = 0.78778      0.624087   0.407535
        max at I/J/K = 2            4          24
               X/Y/Z = -0.00756693  0.0189921  1.13551

An example listing for a vector function will look like this:

    Function = "Velocity Vectors [PLOT3D]"
    grid = 1    fid = 200
    u-min = -2.05706   u-max = 3.12293
    v-min = -0.348877  v-max = 1.88989
    w-min = -2.00529   w-max = 1.13023

(The fid value is for internal FieldView use only. It should not be edited.)

Implementation

There are three different command line switches depending on the amount of DataGuideTM processing you want to do:

-p0 means build only the grid DataGuideTM file

-p1 means build both the grid and results DataGuideTM files, and for the case of PLOT3D, use only a subset of functions so as to save time. These functions are:

    "Density (Q1)"
    "Cp [PLOT3D]"
    "Temperature [PLOT3D]"
    "Velocity Magnitude [PLOT3D]"
    "Mach number [PLOT3D]"
    "x-momentum (Q2)"
    "y-momentum (Q3)"
    "z-momentum (Q4)"
    "Stag. energy (Q5)"
    "Velocity Vectors [PLOT3D]"
    "Momentum Vectors [PLOT3D]"

-p2 means build both the grid and results DataGuideTM files and for the case of PLOT3D, use all functions for results processing.

If more than one of the above switches appears on the command line, FieldView will perform the one that does the least. If FieldView is started with a command line switch to create a DataGuideTM file, and the DataGuideTM file already exists, the files will be overwritten.

DataGuideTM processing can be used in conjunction with a Script or a Restart, or by itself:

    fv -p2
    fv -p2 -f restart_name (FieldView will exit upon completion)
    fv -p2 -s script_name (FieldView will exit upon completion)
    fv -p2 -fvx script_name (FieldView will exit upon completion)
Grid and Results DataGuideTM processing will not function for transient data where the grid and results are all in a single file (e.g. STAR-CD, CFX).
Other information

FieldView will print warnings or errors when encountering DataGuideTM files which may not be optimal or are unreadable with the current FieldView version. For example, if grid sampling or subsetting doesn’t match, FieldView will print:

Number of cells in DataGuide file does not match grid data.

For example, reading a preprocessed case where your current settings differ, FieldView will print:

The Grid Processing setting was ignored because a DataGuide file was found and used.

PLOT3D/Fast Viewing Controls

When the "-fc" command line option is used when running FieldView, the transform specification of the mouse buttons is changed. Instead of the normal FieldView definitions of the three default mouse operations, FAST-like transforms are mapped to the mouse buttons. In addition, the default demotion mode will be None and the default tracking will change from Track to Running.

Modifying Constants for PLOT3D Functions

In order to change the internal values of the gas constant (R) and gamma (\(\gamma\)), command line switches will have to be used. The command line switches are:

    -gasconstant value

The possible values of the gas constant are values strictly greater than 0. The normal value used in the PLOT3D functions is R = 1. This assumes a perfect gas. Whether the value of the gas constant you enter is required to be normalized or not will depend on your normalization of these quantities in your solver.

    -gamma value

The value of gamma has to be strictly greater than 1.0. The normal value used in the PLOT3D functions is \(\gamma\) = 1.4.

If either the gas constant (R) or gamma (\(\gamma\)) is supplied by the user the value(s) will be echoed in the console window.

The PLOT3D derived functions will still assume that "rho-inf" (freestream density) is 1, and the "c-inf" (free stream speed of sound) is 1, regardless of the values of the gas constant (R) and gamma (\(\gamma\)).
Effects on DataGuideTM Files
  • The fvres files have a format that lists the gas constant (R) and gamma (\(\gamma\)) at the top of the file.

  • fvres files in the standard format will be ignored unless the current values for the gas constant (R) and gamma (\(\gamma\)), are set to their defaults. A warning message will indicate a mismatch in these values.

  • fvres files in the modified format will be ignored if the values of the gas constant (R) and gamma (\(\gamma\)) in the fvres file do not match the values currently set on the command line. This will produce a warning message.

Graphics Layout Size

The graphics window size can be controlled during both interactive and batch mode operation of FieldView. The default window size while running FieldView interactively is discussed in the Graphics Layout Size section of Working with FieldView, and can be controlled with Graphics Layout Size from the Tools or View menu, or the -size command line option. The default window size when running in batch mode (with the -batch command line option) is 640x480.

You can control the image size by using the following command line argument:

    fv -size=WIDTHxHEIGHT

where WIDTH and HEIGHT are measured in pixels. For example, to set the image portion of the graphics window to 640x480, use the following command to run FieldView:

    fv -size=640x480

This command line argument works in conjunction with all of the other FieldView arguments, for restarts, scripts, batch mode, etc.

FieldView Environment Variables

Environment variables can give you greater control over how FieldView works following a standard installation. In most cases, an environment variable is activated by setting it to a non-zero value. Setting environment variables will depend on your operating system. For LINUX users, it will also depend on the shell you are using.

In general, an environment variable applicable to the FieldView Server(s), which is set at the FieldView Client, even if running on a remote system, will be applied to the server(s) unless specifically noted. Alternatively, environment variables applicable to the FieldView Server(s) can be set when running fvrunsrv to launch the server. Note: Use care in setting environment variables on Windows systems, as trailing spaces will not be discarded!

Variable Definition

FV_2D_TO_3D

Use this to extrude a 2D dataset to 3D, enabling FieldView to perform volume-based 2D line plotting and point probe.

Only applies to data in the binary FieldView Unstructured format (FVUNS).

FV_ARB_POLY

When set, FieldView will tetrahedralize arbitrary polyhdedra over-riding the default behavior to handle these elements natively. Use FV_TET_CONV to apply a quick scheme for tetrahedralization.

FV_ARB_POLY_FULL_CHECK

When set, reverts to the more extensive checking of arbitrary polyhedron cells done prior to FieldView 17 and prints a console warning the first time any data with arbitrary polyhedron cells is read. If you are writing code to export FV-UNS files, setting this while testing your export is recommended.

FV_DATA_CHECK

Use this to check for invalid floating-point values (NaN’s) in PLOT3D and FV-UNS data. Infinities are not checked for. This will increase memory usage and slow down read in times. See also FV_NO_DATA_CHECK.

FV_DEBUG

Set this to obtain additional diagnostic information, printed to the console window, when running FieldView.

FV_DEBUG_AUTOSTART

Set this to see the exact server command line that FieldView is attempting to start.

FV_DEBUG_STARTUP

Helps debug FieldView problems with clients and servers on non-Windows systems that are caused by limited system resources. See Additional Comments Regarding FieldView Servers in the Installation Guide. for a full description.

FV_DEFAULT_PORT

Use this to set the port number that FieldView uses for Client-Server or Parallel operation. Can take a single integer, or a range <port>:<port>.

FV_DEPTH_BIAS

Adds a bias that depends on the angle of the surface relative to the camera. Useful alongside FV_DEPTH_OFFSET for more precise control.

Type: Float — Default: 1.0

FV_DEPTH_OFFSET

Shifts the depth of filled geometry by a fixed amount to help separate overlapping surfaces.

Type: Float — Default: 0.0005

FV_GUI_FONT_SIZE

Set this to a number between 50 and 200 to change the font size of the GUI. A setting of 50 will scale the fonts by 50%, 200 will scale the fonts by 200% (or a factor of 2X)

FV_HOME

This variable is set and used by the FieldView start-up script. Changing this environment variable is NOT recommended.

FV_HQ_AVI

Set this environment variable to any value to use the high quality option when saving AVI files on Windows systems.

FV_IGNORE_WALLS

If streamlines appear to arbitrarily stop within a domain, it may be the case that internal walls within the dataset are being incorrectly flagged as surfaces which will not let streamlines pass. Setting this environment variable ignores internal walls for streamline calculations.

FV_MP4_COMPRESSION FACTOR

This environment variable specifies the Constant Rate Factor (CRF) quality adjustment for the H.264 codec when exporting flipbooks in MP4 format and may be set to an integer value from 0 to 51. A value of 0 will produce a lossless compression of the original image content at the expense of a large file size. A value of 51 will produce a highly compressed and probably low quality rendition of the original image content but with a drastically smaller file size. A default value of 23 has been chosen to be a good balance of fidelity vs. file size. A "sane" range of 18 for the highest quality and 28 for the smallest file size is recommended.

FV_MULTISAMPLE_LEVEL

This variable determindes the number of samples Multisample anti-aliasing (MSAA) uses. MSAA works by rendering an image with multiple samples (e.g., 2x, 4x, 8x) for each pixel, which represents the average color and depth for that pixel. The default value is 4. This variables accepts the values 1 (no anti-aliasing), 2, 4, 8 and 16.

FV_NO_BACKUP_RESTART

To avoid losing work, a Complete Restart is saved to your home directory when exiting FieldView. To turn this default behavior off, set this environment variable.

FV_NO_BNDRY_FILE

This variable turns off creation of .fvbnd files by the WIND reader. For more details see section on the NPARC/WIND reader in the Reference Manual.

FV_NO_DATA_CHECK

Use this to skip checks on element and boundary node IDs in PLOT3D and FV-UNS files. See also FV_DATA_CHECK.

FV_NO_FVX_RESTART

Use this environment variable to turn OFF the automatic creation of an FVX file when a complete or current RESTART is saved.

FV_NO_GRID_JUMP

This variable turns off streamline grid jumping, except for grid jumping caused by negative IBlanks.

FV_NO_OUTLINE

By default, FieldView computes and draws outlines when data is read. To expedite data reads and turn off outline drawing, set this environment variable to any value.

FV_NO_PREFERENCES

By default, all GUI layout customization and the locations of the last directory browsed for all file selectors are saved. To completely disable this default behavior, set this environment variable.

FV_NO_SCONFIG_ECHO

By default, detailed information regarding servers (client-server or parallel) is printed to the console window. Set this environment variable to disable this default behavior. Only applies to FieldView.

FV_NO_STREAK

By default, FieldView will calculate streaklines from streamline rakes during a transient sweep operation. Use this environment variable to disable this behavior. When set, a transient sweep will produce streamlines instead of streaklines.

FV_NUM_THREADS

Thread usage is normally limited by the

OMP_NUM_THREADS environment variable on the system.

FV_NUM_THREADS can be set to further limit the number of threads used by FieldView.

FV_OFFSCREEN_MULTISAMPLE_LEVEL

This variable is identical to its "on-screen" equivalent, but for off-screen. Please refer to FV_MULTISAMPLE_LEVEL for a complete description. If this is not set, it uses the same value as FV_MULTISAMPLE_LEVEL.

FV_OIT_MIN_SORTED_FRAGMENT_COUNT

Determines the quality of transparent objects when the view is rotating. The default is 128. It can be set to any integer in the range 1-8192.

FV_OIT_MAX_SORTED_FRAGMENT_COUNT

Determines the quality of transparent objects when the view is stationary or when exporting images. The default is 1024. It can be set to any integer in the range 1-8192 and must be equal to or larger than FV_OIT_MIN_SORTED_FRAGMENT_COUNT.

FV_OIT_FRAGMENT_BUFFER_SIZE

Sets the maximum limit for the data storage reserved for Order-Independent Transparency (OIT) in MiB on the graphics card. A larger buffer size allows FieldView to keep more per-pixel fragments in memory before compositing, improving the accuracy and stability of the final pixel colors in complex scenes with many overlapping transparent surfaces. If artifacts start appearing or objects have reduced transparency at certain angles or screen resolutions, increasing this value should address the issue, but will require more GPU resources. The default is 512MiB. Valid values are 10-10000 Mib.

FV_OLD_BROWSER_BEHAVIOR

By default, the locations of the last directory browsed for all file selectors are saved. This may cause confusion (particularly for LINUX users) since file browsers may not start in your current working directory. To override this default behavior, use this environment variable.

FV_PLUGINS

By default, FieldView expects plug-in readers to be located in the FV_HOME/bin/plugins directory. Use this to specify a different location for your reader source and libs for plug-in readers. Only applies to FieldView.

FV_PRE17_ARB_POLYS

When set to any value, reverts to the previous behavior for reading arbitrary polyhedron cells and prints a console warning the first time any data with arbitrary polyhedron cells is read.

FV_PROBE_PERFORMANCE

Setting this value to an integer number between 1 and 6 will increase the performance of all point probe operations at the cost of increased memory and longer read-in times. The internal default value for this setting depends on the amount of RAM on your system.

FV_PROBE_SAVE_MEM

Use this to lower the memory requirements needed to read data at the cost of decreased performance.

FV_SCREEN_GRAB

On some systems with reduced graphics functionality, this variable may be needed to properly save images of the graphics or plot window to a file.

FV_SELECT_FUNCTIONS_ONLY

This will limit results preprocessing of PLOT3D Q files to this select set of "critical" functions:

    "Density (Q1)"
    "Cp [PLOT3D]"
    "Temperature [PLOT3D]"
    "Velocity Magnitude [PLOT3D]"
    "Mach number [PLOT3D]"
    "x-momentum (Q2)"
    "y-momentum (Q3)"
    "z-momentum (Q4)"
    "Stag. energy (Q5)"
    "Velocity Vectors [PLOT3D]"
    "Momentum Vectors [PLOT3D]"

FV_SERVER_CONFIG_DIR

By default, FieldView looks for the server configuration files needed to run in Client-Server or Parallel mode in FV_HOME/sconfig. Use this environment variable to define the location of your server config files. This setting can be uniquely defined for each user. Only applies to FieldView.

FV_SHOCK_MIN_NODES

Use this to set the minimum number of nodes in a connected shock region. The default is 4.

FV_SHOCK_PRESSURE_CHANGE

The minimum pressure change in a connected shock region is defined as:

max(pressure) - min(pressure)

Use this environment variable, expressed as a fraction of the total pressure range for the entire dataset, i.e., (shock pressure range) / (dataset pressure range) to customize how shock surfaces are calculated. The default is 0.01.

FV_SHOW_WALLS

If you see streamlines arbitrarily stopping in a dataset, it may be possible that there are internal walls blocking them. By setting this variable, an additional boundary type will be generated which can be used to show all walls in a dataset which streamlines are not allowed to pass through. See FV_IGNORE_WALLS to calculate streamlines, ignoring any walls which are marked by the solver to block streamlines.

FV_SINGLE_FILE_STREAKLINES

By default, FieldView uses the PARTICLE SET format to export one particle path per timestep when saving a transient sweep. Set this environment variable to any value to disable this default behavior and use the STREAKLINE format to export particle paths to a single file.

FV_SSLINES_EXPORT

By default, surface streamlines are sampled at each point to acquire the current scalar, velocity, threshold and iso-surface register values. To reduce the time required to calculate surface streamlines, this sampling step can be disabled by setting this environment variable. When this environment variable is set, the current scalar, velocity, threshold and iso-surface values will not be written to the exported file.

FV_ST_STREAMLINES

Forces OFF multithreading for Streamlines

FV_ST_FORMULA

Forces OFF multithreading for Formula Calculation

FV_ST_VCORE

Forces OFF multithreading for VortexCore and SurfaceFlow

FV_TET_CONV

When set, FieldView will tetrahedralize arbitrary polyhdedra using a quick scheme, over-riding the default behavior to handle these elements natively. Use FV_ARB_POLY to apply a more robust scheme for tetrahedralization.

FV_USE_FV16_FONT

The GUI will use the user’s default system font, including point size, as of FieldView 17. To revert to the previous behavior, set this environment variable.

FV_USE_LONGEST_PATH

The length of streamline filaments are based on the average duration of all streamlines in a rake. Use this to override the filament length calculation by using the longest duration streamline in a given rake.

FV_USER_HELP_ENTRY

If FV_USER_HELP_URL is set, replaces the custom Help menu entry with this variable’s value.

FV_USER_HELP_URL

Use to access a custom web page from the FieldView Help menu. The variable’s value needs to be the URL as a text string. Only the first 33 characters of this URL will be displayed in the menu entry.

FV_VOLUME_PROBE

Use this to override the default surface-based probe and return probe results based on volume interpolation at surfaces.

Reader specific environment variables (e.g., FV_ACUSOLVE_GRAD) are documented in the Data Files section of the Reference Manual.

Possible Problems

Why do I get a "command not found" when I try to start FieldView?

Getting a "command not found" error indicates that the directory containing the FieldView executable (FV_HOME/bin) is not in your command search path. To correct this, either this path should be put in your search path (as described in the Installation Guide) or you will need to type the full pathname to start up FieldView. For example, if FieldView is loaded in the directory /usr1, you will need to type the following to start up FieldView: /usr1/fv/bin/fv.

Why do I get the message "fvbin not found" when I try to start FieldView?

When FieldView is installed, the shell script fv (located in the FV_HOME/bin subdirectory) is created with an environment variable: FV_HOME. There are a number of other files which use the explicit value of FV_HOME (the installation path), including python files, so the FieldView installation should never be moved. Instead, reinstall FieldView.

Why will the FieldView process not quit when I type Ctrl+C?

The FieldView process will not terminate if it was ever placed in the background during the current session.

Balance Between Memory Usage and Performance

When FieldView reads data, it performs grid processing after reading the grid. Grid processing increases FieldView's speed in such operations as creating and sweeping Coordinate Surfaces, computing accurate streamlines, and Dataset Sampling. The costs of grid processing are read time and memory.

Below is a list of operations for which performance will be impacted by grid processing:

  1. Point probe

  2. Dataset Sampling

  3. Calculating (and changing scalars/vectors) for streamline & streaklines

  4. Setting uniform vectors on Coordinate surfaces

  5. Uniformly sampled 2D line plots

  6. Changing scalars on imported particle paths

  7. Changing scalars on surface flows & vortex cores

  8. XDB export of streaklines or particle paths

  9. XDB export of surface flows & vortex cores

  10. Seed a surface for streamlines (IJK)

  11. FVX streamline seeding

Control over the balance between memory usage and probe performance is accomplished with the Grid Processing section of the Data Input panels.

DataInputPanel fvuns
Figure 3. FV-UNS Panel with GRID PROCESSING

Grid Processing setting guidelines:

  • If you don’t know what setting to use, try "Balanced" (the default value)

  • If your data takes a long time to read or if you’re going to read many time steps, try "Less"

  • If some operations are too slow (see the list of operations impacted by grid processing), try "More"

  • The recommended Grid Processing option for performing Surface Sampling is "Less"

Alternatively, the environment variables below are still supported:

FV_PROBE_PERFORMANCE
FV_PROBE_SAVE_MEM

The environment variable FV_PROBE_PERFORMANCE can be set to an integer value ranging from 1 to 6.

The correspondence between the Data Input panel settings and the environment variable is as follows:

  • Less uses 1

  • Balanced uses 3, unless FieldView finds that Grid Processing is taking too much memory compared to the unstructured grid size. In that case, a setting half way between 2 and 3 is used.

  • More uses a setting half way between 4 and 5.

FV_PROBE_SAVE_MEM is still supported for legacy reasons, but it is only recommended for systems with very little memory as it costs a lot in performance. Setting this will force GRID PROCESSING to "less", the equivalent of setting environment variable variable FV_PROBE_PERFORMANCE=1, and the Data Input panel will show: Grid Processing controls disabled because FV_PROBE_SAVE_MEM is set. while the terminal will now print:

FV_PROBE_SAVE_MEM is set. Forcing FV_PROBE_PERFORMANCE to 1.

Running Client-Server Mode

FieldView allows multi-process operation in addition to the "standard" (single process) method of using FieldView. Multi-process operation permits FieldView to split functions that are data- and compute-intensive from those that use graphics and provide control (interactive or script-based). The data- and compute-intensive functions are handled by a program called the "server" and the interactive/control operations are handled by the "client". Client-server operations use a separate process for the client and each of the servers. This method of operating allows the optimum use of computing resources that are distributed throughout your organization or the world.

FieldView's client-server architecture is unique in that there is a choice as to whether or not to operate in client-server mode or as a single process. In single process operation, the data is read directly into FieldView: this mode of operation is called "Direct". Direct mode is selected by default.

FVUsers Guide UG Starting Fieldview FOM 30
Figure 4. Direct versus Client-Server Mode

When client-server operation is desired, the user simply chooses a server. Each dataset that is read requires a server process. In most cases, FieldView will automatically start the server process on the specified machine and read-in the data. This is called "automatic server start". Other than choosing a server, there are virtually no differences in using FieldView in Direct or Client-server mode. When a dataset is replaced or FieldView is exited, the server is automatically shut down.

FVUsers Guide UG Starting Fieldview FOM 32
Figure 5. Client-Server Configurations
Configuration Operation Benefits

Any Client-Server Operation

"Remote" server on local (client) machine or remote machine

  1. Gain a separate address space for client and server, so that larger datasets can be read

  2. Separate address space for each appended dataset, so that many large datasets can be read

1. Client and server(s) on same machine

A simple Server Configuration file can be used to run a server locally on the client, or the Local Parallel option can be used. These will start servers automatically during data read.

See above.

2. Client and server on separate machines, access to a remote and a local dataset in one session

"Local" datasets are read from the client machine (or any file system visible to the client machine). "Remote" dataset is appended by first selecting the "Remote" server machine and then using the remote file browser to locate the file to be read.

  1. Remote server access does not require that the file system of the server machine be visible to the client.

  2. Data files do not need to be copied from a remote server to the local client.

  3. Large datasets consume memory on the server machine, not the client (desktop).

  4. Side by side comparison of data that is stored at different physical locations.

3. Two (or more) remote servers on server machine.

"Remote" datasets are read in either replace or append mode by first selecting the "Remote" server machine and then using the remote file browser to locate the file to be read.

A-F above.

4. Two server machines

Same as (3) above

A-F above.

  1. Each dataset gets its own CPU and memory, thereby increasing performance.

Server startup and control

FieldView is designed to make it as easy as possible to use client-server mode in day-to-day operations. Complete coverage of how to create a server config file is covered in Installing FieldView Servers (Optional) in the Installation Guide. There are a few key concepts to the architecture:

Server Configuration files

These are simple text files that contain information that FieldView needs to start a server, to set the working directory on the server and to provide explicit control over technical details such as "timeouts". At least one configuration file must exist for each server. Multiple configuration files can be used for each server to make it convenient to set the working directory and other parameters on a project-by-project basis. The configuration files are read when FieldView is started. See Installing FieldView Servers (Optional) of the Installation Guide for information on Server Configuration files.

Communication via "ports"

The client process communicates to the server process over a mechanism known as ports, which are supported on UNIX, LINUX and Windows. FieldView requires only one port per client process. It is important that the client and server are configured to communicate over the same port. Ports can be specified on the command line, or via environment variable. When the client and server are on physically separate machines, "sockets" are used to "transport" the data between client and server. When the client and server are on the same machine, a more efficient method is used for data transport ("local pipes").

Automatic Server Start

Once the server configuration files are set up, using Automatic server start is as simple as selecting a server (via a configuration file), selecting the data file type (PLOT3D, etc.) and then using a browser to pick the file to read. It is at this point that a server process is started on the server machine. Whenever the dataset is deleted (either by Replacing it with another dataset or exiting FieldView), the server is automatically stopped.

You can use automatic server start when the account that you are logged into is also valid on the server machine. FieldView uses a remote shell command (rsh, remsh, ssh, etc.) to log into the server machine and start the FieldView server.

Manual Server Start

If FieldView is run by default, it will automatically look at the .srv files in the sconfig directory for information about the server. If you instead need to start the server manually, you can use the Manual server option, shown as a Server Configuration option on the Data Input panel. When you choose this file, the Manual Start Command window will pop up listing the server directory, IP address, and port number. Before you hit OK, the server must be running. To start the server, log on the server machine from the client and start the server executable (such as using the fvsrv command). Once the server is running, you can hit OK and FieldView will allow you to read in your data.

One server per dataset

In order to provide maximum flexibility and control, FieldView uses one server process per dataset by default. One process is used, whether the dataset is transient or steady state. The option 'Server Append' can be set to have FieldView use the same server process for additional datasets, and this is required for Dataset Comparison features or Dataset Sampling. Note that there is no preset limit to the number of servers that can be used simultaneously.

Timeouts

A timeout is an error that occurs when the client (or server) is waiting for an event to take place, and it does not occur within the allotted time. The length of the various timeouts can be set in the server configuration file. The ReadWriteTimeOut default is 0

Port Use

FieldView will attempt to acquire a port during startup for use in communication with FV servers. This is always done, whether or not you intend to run client-server. By default, it attempts to acquire port number 12345. If it cannot acquire this port, FV will shut down. This can happen when another program is already using this port number, such as another copy of FV running on the same machine or occasionally if FieldView is killed rather than exited cleanly. If FieldView does not exit cleanly, the port is often tied up for 2-4 minutes.The following is a typical symptom of port unavailability:

[Client]: The specified address is already in use.

To avoid port conflicts, you can request a different port number by using the -port switch on the FV command line. You should keep in mind that ports with numbers below 1000 are reserved. And, the policy for port use is sometimes part of a security protocol. You should consult with your system administrator if you have questions about port usage at your site. Here are examples showing how to specify a single port, or a preferred range of ports where FV will use the first open port in that range:

fv -port 21000
fv -port 21000:22000

If you will not be using client/server, or the "Local Parallel" options, you can tell FV not to request any port as follows:

fv -port none

The port number can also be changed by setting the environment variable FV_DEFAULT_PORT. If both the environment variable and the -port switch are used, the -port switch will take precedence.

Data Reading via Client-server

By default, CFD data is read directly with the FieldView Client. The Data Input Panel also allows reading of data using separate server process(es), which can run locally or on a remote system. For instance, the option Local Parallel will run several server processes locally. A Server Configuration option is also provided for use of custom Server Configuration (.srv) files, if provided by the user. The manual option allows you to read your data by manually obtaining a remote shell (ssh, plink) to your server, and running FieldView's fvrunsrv (with its corresponding arguments. See Manual Server).

The data input pull down provides control over Direct and Client-server operation, as shown below.

FVUsers Guide UG Starting Fieldview FOM 34
Figure 6. Client-Server options on Data Input Panel

For more information on these Data Input options, please refer to the Reference Manual. Reading Data Interactively with FieldView Parallel in the Reference Manual

Manual Server

Since it is more difficult than automatic startup, Manual Server Startup is used for specific purposes:

  • Accessing servers for which you have not set up key pairs to establish passwordless authentication

  • Debugging user-defined readers

In manual server startup, you will log in to the server machine, and when prompted by FieldView, you will start the server process on the server machine. The server process will then communicate to the client via a port.

Manual server start uses a server configuration file which specifies that the server process is to be started manually. Manual start is selected by setting Autostart: false in the configuration file for the server machine that you are interested in.

The first step in using manual server start is to log in to the server machine from the client. This is is typically done with secure remote shell program ssh, or plink (Putty.). You begin reading data in the same way as with an automatic start, by selecting a server. When FieldView recognizes that the server is to be started manually, you will be prompted to start the manual server. At this point, you log into the server machine, start the server process, and respond "OK" to the server start pop-up. You can then select the data file type and use the browser to pick the file that is to be read. In order to make it as easy as possible to use manual server start, FieldView is designed to re-use a server that has been started manually whenever you Replace the dataset on that server.

The steps for running a Manual server start are:

  1. Start the FieldView Client on your Desktop, where for purposes of illustration your Desktop is ClientHostname.

  2. Log in to the server machine, and change to the directory where you have the FieldView Servers installed. (Note that FieldView Servers are installed along with the FieldView Client, but are also available as "server only" packages.)

  3. Use File → Data Input…​ and on the Data Input panel of your choice, select Server Configuration: manual. (Note that reading FVX scripts or restarts specifying a manual server will also trigger manual client-server operation.) Then PAUSE, when prompted with the Manual Server Command prompt, shown below.

    UG manual server
  4. Start the server by running the fvrunsrv program on the server machine, making a connection to your FieldView Client, eg. ClientHostname. For example:

    fvrunsrv ClientHostname

    The following will be printed in the terminal where you are running the server(s), along with information about plugins loading, and parallel servers starting, if requested:

    FieldView server Build Date: 01/08/21 Linux x86_64 FieldView server started on servername (192.168.n.n)

Note: Command line options are printed for fvrunsrv when run without arguments:

usage: ./fvrunsrv [-np N] [-hosts host1:N1,host2:N2,…​]
client_hostname [-port NN]

Note: Additional command line options appear in the fvrunsrv Wrapper Program section of the Installation Guide. For instance, you can use the -np 9 command line option to start parallel servers using 8 workers (and one controller server.)

  1. Respond OK to the prompt from FieldView that is requesting that you start the server.

  2. Then, the data read with your Data Input file selector will be read with that server.

Please note the following:

  • In secured environments, you may need to log in to the server using port-forwarding (eg. the ssh -R option.) This is the equivalent to using FieldView's Server Configuration (.srv) PortForwarding: true option, as explained in the section Simple Port Forwarding of the Installation Guide.

  • If you are using a non-default FieldView port (with Client option -port <port>, or the environment variable FV_DEFAULT_PORT),..the prompt will include -port <port> .

  • Restarts saved when running manual server will behave the same way when read. (You will need to set up the process manually and use the Manual Start Command dialog.)

FieldView Parallelization with Multithreading and MPI

The hybridized approach to parallelization in FieldView incorporates the use of both multithreading, and MPI driven Parallel Servers. FieldView will take advantage of multithreaded system architectures by default while providing optional controls for thread usage limitations in order that FieldView runs harmoniously with other applications. FieldView Parallel Servers can be used in conjunction with multithreading, with full controls to allow the best post-processing optimization for the target CFD case characteristics.

Multithreading

FieldView will take advantage of multithreaded system architectures. Multithreading is automatic, is the new default, and has been implemented for all modes - Direct, serial and parallel, local and remote client-server.

For Direct Mode or serial Client-Server, when FieldView uses a single process in the MPI sense, the following speed up ranges have been observed thanks to the multithread optimization in the computation of Streamlines as compared to earlier FieldView versions, and this is now supported for all cell types.

  • Up to 3x for 4 threads         

  • Up to 7x for 8 threads

  • Up to 13x for 24 threads

For hybrid parallelization, when both MPI parallel and multithreading have been used, the observed speed up is up to 3x compared to earlier FieldView versions using 8 MPI parallel processes each using 6 threads.

Compute of Vortex Cores, Surface Flows, Separation and Re-attachment Lines are now also multithreaded, showing the following performance improvements:

  • No-slip Surface Flow - up to 8 times faster!       

  • Euler or Offset Surface Flow - up to 15 times faster!

  • Vortex Cores - up to 1.8 times faster!

  • Separation Lines - up to 8 times faster!

For Formulas, FieldView uses a combination of parallelization based on grids within a dataset and nodes within a grid, depending on the operator. The more compute intensive the operator, the bigger the speed up in FieldView, thanks to multithreading. The following performance increases are expected:

  • Lambda2 - up to 14 times faster!     

  • Q-crit - up to 9 times faster!

  • Grad - up to 6.2 times faster!

  • Less CPU intensive operators (Curl, Div, etc.) - up to 9 times faster!

FieldView will use all logical threads by default. Note: for processors on which hyper-threading is enabled, the number of logical threads will be twice the number of physical threads.

We have provided an environment variable FV_NUM_THREADS to supplement the more general OpenMP environment variable OMP_NUM_THREADS. FieldView will be limited by the lesser of these two settings in the number of threads which will be used. These are useful when you have other processes running on your system (a CFD solver, a pre-processor) and you want to avoid having FieldView compete with them.

Note: Environments variables FV_ST_STREAMLINES, FV_ST_FORMULA, and FV_ST_VCORE have also been provided to turn off multithreading for the corresponding features.

Running FieldView with MPI Parallel Servers

Using Parallel Servers in FieldView is as simple as using the Client-Server feature. If you have some familiarity with how Client-Server works, then setting up and running FieldView Parallel should be straightforward extension. In addition, FieldView can run local Parallel depending on whether you have multiple cores and/or a FieldView parallel license. Reading data using local FieldView Parallel has been described in detail in the section called Parallel Datasets in the Reference Manual.

Similar to the Client-Server feature, you will need to install SERVER programs on to the controller nodes of the system(s) where you wish to run FieldView Parallel. (Note that the FieldView Servers are installed along with the Client, or with smaller Server Only installation packages.) We support both shared memory and cluster configurations.

Again, similar to running Client-Server, you will need to configure files which will permit you to run in the FieldView Parallel Server programs. A simple example of a FieldView Parallel Server Configuration (.srv) file to run the shared memory mpi version of FieldView Parallel on a shared memory system is given below:

AutoStart: true
ServerType: shmem
ServerName: my_shmem_system
NumProcs: 9
StartDirectory: /usr2/data/test_PAR ServerDirectory: /path_to_fv_installation/fv

This example sets the AutoStart parameter to launch the FieldView Parallel server program(s) automatically. As with Client-Server, you can also configure this to run manually. If you do, you will need to execute the fvrunsrv command manually.

Note that FieldView also supports the usage of Job Schedulers (eg. PBS) on HPC systems when adding the field Scheduler: to your Server Configuration (.srv) file. For more on this subject, please refer to the Installing and Using myFVMPI section of the Installation Guide.

A total of nine (9) processes has been chosen. This has been set with the command line argument '-np 9' for the fvrunsrv command. This means that there will be one controller process (which acts solely as a dispatcher) and eight (8) worker processes (which read data) started on this shared memory system named my_shmem_system. The fvrunsrv command also starts the FieldView Parallel server program, fvsrv_par.

A start directory, /usr2/data/test_PAR, is set so that when the file browser to read data comes up, it will be started at this location.

A simple example of a FieldView Parallel Server Configuration (.srv) file to run FieldView Parallel using a system such as a LINUX cluster might look like:

AutoStart: true
ServerType: cluster
ServerName: my_cluster_system
NumProcs: 5
StartDirectory: /usr2/data/test_PAR
MachineFile: /path/to/machines.txt ServerDirectory: /path_to_fv_installation/fv

In this case, again the AutoStart option has been chosen.

For a parallel cluster, we will need to have the MPI and FieldView Parallel Server programs installed on the controller node of the system, in this case called my_cluster_system. The installation location for this set of files can be anywhere you choose. When this FieldView Parallel Server is selected, a total of five (5) processes will be run. Again, one of these will be a controller process, and the remaining four (4) will be used to read and process the dataset.

For the cluster option, MPI will use the default "machine" file openmpi-default-hostfile, found within the MPI installation with FieldView. If you do not want to let MPI use defaults and would rather specify which nodes of your cluster will be used as FieldView "worker" servers, you can:

For Server Configuration (.srv) files, use the MachineFile: field in a Server Configuration (.srv) fileto specify a custom machine file in the Server Configuration (.srv) file.

Note: For Manual client-server, specify your parallel "worker" nodes using the -machinefile or -hosts argument to the command fvrunsrv.

Note also that all nodes of a cluster must be able to resolve the path used for the field ServerDirectory: in the Server Configuration file (.srv) in order to find the program fvsrv_par. Please see Testing & Configuring FieldView Servers of the Installation Guide for additional details if needed.

To read data, go to the Data Input pulldown menu and use Server Configuration to select your Server Configuration (.srv) file.

FVUsers Guide UG Starting Fieldview FOM 38
Figure 7. Server Selection from the Data Input Menu

If both examples for the server configuration files are placed in the /fv/sconfig directory, then when the Choose Server option is selected from the Data Input menu, both the cluster and shared memory based FieldView Parallel options to read data will be present (as illustrated above).

After this point, we can now read the data via a browser which starts on the Controller server system.

Q. How can I tell if my dataset has multiple grids?

If you want to quickly determine whether a dataset has multiple grids there are a few simple observations that can be made by attempting to read the data in the Direct Mode of operation (not Parallel or Client-Server). First, if a PLOT3D file has multiple grids specified, and the read is successful, then you can determine how many grids are available by reviewing the Grid Subset Selection Panel.

FVUsers Guide UG Starting Fieldview FOM 40
Figure 8. Grid Subset Selection and Outline

Also, once the dataset has been read in successfully, you can see the outline of each of the individual grids in the graphics window. For the case of unstructured data, the number of grids for a given dataset, as well as the number of nodes and elements for each grid will be listed in the console window. There will be one line in the console window corresponding to each grid. A typical console window output might contain the following lines:

Unstructured grid 1 has 81830 nodes and 12614 elements.
Unstructured grid 2 has 68350 nodes and 12191 elements.
Unstructured grid 3 has 61992 nodes and 12449 elements.
Unstructured grid 4 has 55450 nodes and 11502 elements.
Unstructured grid 5 has 79576 nodes and 12545 elements.
Unstructured grid 6 has 81502 nodes and 11656 elements.
Unstructured grid 7 has 82392 nodes and 12786 elements.
Unstructured grid 8 has 74937 nodes and 12813 elements.
Unstructured grid 9 has 51221 nodes and 9562 elements.
Unstructured grid 10 has 54713 nodes and 9574 elements.
Unstructured grid 11 has 49797 nodes and 9172 elements.
Unstructured grid 12 has 45543 nodes and 8938 elements.
Unstructured grid 13 has 48358 nodes and 9769 elements.
Unstructured grid 14 has 48633 nodes and 9696 elements.
Unstructured grid 15 has 52293 nodes and 9633 elements.
Unstructured grid 16 has 43283 nodes and 8838 elements.

Q. Can FieldView create a multigrid dataset from a single grid dataset, or repartition existing grids?

Yes, FieldView's Auto Partitioner can create a multigrid dataset or repartition existing multi-grid PLOT3D or OVERFLOW-2 input data. For more details, see the Auto Partitioner section of this manual.

Q. Can FieldView create partitioned files from a multigrid dataset?

At the present time, there is no feature in FieldView, or standalone utility capable of creating partitioned files from a multigrid dataset.

FieldView Parallel Performance Results

The degree to which certain operations in FieldView Parallel will scale depends upon several factors pertaining to the dataset, and may also depend upon hardware issues as well. As such, it is difficult to make generally applicable statements concerning the performance of FieldView Parallel. Some testing results are included here. FieldView Parallel testing was carried out on a set of test cases run using FLUENT 6.3.26 and Acusim 1.7e. Boundary results were present in the FLUENT FV-UNS exports. Details for four benchmark cases, all containing 38 grids, and made up entirely of either tetrahedral cells or arbitrary polyhedral cells, are summarized in the table below:

Table 1. Summary of FieldView Parallel Test cases
Tet Benchmark (small) Tet Benchmark (large) Arb Poly Benchmark (small) Arb Poly Benchmark (large)

File Size [bytes]

420,111,352

811,480,068

1,847,041,196

3,555,019,756

Nodes

2,883,166

5,526,084

16,831,972

32,389,866

Elements

15,540,893

30,374,480

2,932,112

5,589,608

Timing tests were performed using an HP xw8600 system with 4 dual core CPU (Intel X5460, 3.166GHz). The system was configured with 32GB of RAM. Elapsed timings were obtained running Parallel Shared Memory (shmem). Averaged results on scale-up factors recorded for each of the benchmarks are presented below.

FVUsers Guide UG Starting Fieldview image44
Figure 9. FieldView Parallel Scale-Up for Tetrahedral Data
FVUsers Guide UG Starting Fieldview image46
Figure 10. FieldView Parallel Scale-Up for Polyhedral Data

Benchmark timings were obtained for the tasks of reading data, creating coordinate and iso-surfaces and sweeping these same surfaces. Overall time savings are reported as a percentage relative to the time required to complete these tasks using FieldView in Client-Server mode. Using the just three worker processes (for np values to the left of the dotted line) we expect to see scaling improvement of 2x or better.

Benchmark timings were also carried out on a partitioned FV Unstructured dataset composed of 53 grid and results files with a total of 153 million nodes. The test system was an HP 740C with 8 blades or compute nodes. Each compute node was configured with an Intel XEON 4 core (Intel X5260, 3.33GHz, dual core, dual processor), a local file system and 16GB RAM. Local file systems were connected with a GigE network switch.

FVUsers Guide UG Starting Fieldview image48
Figure 11. FieldView Parallel Scale-Up for Reading Data

Timing tests were obtained as follows. For the case of one compute node, all 53 partitions were read from the local file system on that node. For two compute nodes, the 53 partitions were spread across the file systems for two nodes, and the dataset was read again. By utilizing all 8 compute nodes, a 7X reduction in the time required to read data was achieved.

Obtaining Timing of Various Postprocessing Operations

Owing to the complexity and diversity of datasets, networks and file systems, it is often difficult to identify where problems may be occurring during postprocessing operations. To understand how effectively FieldView (Parallel or Direct) may be running for a given dataset in a given environment, we provide a Script Command TIMING ON/OFF (which can be nested) to report CPU and Elapsed timings for any (scripted) operation. Below, two examples are shown for standard '.scr' script (Restart Files and Script Language, Reference Manual), then FVX '.fvx' script (FieldView Extension Language (FVX), Reference Manual.) The second example is suitable for Python '.py' scripts:

    timing on
    restart data data_restart_file.dat
    timing off Comment

    fv_script("timing on")
    fv_script("restart data data_restart_file.dat")
    fv_script("timing off Comment")

The above examples show how you can add Comment to give your output context. The following output example shows how this will be used, and how the timing reports will look:

    [Client]: Comment: CPU time = 0.05 + 0.00 = 0.05 Elapsed time = 0.35
        Page faults = 0 per elapsed sec = 0.00 Swapouts = 0
        Context switches: voluntary = 21 involuntary = 0

Note that timings are taken at the FieldView Client, thus CPU time may be very small as compared to Elapsed when operations are performed on a remote FieldView Server. Interpretation of the timing information that FieldView produces will be involved since the performance of FieldView will be dependent not only on the hardware environment but also on the type of datasets being examined and the tests actually being performed. If you encounter what you believe are performance problems with FieldView, we recommend that you send your complete timing output and testing methodology to us so that we can analyze the results for you. You can direct all output to a file with most unix shells using the following command line syntax:

fv -s my_script.scr 2>&1 | tee my.log

Auto Partitioner

FieldView is capable of automatically partitioning your structured datasets imported using the PLOT3D and OVERFLOW readers. This will enable MPI parallel speedups even if your data is single grid or has poorly balanced node counts across grids.

This new and unique feature is available to all customers with licenses for FieldView Parallel 32 and above. If your license does not allow the Auto Partitioner to be enabled and you would like to try it with your specific datasets and hardware environment, please contact sales@tecplot.com.

When a parallel compatible read option has been selected, with either local or remote parallel servers, the Auto Partition option will be enabled on the PLOT3D and OVERFLOW reader panels.

DataInputPanel plot3d partioner enabled butOFF
Figure 12. Partitioner enabled but set to OFF.

When Auto Partitioner is set to ON, FieldView will automatically compute an optimal partition for your dataset based on the number of FieldView MPI workers and the number of nodes per grid. The updated grid list will be immediately visible from the Grid Subset Selection panel.

autopart cavity subset and partitioned 20 core
Figure 13. Here, we see a case with its original grid list at left, and at right, the new grid list obtained by the Auto Partitioner.

A report of the partitioning operation will also be printed to the console window, showing which grids have been split and which new grids have been produced.

The auto partitioner created 19 new grids
Grid 1 is now grid 1, 2, 3
Grid 2 is now grid 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21

If Auto Partition is ON but no further partitioning is needed (grids are already sufficiently well balanced for the number of FieldView MPI workers), the Auto Partition step will be skipped.

Auto Partition adds very little time and memory overhead while significantly improving the time needed to read the dataset and to create most post-processing objects, thanks to improved parallelism.

However, users should be aware of two drawbacks:

  • Grids that get split by the Auto Partitioner appear to FieldView as new grids. It means that any operation relying on IJK or grid numbers will be impacted by this feature. For instance, if a Computational Surface Restart has been saved with Auto Partitioner OFF and is then loaded back after a dataset read with Auto Partitioner ON, it may lead to the generation of different surfaces. Features that don’t specifically rely on IJK and grid numbers (a majority of features) will not be affected.

  • New partitions between grids which did not exist in the CFD solver will be created. This will cause discontinuities in User Defined Variables computed by FieldView that include spatial derivatives. These discontinuities could be visible when using scalar coloring on surfaces or when plotting Iso Surfaces (see below).

To help with the latter, users will have the option to introduce one or two layers of ghost cells between newly formed partitions. This setting will be applied at read time.

FVUsers Guide UG Starting Fieldview FOM 54
Figure 14. Auto Partitioner Ghost Cells specified.
FVUsers Guide UG Starting Fieldview FOM 56
Figure 15. An Iso Surface visualized after partitioning, with image at left showing use of no Ghost Cells, and 2 Ghost Cells at right. See how the gap artifically created by the Auto Partitioner got closed.

Because these layers of ghost cells will be added on both sides of the partition, this setting will actually create cell and face duplicates in the mesh, which could affect quantitative results computed by FieldView. For this reason, surface integration will be disabled when ghost cells are used (as shown by the warning message in Figure 14).

Structured Boundary Files (.fvbnd) are fully supported with Auto Partition, with or without ghost cells.

Auto Partition settings will be saved in the Data Restart (.dat) file. When a dataset is imported back into FieldView with such a Restart, FieldView will automatically adjust the partitioning to the number of MPI workers. This ensures the best performance even when a Restart was saved on a system and then used on another system.

The Data Input table fields auto_partition and ghost_cells for PLOT3D and OVERFLOW2 provide control of Auto Partitioning in FVX scripting. Please refer to the FieldView Extension Language section of the Reference Manual.

Other limitations to the Auto Partitioner:
  • Only 3D PLOT3D and OVERFLOW data in the Binary, Unformatted and DP Unformatted formats are supported. 2D and Formatted formats are not supported.

  • Grids and Results must be read using the same format.

  • Face Data and Function files (.fvsrf) are not supported.

  • Grids described by brick files will be left untouched by the Auto Partitioner.

FieldView Tutorial Introduction

The following sections are designed to give both the new as well as the experienced FieldView user a detailed look at some of the abilities of the product. You will be guided through a given dataset and shown the steps necessary to create the image(s) shown on each page of the tutorial. Each tutorial covers a different application or industry. We have tried to create visualizations and perform calculations that might be useful for an individual in that discipline. It is not expected nor required that you work through all of the tutorials to learn FieldView. More experienced FieldView users may wish to browse through the tutorial sections and the accompanying images to learn new visualization techniques.

Prerequisites

The tutorials have been written with the assumptions that you have become familiar with the Fieldview Interface and Basic Operations. In general, it will be helpful to understand the following basics:

  1. How to find the data readers in the File pull-down on the Main Menu and bring up the desired reader panel for data input.

  2. How to find the visualization panels either from the Side Toolbar or the Visualization Panel pull-downs on the Main Menu to create and modify surfaces and rakes in FieldView.

  3. How to change Scalar, Vector and Threshold functions for surfaces and rakes directly on their respective visualization panels, and/or bring up the Function Specification panel to "load-up" different functions in the function registers (Iso-surface, Scalar, Vector, and Threshold).

  4. How to change the Geom (geometry) color and colormaps used to color surfaces on the Scalar Colormap Specification panel.

  5. How to move the data around the graphics window using mouse actions to translate, rotate and zoom in to the data.

Tutorial Data

The tutorial data is not installed by default with the FieldView software. It can be downloaded from tecplot.com/products/fieldview/tutorials. All of the files required for each tutorial are in independent download packages. The tutorial directories and their approximate sizes (disk space required) are listed alphabetically in the table below. All of the tutorials contain FVX scripts (see the section on these scripts below).

Tutorial Name
Space Needed (Mb)
Notes

/aerospace

8

Introductory PLOT3D case for external aerodynamics, keyframe example described, FVX example uses this case for lift, drag, moment.

97.2

Introductory FLOW-3D® case for open channel flow, highlighting transient data handling

/automotive

2

Basic flow in a valve, simple case

/turbomachinery

14.1

Flow in a single blade passage, highlighting periodic streamlines, and numerical integration of mass flow

/combustion

11.3

Simple combustion case, highlighting streamline calculations, and flame envelope using iso-surfaces.

/vortexshedding

52.6

Transient flow around a cylinder, with description of streakline calculation. FVX time history and keyframe illustration accompanies example.

/polymer_processing

5.7

Flow of a non-newtonian fluid in a Kenics mixer, highlighting extensive use of Function Calculator. FVX blade shear histogram and keyframe illustration accompanies example

/biomedical

4.3

Internal flow in a complex manifold device, illustration of how to calculate a species mass balance, how to perform dataset mirroring.

/chemical_processing

8.3

Flow in a mixing tank with multiple impellers, visualization of flow patterns.

24

Transient flow in a diesel piston based on a standard KIVA tutorial case, plotting fuel concentration vs crank angle

/feature_extraction

5

Complex internal/external flow around and inside a droplet. Feature extraction tools are highlighted in this tutorial. A Keyframe illustration accompanies this example.

/heat_exchanger

5

Flow inside a heat exchanger for two different process configurations. Handling of multiple datasets, with numerical dataset comparison is highlighted here.

Streamline Seeding Tools

NA

This tutorial uses the above datasets to illustrate the use of the FVX utilities for seeding streamline rakes using spherical, cylindrical or rectangular patterns.

/working_with_xdbs

41.3

How to create and import an XDB dataset. Use of XDB datasets for Dataset Comparison.

Some of the data files used in the tutorials have been renamed and no longer carry usual extensions. This is to avoid filenames with more than one period "." in them (due to legacy considerations and DVD writing limitations). For example, the CFX-4 data used in the Chemical Processing tutorial no longer has the .dmp extension. When reading in some files, the data file may not initially show up in the file browser due to the use of file filters. The CFX-4 file browser assumes files end with the .dmp extension and its file filter reflects this. To see the data file, change the file filter to "*" instead of ".dmp".

There is additional sample data that is part of the default FieldView installation. This data can be found in the /examples directory in the FieldView installation area. There is also a demo using the F18 dataset used in the Basic Aerospace which can be found in the /demo directory.

Working Through FieldView Tutorials

It is assumed that you have read the sections mentioned in the Prerequisites section above before you run the tutorials. The tutorials have been written as explicitly as possible without making them excessively long. If a step requires actions that have been performed in previous steps, the instructions may be less explicit than in the first instance.

Each of the Tutorials features a 'What you will learn' section to start off the sections. The majority of the tutorial steps have been designed so that the instructions, panels and images appear on a single, self-contained page. The tutorials are designed so that the image that appears in the graphics window should be the end result of following all of the instructions on the page as well as having performed those steps on previous pages (if not at the beginning of a tutorial). That is, the image at the top of each page of each tutorial (for the most part), is the end result of the set of instructions on that page. Also, transformations (rotations, translations, zoomings) are not explicitly shown as panel actions. Instructions are given so that you can obtain a view similar to that shown in the image. Matching the view exactly is neither important nor necessary.

Tutorials are documented with white backgrounds and black text. However, the default background color in FieldView is black. We recommend that you change your background color to white as soon as you start on a Tutorial. To change your background bring up the Background Color panel from the View pulldown menu.

We strongly recommend that you save a Complete Restart after each page of a given tutorial so that they can easily re-create the image at a later date. A complete restart is a set of files containing information about the current state of FieldView. It saves information about the data file read in and any surfaces/rakes that have been created as well as their attributes. Restarts can be created at any time, of course, but one complete restart for each step will assure its availability later. For information about how to save a Complete Restart and other types of restarts, please refer to Restart Files and Script Language in the Reference Manual.

Due to a desire to limit repetitiveness, not all functions and actions are represented by panel images. That is, if a tutorial step has the user create 4 coordinate surfaces, the end result Coordinate Surface panel may be shown (showing 4 surfaces), rather than 4 views of the same panel with successive surfaces being created.

The tutorials were each designed to be run right after initially starting FieldView. If other data has been loaded into FieldView and visualizations performed, or if other tutorials have been worked before starting a given tutorial (without restarting FieldView), then panels may exist in states different than that described in the instructions. If you are just starting with FieldView, we recommend restarting the program for each tutorial to avoid confusion.

The following sections may be helpful in guiding you to specific postprocessing tasks which are covered in each tutorial.