Wrapper for Tecplot API. More...
#include <Tecplot_file.hpp>
Classes | |
class | Line_segments |
Represents an arbitrary number of line segments. More... | |
class | Structured_block |
Represents a single block of structured data. Call write() exactly once before destructing. More... | |
class | Triangles |
Represents a collection of triangles in 3D. More... | |
class | Unstructured |
class | Zone |
Public Types | |
enum | zone_type { structured , us_line_seg , us_triangle , us_quad , us_tet , us_hex } |
![]() | |
enum | elem_type { block , simplex } |
enum used to indicate the type of elements to visualize More... | |
Public Member Functions | |
Tecplot_file (std::string file_name, int n_dim, int n_dim_topo_arg, std::vector< std::string > variable_names, double time, double heat_rat=1.4, double gas_const=constants::specific_gas_air) | |
Tecplot_file (const Tecplot_file &)=delete | |
copying is nonsense since there can't be more than one Tecplot_file at a time | |
Tecplot_file & | operator= (const Tecplot_file &)=delete |
see above | |
void | write_block (Array< double > pos, Array< double > vars) override |
writes a structured block of data | |
void | write_unstruct (Array< int > elements, Array< double > pos, Array< double > vars) override |
writes unstructured data | |
Additional Inherited Members | |
![]() | |
static std::unique_ptr< Visualizer > | create (std::string format, int n_dim_geom, int n_dim_topo, std::string file_name, std::vector< std::string > variable_names, double time, elem_type element_type) |
Creates a Visualizer object, selecting the appropriate backend based on the requested file format. | |
static std::unique_ptr< Visualizer > | create (std::string format, int n_dim_geom, int n_dim_topo, std::string file_name, const Output_data &, double time, elem_type) |
overload of create(std::string, int, int, std::string, std::vector<std::string>, double, elem_type) | |
![]() | |
static const std::string | default_format |
Default file format to visualize in, depending on what libraries you have enabled. | |
Wrapper for Tecplot API.
This class provides an object-oriented wrapper to TecIO because the standard API is verbose and generally nauseating. Because the wrapped API involves calling several global functions in a specific sequence, at most one Tecplot_file
and one Tecplot_file::Zone
are allowed to exist at any given time.
hexed::Tecplot_file::Tecplot_file | ( | std::string | file_name, |
int | n_dim, | ||
int | n_dim_topo_arg, | ||
std::vector< std::string > | variable_names, | ||
double | time, | ||
double | heat_rat = 1.4, | ||
double | gas_const = constants::specific_gas_air ) |
n_var
means number of state (i.e., not position) variables. n_dim_topo_arg
is the topological dimension of blocks and only affects the behavior of write_block
writes a structured block of data
pos | Array of position data. Layout: [i_dim][i_row]([j_row]([k_row])) (j_row and k_row optional depending on the topological dimension) |
vars | Array of field variable data. Layout: [i_var][i_row]([j_row]([k_row])) |
Implements hexed::Visualizer.
|
overridevirtual |
writes unstructured data
Unstructured data is specified by a list of vertices, each of which has values of position and field variables associated with it, and a list of elements, each of which is specified by the indices of its vertices. All elements must be the same type (e.g. line segment, triangle, quad, etc.) and the element type is inferred from the number of vertices for each element. If you call write_unstruct()
multiple times on the same Visualizer
, the vertex indices you supply should restart from 0.
elements | Indices of the vertices for each element. Layout: [i_element][i_vertex] E.g. for a mesh containing 2 quadrilateral elements, elements will have shape {2, 4}. |
pos | Position data for all vertices. Layout: [i_dim][i_vertex] E.g. if the above mesh was specifying a surface in 3D space and the two quadrilateral elements shared exactly one edge, pos would have shape {3, 6} (there would be 6 total vertices, 4 for each element minus 2 shared) |
vars | Values of field variables for all vertices. Layout [i_var][i_vertex]. The number of columns must be the same as pos . |
Implements hexed::Visualizer.