hexed 0.3.0
 
Loading...
Searching...
No Matches
hexed::Tecplot_file Class Reference

Wrapper for Tecplot API. More...

#include <Tecplot_file.hpp>

Inheritance diagram for hexed::Tecplot_file:
hexed::Visualizer

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
}
 
- Public Types inherited from hexed::Visualizer
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_fileoperator= (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 Public Member Functions inherited from hexed::Visualizer
static std::unique_ptr< Visualizercreate (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< Visualizercreate (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 Public Attributes inherited from hexed::Visualizer
static const std::string default_format
 Default file format to visualize in, depending on what libraries you have enabled.
 

Detailed Description

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.

See also
Tecplot Data Format Guide

Member Enumeration Documentation

◆ zone_type

Enumerator
structured 

aka ORDERED

us_line_seg 

aka FELINESEG

us_triangle 

aka FETRIANGLE

us_quad 

aka FEQUADRILATERAL

us_tet 

aka FETETRAHEDRON

us_hex 

aka FEBRICK

Constructor & Destructor Documentation

◆ Tecplot_file()

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 )
Note
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

Member Function Documentation

◆ write_block()

void hexed::Tecplot_file::write_block ( Array< double > pos,
Array< double > vars )
overridevirtual

writes a structured block of data

Parameters
posArray of position data. Layout: [i_dim][i_row]([j_row]([k_row])) (j_row and k_row optional depending on the topological dimension)
varsArray of field variable data. Layout: [i_var][i_row]([j_row]([k_row]))

Implements hexed::Visualizer.

◆ write_unstruct()

void hexed::Tecplot_file::write_unstruct ( Array< int > elements,
Array< double > pos,
Array< double > vars )
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.

Parameters
elementsIndices 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}.
posPosition 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)
varsValues of field variables for all vertices. Layout [i_var][i_vertex]. The number of columns must be the same as pos.

Implements hexed::Visualizer.


The documentation for this class was generated from the following files: