All Classes Files Functions Variables Pages
mod_vtk_io Module Reference

This module programmed by S. Zaghi (https://github.com/szaghi/Lib_VTK_IO) contains functions to write ascii or binary VTK files.

Data Types

interface  vtk_geo_xml
 overloading of VTK_GEO_XML More...
 
interface  vtk_var_xml
 overloading of VTK_VAR_XML More...
 

Public Member Functions

integer(i4p) function, public vtk_ini_xml (output_format, filename, mesh_topology, nx1, nx2, ny1, ny2, nz1, nz2)
 The VTK_INI_XML function is used for initializing file. This function must be the first to be called. More...
 
integer(i4p) function, public vtk_con_xml (NC, connect, offset, cell_type)
 The VTK_CON_XML function must be called when unstructured grid topology is used. It saves the connectivity of the unstructured mesh. More...
 
integer(i4p) function, public vtk_dat_xml (var_location, var_block_action)
 The VTK_DAT_XML function opens or closes CellData/PointData structures. More...
 
integer(i4p) function, public vtk_end_xml ()
 The VTK_END_XML function finalizes opened files.
 

Public Attributes

integer, parameter, public r4p = selected_real_kind(6, 37)
 6 digits, range \([\pm 10^{-37},\pm 10^{+37}-1]\)
 
integer, parameter, public r_p = R4P
 default real precision
 
integer, parameter, public i4p = selected_int_kind(9)
 range \([-2^{31},+2^{31}-1]\)
 
integer, parameter, public i1p = selected_int_kind(2)
 range \([-2^{7},+2^{7}-1]\)
 
integer, parameter, public i_p = I4P
 default integer precision
 
character(9), parameter, public fr4p = '(E14.6E2)'
 R4P output format.
 
character(10), parameter, public fr_p = '(E23.15E3)'
 R_P output format.
 
character(5), parameter, public fi4p = '(I12)'
 I4P output format.
 
character(4), parameter, public fi1p = '(I5)'
 I1P output format.
 
character(5), parameter, public fi_p = '(I12)'
 I_P output format.
 

Private Member Functions

integer(i4p) function vtk_geo_xml_strg_r4 (nx1, nx2, ny1, ny2, nz1, nz2, NN, X, Y, Z)
 The VTK_GEO_XML_STRG_R4 function is used for saving mesh with a VTK StructuredGrid R4P topology. More...
 
integer(i4p) function vtk_geo_xml_rect_r4 (nx1, nx2, ny1, ny2, nz1, nz2, X, Y, Z)
 The VTK_GEO_XML_RECT_R4 function is used for saving mesh with a VTK RectilinearGrid R4P topology. More...
 
integer(i4p) function vtk_geo_xml_unst_r4 (NN, NC, X, Y, Z)
 The VTK_GEO_XML_UNST_R4 function is used for saving mesh with a VTK UnstructuredGrid R4P topology. More...
 
integer(i4p) function vtk_geo_xml_closep ()
 The VTK_GEO_XML_CLOSE function is used for closing mesh block data.
 
integer(i4p) function vtk_var_xml_scal_r4 (NC_NN, varname, var)
 The VTK_VAR_XML_SCAL_R4 function saves R4P scalar variables. More...
 
integer(i4p) function vtk_var_xml_scal_i4 (NC_NN, varname, var)
 The VTK_VAR_XML_SCAL_I4 function saves I4P scalar variables. More...
 
integer(i4p) function vtk_var_xml_vect_r4 (NC_NN, varname, varX, varY, varZ)
 The VTK_VAR_XML_VECT_R4 function saves R4P vectorial variables. More...
 
integer(i4p) function vtk_var_xml_vect_i4 (NC_NN, varname, varX, varY, varZ)
 The VTK_VAR_XML_VECT_I4 function saves I4P vectorial variables. More...
 

Private Attributes

integer(i4p), parameter maxlen = 500
 max number of characters of static string
 
character(1), parameter end_rec = char(10)
 end-character for binary-record finalize
 
integer(i4p), parameter f_out_ascii = 0
 ascii-output-format parameter identifier
 
integer(i4p), parameter f_out_binary = 1
 binary-output-format parameter identifier
 
integer(i4pf_out = f_out_ascii
 current output-format (initialized to ascii format)
 
integer(i4punit_vtk
 internal logical unit
 
integer(i4punit_vtk_append
 internal logical unit for raw binary XML append file
 
integer(i4pn_byte
 number of byte to be written/read
 
integer(i4pioffset
 offset pointer
 
integer(i4pindent
 indent pointer
 
integer(i4ptipo_i4
 prototype of I4P integer
 
integer(i1ptipo_i1
 prototype of I1P integer
 
real(r4ptipo_r4
 prototype of R4P integer
 
character(len=maxlentopology
 mesh topology
 

Detailed Description

Definition at line 130 of file module_vtk_io.f90.

Member Function/Subroutine Documentation

integer(i4p) function, public mod_vtk_io::vtk_con_xml ( integer(i4p), intent(in)  NC,
integer(i4p), dimension(:), intent(in)  connect,
integer(i4p), dimension(1:nc), intent(in)  offset,
integer(i1p), dimension(1:nc), intent(in)  cell_type 
)
Parameters
NC: total number of cells
connect: mesh connectivity array
offset: cell offset
cell_type: VTK cell type

Definition at line 620 of file module_vtk_io.f90.

Referenced by mod_init_medium::write_medium_vtk_cell_xml(), mod_init_medium::write_medium_vtk_node_xml(), and mod_snapshot_volume::write_snapshot_volume_vtk().

integer(i4p) function, public mod_vtk_io::vtk_dat_xml ( character(*), intent(in)  var_location,
character(*), intent(in)  var_block_action 
)
Parameters
var_location: location of saving variables: CELL for cell-centered, NODE for node-centered
var_block_action: variables block action: OPEN or CLOSE block

Definition at line 695 of file module_vtk_io.f90.

Referenced by mod_init_medium::write_medium_vtk_cell_xml(), mod_init_medium::write_medium_vtk_node_xml(), mod_snapshot_volume::write_snapshot_volume_vtk(), and mod_snapshot_surface::write_snapshot_vtk().

integer(i4p) function mod_vtk_io::vtk_geo_xml_rect_r4 ( integer(i4p), intent(in)  nx1,
integer(i4p), intent(in)  nx2,
integer(i4p), intent(in)  ny1,
integer(i4p), intent(in)  ny2,
integer(i4p), intent(in)  nz1,
integer(i4p), intent(in)  nz2,
real (r4p), dimension(nx1:nx2), intent(in)  X,
real (r4p), dimension(ny1:ny2), intent(in)  Y,
real (r4p), dimension(nz1:nz2), intent(in)  Z 
)
private
Parameters
nx1: initial node of x axis
nx2: final node of x axis
ny1: initial node of y axis
ny2: final node of y axis
nz1: initial node of z axis
nz2: final node of z axis
X: \(x\)-coordinates
Y: \(y\)-coordinates
Z: \(z\)-coordinates

Definition at line 441 of file module_vtk_io.f90.

integer(i4p) function mod_vtk_io::vtk_geo_xml_strg_r4 ( integer(i4p), intent(in)  nx1,
integer(i4p), intent(in)  nx2,
integer(i4p), intent(in)  ny1,
integer(i4p), intent(in)  ny2,
integer(i4p), intent(in)  nz1,
integer(i4p), intent(in)  nz2,
integer(i4p), intent(in)  NN,
real (r4p), dimension(1:nn), intent(in)  X,
real (r4p), dimension(1:nn), intent(in)  Y,
real (r4p), dimension(1:nn), intent(in)  Z 
)
private
Parameters
nx1: initial node of x axis
nx2: final node of x axis
ny1: initial node of y axis
ny2: final node of y axis
nz1: initial node of z axis
nz2: final node of z axis
NN: total number of nodes
X: \(x\)-coordinates
Y: \(y\)-coordinates
Z: \(z\)-coordinates

Definition at line 370 of file module_vtk_io.f90.

integer(i4p) function mod_vtk_io::vtk_geo_xml_unst_r4 ( integer(i4p), intent(in)  NN,
integer(i4p), intent(in)  NC,
real (r4p), dimension(1:nn), intent(in)  X,
real (r4p), dimension(1:nn), intent(in)  Y,
real (r4p), dimension(1:nn), intent(in)  Z 
)
private
Parameters
NN: total number of nodes
NC: total number of cells
X: \(x\)-coordinates
Y: \(y\)-coordinates
Z: \(z\)-coordinates

Definition at line 526 of file module_vtk_io.f90.

integer(i4p) function, public mod_vtk_io::vtk_ini_xml ( character(*), intent(in)  output_format,
character(*), intent(in)  filename,
character(*), intent(in)  mesh_topology,
integer(i4p), intent(in), optional  nx1,
integer(i4p), intent(in), optional  nx2,
integer(i4p), intent(in), optional  ny1,
integer(i4p), intent(in), optional  ny2,
integer(i4p), intent(in), optional  nz1,
integer(i4p), intent(in), optional  nz2 
)
Parameters
output_format: output format: ASCII or BINARY
filename: file name
mesh_topology: VTK mesh topology (e.g., RectilinearGrid, StructuredGrid, etc.)
nx1: initial node of x axis
nx2: final node of x axis
ny1: initial node of y axis
ny2: final node of y axis
nz1: initial node of z axis
nz2: final node of z axis

Definition at line 288 of file module_vtk_io.f90.

Referenced by mod_init_medium::write_medium_vtk_cell_xml(), mod_init_medium::write_medium_vtk_node_xml(), mod_snapshot_volume::write_snapshot_volume_vtk(), and mod_snapshot_surface::write_snapshot_vtk().

integer(i4p) function mod_vtk_io::vtk_var_xml_scal_i4 ( integer(i4p), intent(in)  NC_NN,
character(*), intent(in)  varname,
integer(i4p), dimension(1:nc_nn), intent(in)  var 
)
private
Parameters
NC_NN: number of cells or nodes
varname: variable name
var: values to be saved

Definition at line 814 of file module_vtk_io.f90.

integer(i4p) function mod_vtk_io::vtk_var_xml_scal_r4 ( integer(i4p), intent(in)  NC_NN,
character(*), intent(in)  varname,
real (r4p), dimension(1:nc_nn), intent(in)  var 
)
private
Parameters
NC_NN: number of cells or nodes
varname: variable name
var: values to be saved

Definition at line 767 of file module_vtk_io.f90.

integer(i4p) function mod_vtk_io::vtk_var_xml_vect_i4 ( integer(i4p), intent(in)  NC_NN,
character(*), intent(in)  varname,
integer(i4p), dimension(1:nc_nn), intent(in)  varX,
integer(i4p), dimension(1:nc_nn), intent(in)  varY,
integer(i4p), dimension(1:nc_nn), intent(in)  varZ 
)
private
Parameters
NC_NN: number of cells or nodes
varname: variable name
varX: \(x\)-component values to be saved
varY: \(y\)-component values to be saved
varZ: \(z\)-component values to be saved

Definition at line 914 of file module_vtk_io.f90.

integer(i4p) function mod_vtk_io::vtk_var_xml_vect_r4 ( integer(i4p), intent(in)  NC_NN,
character(*), intent(in)  varname,
real (r4p), dimension(1:nc_nn), intent(in)  varX,
real (r4p), dimension(1:nc_nn), intent(in)  varY,
real (r4p), dimension(1:nc_nn), intent(in)  varZ 
)
private
Parameters
NC_NN: number of cells or nodes
varname: variable name
varX: \(x\)-component values to be saved
varY: \(y\)-component values to be saved
varZ: \(z\)-component values to be saved

Definition at line 863 of file module_vtk_io.f90.


The documentation for this module was generated from the following file: