Tecplot SZL (.szplt)
Tecplot's subzone-loadable format, the default output of Tecplot 360 since 2016 and of TecIO-based solvers (SU2, FUN3D…). It is undocumented, and TecIO, Tecplot's own library, is its only reader, so meshio++ reads it through a TecIO the user already has. New in v16.13.0, read-only.
| Format name | szplt |
| Extensions | .szplt (also found by content, #!SZPLT) |
| Read / Write | ✓ / — (read-only) |
| Time steps | ✓ — as Tecplot: the distinct solution times |
| Extra dependencies | TecIO: a core built with MESHIOPLUSPLUS_WITH_TECIO=ON, or a shared TecIO named by MESHIOPLUSPLUS_TECIO_LIBRARY |
Reading
import meshioplusplus
mesh = meshioplusplus.read("flow.szplt")
last = meshioplusplus.read("flow.szplt", time_step=-1)
meshioplusplus.szplt.time_values("flow.szplt")A .szplt reads exactly as the same data saved as .plt or .dat does: TecIO's reader fills the zone model the ASCII and binary Tecplot readers share, so zones, regions, point and cell data, variable sharing, passive variables, shared connectivity and time steps follow Tecplot. FEPOLYGON and FEPOLYHEDRON zones are refused by name (save such a file as .plt).
Getting TecIO
meshio++ never redistributes TecIO. Two ways to point it at yours:
- A native build with
-DMESHIOPLUSPLUS_WITH_TECIO=ON -DTECIO_ROOT=<dir>, where<dir>holdsTECIO.h(withtecio_Exports.handStandardIntegralTypes.h) andlibtecio— a staticlibtecio.aalso needspthread, which the build adds. This is what the C, Fortran, Julia and R bindings and the native CLI read through. TecIO is the source Tecplot distributes on its TecIO page (free, a registration form), or the copy a Tecplot 360 install carries;build/configure.sh --with-tecio <dir>sets both flags. - The Python reader loads a shared TecIO through ctypes: set
MESHIOPLUSPLUS_TECIO_LIBRARYto its path (Tecplot 360 shipslibtecio.so/tecio.dllin itsbindirectory), or have it on the library search path. TecIO's own CMake builds a static library with hidden symbols; for a shared one, build it withadd_library(tecio SHARED …)and without-fvisibility=hidden.
Without either, reading raises an ImportError naming both and the third way: save the file as .plt in Tecplot (Tecplot route).
Validation
The fixtures (tests/python/meshes/szplt) are written by TecIO 2018.3 — the TecIO source SU2 vendors — each beside an ASCII twin holding the same data: two FE zones of tetrahedra and bricks with cell-centred data, an ordered zone, a transient file sharing variables and connectivity with passive variables, and single-precision triangles. Both engines read every .szplt identically to its twin. A .szplt written by Tecplot 360 itself is listed in the roadmap.