MeshTal Viewer user manual

General overview

MeshTal Viewer is a Java based software which can read mesh tallies output formats of several neutron transport codes and display them graphically.

Supported formats:

User interface

MeshTal Viewer MainWindow numbers 1010x761 

  1. Files opening controls
  2. Mesh tallies selection
  3. Scatter data points
  4. View controls
  5. Color scale controls
  6. Views tabs
  7. Display area
  8. View sliders and colorscale

The bottom right blue bar shows the memory currently used by MeshTal Viewer and the maximum memory that can be used by the Java Virtual Machine (JVM), "628M of 2731M" means that MeshTal Viewer is currently using 628MiB and that the JVM won't used more than 2731MiB. A click on this bar triggers a garbage collection in order to have a more meaningfull view of the amount of memory really needed by the program.

Files opening controls

"A" and "B" are two slots to load one or two mesh tallies files, if you want to display a single file you can use either of these.

Click the "..." button to browse and select your file.

Zipped files (ZIP with a single file or GZip) can be opened without uncompressing them first.

Note that you can load the same file in both slots in order to display combinations

Mesh tallies selection

Once a file has been loaded the "Display" area will list the available tallies and allow selecting the one that will be displayed.

The buttons "XForm A coord."/"XForm B coord." allows applying affine transforms to tallies coordinates (X/Y/Z, energies) and/or values. This feature could be used for example when comparing the mesh results between two models which were calculated with different origins.

Affine transforms of tallies coordinates and/or values



  • enter "a" and "b" affine transform coefficients in the top left controls and validate your inputs with Enter
  • or enter "X'" values in the bottom left "Helper" controls and press "Compute a and b" button

the right side table will show the transformation that will be applied.

Scatter data points

Allows loading scatter values that will be displayed over the tallies data as colored dots.

View controls

  • "PoV" dropdown: allow selecting the slice direction of the "2D Slice" and "2D Surf." views, have no effect on the "3D View" and "3D Iso-surface" views
  • "Zoom" slider: only effective for the "2D slice" view, the "Fit" button reset the zoom level to make the whole slice fit the screen.
  • "Show Rel.Err." checkbox: when selected the views will display the relative error component of the tallies instead of the value component, note that the "3D Iso-surface" view cannot display relative errors
  • "Show grid" checkbox: when selected the mesh grid will be visible (only effective in the "2D Slice" and "2D Surf." views)
  • "Plot horiz. axis" dropdown: allow selecting the horizontal axis of the "2D Slice" view bottom plot
  • "3D render" dropdown: allow selecting the type of display for the "2D Surf." view
  • "3D transparency" dropdown: allow rendering the surface with transparency (only effective in the "2D Surf." view)

Depending on the current view only some of these controls are available

Color scale controls

  • the dropdown allow selecting the color scale:
    ColorScale RAINBOW 
    ColorScale PLUS MINUS 
    ColorScale RED BLUE 
    ColorScale BLACK WHITE 
    ColorScale WHITE BLACK 

    PLUS_MINUS and RED_BLUE are centered around 0.0

  • "Custom bounds" checkbox: allow fixing color scale min and max values
  • "Per slice color scale" checkbox: if checked the min and max values will be the one of the displayed slice and not the one of the mesh
  • "Log color scale" checkbox: if checked a logarithmic scale will be used (no effect with "PLUS_MINUS" and "RED_BLUE" scales which are centered on 0.0)


4 views are available:

  • 2D Slice: a 2D slice of the mesh tally displayed as colormap on top and a 1D plot at bottom, select the cut direction of the slice with the "PoV" (Point of View) dropdown and the cut offset with the rigth side slider.
  • 2D Surf.: a 2D slice of the mesh tally displayed as a surface in 3D (Z axis=value)
  • 3D View: a 3D volumetric view of the mesh tally with the possibility to cut a corner to see the internal structure
  • 3D Iso-surface: an isosurface display of the mesh tally built with the marching cubes algorithm

Display area

This is the main display area.

The current view can be saved as a PNG file by righ clicking in the view and selecting "Save as..."

To navigate in the 3D views:

  • Rotate: Mouse left button + move
  • Translate: Mouse right button + move
  • Zoom: Mouse wheel

"3D render" choices in the "2D Surf." view:

3DRenderSurface 958x338
3DRenderLegoPlot 958x338
3DRenderFlyingSurface 958x338


View sliders and colorscale

From left to right:

  • view specific slider(s):
    • for "2D Slice" and "2D Surf." views: the slider for selecting the slide offset
    • for "3D View" views: the controls to set the cutaway part
    • for "3D Iso-surface" views: the slider of the threshold value of the marching cubes algorithm
  • energy slider
  • color scale display





Only Cartesian mesh geometry is supported: keyword GEOM=xyz or GEOM=rec.

All output formats (keyword OUT) are supported: colum formats col and cf, series of 2D matrices formats ijik or jk.

Example MCNP FMESH input cards

c Flux Tally
FMESH4:N GEOM=xyz ORIGIN=-90 -90 0
  IMESH=90 IINTS=180
  JMESH=90 JINTS=180
  KMESH=200 KINTS=10
  EMESH=0.625e-6 0.100 20
c Capture Tally
FMESH14:N GEOM=xyz ORIGIN=-90 -90 0
  IMESH=90 IINTS=180
  JMESH=90 JINTS=180
  KMESH=200 KINTS=10
  EMESH=0.625e-6 0.100 20
FM14:N -1 0 -2
c Fission Tally
FMESH24:N GEOM=xyz ORIGIN=-90 -90 0
  IMESH=90 IINTS=180
  JMESH=90 JINTS=180
  KMESH=200 KINTS=10
  EMESH=0.625e-6 0.100 20
FM24:N -1 0 -6
c Scattering Tally
FMESH34:N GEOM=xyz ORIGIN=-90 -90 0
  IMESH=90 IINTS=180
  JMESH=90 JINTS=180
  KMESH=200 KINTS=10
  EMESH=0.625e-6 0.100 20
FM34:N -1 0 2

Note that while different tally numbers can be used in MCNP, F4,F14,F24,F34 will automatically be labelled as "Flux", "Capture", "Fission" and "Elastic Scattering" in MeshTal Viewer (this is the convention which is used in IDAT).



Currently only rectangular meshes stored as text files are supported (RMESH control card).

Binary meshtal MDATA files can be converted to text by GRIDCONV utility.

Example MCNPX TMESH input cards

rmesh21:e flux
cora21 0 18i 10.0
corb21 -10.0 19i 10.0
corc21 -10.0 19i 10.0



Currently only catersian mesh detectors are supported, for each detector the output file must provide these arrays (in this order):

  • a value array,
  • optionally an "E" bounds array (a dummy [1e-5, 2e7] single energy bin will be used otherwise),
  • a "X" bounds array,
  • a "Y" bounds array,
  • a "Z" bounds array.

Example SERPENT mesh input cards

ene 1 1 1E-11 0.625E-6 1.00E-1 20
det 14 de 1
dx -80 80 160
dy -80 80 160
dz 0 250 10
det 24 de 1 dr -2 void
dx -80 80 160
dy -80 80 160
dz 0 250 10
det 34 de 1 dr -6 void
dx -80 80 160
dy -80 80 160
dz 0 250 10
det 44 de 1 dr -3 void
dx -80 80 160
dy -80 80 160
dz 0 250 10



MeshTal Viewer requires the both the binary rmflux file and the input file (because mesh coordinates are not carried by the rmflux file).

The binary rmflux file and input are expected to be placed in the same folder and to follow this naming convention:

  • rmflux.<LABEL> for the binary rmflux file
  • <LABEL>.inp for the input file

For example: rmflux.2d-zppr9 and 2d-zppr9.inp

You should open the rmflux binary file, MeshTal Viewer will then try to find the corresponding input file, if the input file is not found you will be prompted to select it

Memory Problems


Java programs will limit themselves to use a maximum amount of memory, this maximum depends on your
system and Java version. 

If you have more physical memory, you can edit this command line and replace the option -Xmx1024m or -Xmx1g. For example to allow MeshTal Viewer to use at most 8192 MB of memory, using the command line launch:

javaws -J-Xmx8192m