Copyright © 1988-2025 Tecplot, Inc. All rights reserved worldwide. See the complete legal notice in the copyright section of this document.
- Starting FieldView
- FieldView Tutorial Introduction
- Prerequisites
- Tutorial Data
- Working Through FieldView Tutorials
- Working with Aerospace Data
- Working with Free Surface Flows
- Working with Automotive Models
- Working with Turbomachinery Data
- Working with Transient Data
- Working with Polymer Processing Data
- Working with Biomedical Device Data
- Working with Mixing Models
- Working with Feature Extraction Techniques
- Working with Heat Exchanger Models
- Quick Pick
- Quick Pick to Reduce Streamline Clutter
- Restart Files
- FVX Tutorial Scripts
- Basic Aerospace Tutorial
- What You Will Learn
- Step 1: Read the PLOT3D Tutorial Data
- Step 2: Create Boundary Surfaces
- Step 3: Display Velocity Vectors
- Step 4: Display the Pressure Coefficient
- Step 5: Visualize the Vortex Core
- Step 6: Create Streamlines
- Step 7: Display the Mach Number
- Step 8: Create a Scalar Function
- Step 9: Create 2D Plots
- Step 10: Create a Keyframe Animation
- Free Surface Flow Tutorial
- Basic Automotive Tutorial
- Basic Combustion Tutorial
- What You Will Learn
- Step 1: Create Wall Boundary Files
- Step 2: Create the Burner Inlet and Tube Coil Walls
- Step 3: Create Filled Contours on a Scalar Surface
- Step 4: Visualize the Flame Envelope
- Step 5: Visualize the Combustion Process
- Step 6: Use Streamlines to Visualize the Flow Pattern
- Step 7: Visualize the Gas Temperature
- Basic Turbomachinery Tutorial
- Vortex Shedding Tutorial
- Polymer Processing Tutorial
- What You Will Learn
- Step 1: Create Boundary Surfaces
- Step 2: Visualize Back Flow
- Step 3: View Axial Velocities
- Step 4: Change the Scalar Display of the Cross Sections
- Step 5: Integrate Concentration Variance of Each Cross Section
- Step 6: Create a Keyframe Animation
- Equations for Static Mixer
- FieldView Equations
- Biomedical Tutorial
- Chemical Processing Tutorial
- Automotive Diesel Combustion Tutorial
- Feature Extraction Tutorial
- Heat Exchanger Tutorial
- Streamline Seeding Tools
- Working with XDBs Tutorial
- Copyright
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.
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.
FieldView runs well with Remote Graphics Software applications such as DCV, VNC, or Windows Remote Desktop, as illustrated in the figure below.
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 or 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 Type: Float — Default: |
FV_DEPTH_OFFSET |
Shifts the depth of filled geometry by a fixed amount to help separate overlapping surfaces. Type: Float — Default: |
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:
|
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
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.
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.
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:
-
Point probe
-
Dataset Sampling
-
Calculating (and changing scalars/vectors) for streamline & streaklines
-
Setting uniform vectors on Coordinate surfaces
-
Uniformly sampled 2D line plots
-
Changing scalars on imported particle paths
-
Changing scalars on surface flows & vortex cores
-
XDB export of streaklines or particle paths
-
XDB export of surface flows & vortex cores
-
Seed a surface for streamlines (IJK)
-
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.
|
Grid Processing setting guidelines:
|
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.
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.
| Configuration | Operation | Benefits |
|---|---|---|
Any Client-Server Operation |
"Remote" server on local (client) machine or remote machine |
|
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. |
|
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.
|
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.
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:
-
Start the FieldView Client on your Desktop, where for purposes of illustration your Desktop is ClientHostname.
-
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.)
-
Use 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.
-
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.)
-
Respond OK to the prompt from FieldView that is requesting that you start the server.
-
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 pulldown menu and use Server Configuration to select your Server Configuration (.srv) file.
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 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.
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. |
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.
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.
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:
| 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.
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.
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.
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.
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.
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:
-
How to find the data readers in the pull-down on the Main Menu and bring up the desired reader panel for data input.
-
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.
-
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).
-
How to change the Geom (geometry) color and colormaps used to color surfaces on the Scalar Colormap Specification panel.
-
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. |
/casting |
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. |
/autodiesel |
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.
Working with Aerospace Data
How to create and use functions for displaying properties |
||
Creating an Iso-Surface to display the pressure distribution |
Working with Free Surface Flows
How to visualize a transient dataset How to create an IJK surface with the Computational Surface Panel |
||
How to create a transient flipbook animation |
How to automatically open a panel by “Quick-Picking” its surface |
Working with Automotive Models
Basic Automotive
How to create a 2D plot of shear rate and density on a valve |
|