fileio_gnuplot_mod Module Reference

I/O for GNUPLOT readable tabular files. More...

Data Types

type  fileio_gnuplot
 

Functions/Subroutines

subroutine initfileio (this, Mesh, Physics, fmt, fmtname, fpath, filename, extension, stoptime, dtwall, count, fcycles, sepfiles, unit)
 Generic constructor for file I/O. More...
 
subroutine initfileio_gnuplot (this, Mesh, Physics, IO, fmt, fpath, filename, stoptime, dtwall, count, fcycles, unit, config)
 Constructor for the GNUPLOT file I/O. More...
 
recursive subroutine writeheaderstring (string, root, k, prefix)
 Creates a string with the configuration (from the dictionary) More...
 
recursive subroutine getoutputpointer (this, Mesh, node, k)
 Creates a list of all data arrays which will be written to file. More...
 
pure subroutine adjusttimestep (this, time, dt, dtcause)
 Adjust the current timestep. More...
 
pure subroutine inctime (this)
 Increments the counter for timesteps and sets the time for next output. More...
 
subroutine openfile (this, action, fformat)
 Generic routine to open a file. More...
 
subroutine openfile_gnuplot (this, action)
 Specific routine to open a file for gnuplot I/O. More...
 
subroutine closefile_gnuplot (this)
 routine to close a file More...
 
subroutine writeheader (this)
 Writes the configuration as a header to the file. More...
 
subroutine readheader_gnuplot (this, success)
 Reads the header (not yet implemented) More...
 
subroutine writetimestamp_gnuplot (this, time)
 Writes the timestep (not yet implemented) More...
 
subroutine readtimestamp_gnuplot (this, time)
 Reads the timestep (not yet implemented) More...
 
subroutine writedataset (this, Mesh)
 Writes all desired data arrays to a file. More...
 
subroutine readdataset_gnuplot (this, Mesh, Physics, Timedisc)
 Reads the data arrays from file (not yet implemented) More...
 
subroutine error (this, modproc, msg)
 Closes the file I/O and calls a further error function. More...
 
subroutine finalize (this)
 Closes the file I/O. More...
 

Detailed Description

I/O for GNUPLOT readable tabular files.

Author
Tobias Illenseer
Björn Sperling
Jannes Klee

This module implements a file I/O, which files can be read by GNUPLOT. It writes the configuration (dictionary) as header. It is possible to select which data arrays should be written.

Function/Subroutine Documentation

◆ adjusttimestep()

pure subroutine fileio_gnuplot_mod::adjusttimestep ( class(fileio_base), intent(in)  this,
real, intent(inout)  time,
real, intent(inout)  dt,
integer, intent(inout)  dtcause 
)

Adjust the current timestep.

Last timestep before output must fit to desired time for output.

Parameters
this[in] this fileio type
time[in,out] time
dt[in,out] dt timestep
dtcause[in,out] dtcause cause of smallest dt

Definition at line 464 of file fileio_gnuplot.f90.

◆ closefile_gnuplot()

subroutine fileio_gnuplot_mod::closefile_gnuplot ( class(fileio_base), intent(inout)  this)

routine to close a file

Parameters
this[in,out] this fileio type

Definition at line 579 of file fileio_gnuplot.f90.

◆ error()

subroutine fileio_gnuplot_mod::error ( class(fileio_base), intent(inout)  this,
character(len=*), intent(in)  modproc,
character(len=*), intent(in)  msg 
)
private

Closes the file I/O and calls a further error function.

Parameters
[in,out]this[in,out] this fileio type
[in]modproc[in] modproc
[in]msg[in] msg error msg

Definition at line 788 of file fileio_gnuplot.f90.

◆ finalize()

subroutine fileio_gnuplot_mod::finalize ( class(fileio_gnuplot this)

Closes the file I/O.

Parameters
this[in,out] this fileio type

Definition at line 802 of file fileio_gnuplot.f90.

◆ getoutputpointer()

recursive subroutine fileio_gnuplot_mod::getoutputpointer ( class(fileio_base), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
type(dict_typ), pointer  node,
integer, intent(inout)  k 
)
private

Creates a list of all data arrays which will be written to file.

Therefore it ignores all arrays with coordinates and checks if the data arrays are of the dimension of the mesh.

Parameters
this[in,out] this fileio type
mesh[in] mesh mesh type
node[in,out] node pointer to (sub-)dict
k[in,out] k number of data arrays

Definition at line 374 of file fileio_gnuplot.f90.

◆ inctime()

pure subroutine fileio_gnuplot_mod::inctime ( class(fileio_base), intent(inout)  this)

Increments the counter for timesteps and sets the time for next output.

Parameters
[in,out]this[in,out] this fileio type

Definition at line 486 of file fileio_gnuplot.f90.

◆ initfileio()

subroutine fileio_gnuplot_mod::initfileio ( class(fileio_base), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
integer, intent(in)  fmt,
character(len=*), intent(in)  fmtname,
character(len=*), intent(in)  fpath,
character(len=*), intent(in)  filename,
character(len=*), intent(in)  extension,
real, intent(in)  stoptime,
integer, intent(in)  dtwall,
integer, intent(in)  count,
integer, intent(in)  fcycles,
logical, intent(in)  sepfiles,
integer, intent(in), optional  unit 
)

Generic constructor for file I/O.

Initilizes the file I/O type, filename and extension, stoptime, number of outputs, number of files, mode for parallel output (separate files), unit number

Parameters
this[in,out] this fileio type
mesh[in] Mesh mesh type
physics[in] Physics physics type
fmt[in] fmt fileio type number
fmtname[in] fmtname name of fileio
fpath[in] fpath
filename[in] filename
extension[in] extension file extension
stoptime[in] stoptime
dtwall[in] dtwall wall clock time
count[in] count number of outputs
fcycles[in] fcycles file cycle number
sepfiles[in] sepfiles different files
unit[in] unit fileio unit number

Definition at line 117 of file fileio_gnuplot.f90.

◆ initfileio_gnuplot()

subroutine fileio_gnuplot_mod::initfileio_gnuplot ( class(fileio_base), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
type(dict_typ), pointer  IO,
integer, intent(in)  fmt,
character(len=*), intent(in)  fpath,
character(len=*), intent(in)  filename,
real, intent(in)  stoptime,
integer, intent(in)  dtwall,
integer, intent(in)  count,
integer, intent(in)  fcycles,
integer, intent(in)  unit,
type(dict_typ), optional, pointer  config 
)

Constructor for the GNUPLOT file I/O.

Initilizes the file I/O type, filename, stoptime, number of outputs, number of files, unit number, config as a dict

Parameters
this[in,out] this fileio type
mesh[in] Mesh mesh type
physics[in] Physics Physics type
io[in] IO Dictionary for I/O
config[in] config Dictionary with configuration
fmt[in] fmt fileio type number
fpath[in] fpath
filename[in] filename
stoptime[in] stoptime
dtwall[in] dtwall wall clock time
count[in] count number of outputs
fcycles[in] fcycles file cycle number
unit[in] unit fileio unit number

Definition at line 176 of file fileio_gnuplot.f90.

◆ openfile()

subroutine fileio_gnuplot_mod::openfile ( class(fileio_base), intent(inout)  this,
integer, intent(in)  action,
character(len=*), intent(in)  fformat 
)

Generic routine to open a file.

Parameters
this[in,out] this fileio type
action[in] action mode of open
fformat[in] fformat file format

Definition at line 497 of file fileio_gnuplot.f90.

◆ openfile_gnuplot()

subroutine fileio_gnuplot_mod::openfile_gnuplot ( class(fileio_base), intent(inout)  this,
integer, intent(in)  action 
)

Specific routine to open a file for gnuplot I/O.

Parameters
this[in,out] this fileio type
action[in] action mode of file access

Definition at line 564 of file fileio_gnuplot.f90.

◆ readdataset_gnuplot()

subroutine fileio_gnuplot_mod::readdataset_gnuplot ( class(fileio_base), intent(inout)  this,
class(mesh_base), intent(in)  Mesh,
class(physics_base), intent(in)  Physics,
class(timedisc_base), intent(in)  Timedisc 
)

Reads the data arrays from file (not yet implemented)

Parameters
this[in,out] this fileio type
mesh[in] mesh mesh type
physics[in] physics physics type
timedisc[in] timedisc timedisc type

Definition at line 772 of file fileio_gnuplot.f90.

◆ readheader_gnuplot()

subroutine fileio_gnuplot_mod::readheader_gnuplot ( class(fileio_base), intent(inout)  this,
logical, intent(out)  success 
)

Reads the header (not yet implemented)

Parameters
this[in,out] this fileio type
success[out] success

Definition at line 614 of file fileio_gnuplot.f90.

◆ readtimestamp_gnuplot()

subroutine fileio_gnuplot_mod::readtimestamp_gnuplot ( class(fileio_base), intent(inout)  this,
real, intent(out)  time 
)

Reads the timestep (not yet implemented)

Parameters
this[in,out] this fileio type
time[out] time

Definition at line 653 of file fileio_gnuplot.f90.

◆ writedataset()

subroutine fileio_gnuplot_mod::writedataset ( class(fileio_base), intent(inout)  this,
class(mesh_base), intent(in)  Mesh 
)

Writes all desired data arrays to a file.

Parameters
this[in,out] this fileio type
mesh[in] mesh mesh type

Definition at line 674 of file fileio_gnuplot.f90.

◆ writeheader()

subroutine fileio_gnuplot_mod::writeheader ( class(fileio_base), intent(inout)  this)

Writes the configuration as a header to the file.

Parameters
this[in,out] this fileio type

Definition at line 595 of file fileio_gnuplot.f90.

◆ writeheaderstring()

recursive subroutine fileio_gnuplot_mod::writeheaderstring ( character(len=*), intent(inout)  string,
type(dict_typ), pointer  root,
integer, intent(inout)  k,
character(len=*), optional  prefix 
)
private

Creates a string with the configuration (from the dictionary)

Definition at line 310 of file fileio_gnuplot.f90.

◆ writetimestamp_gnuplot()

subroutine fileio_gnuplot_mod::writetimestamp_gnuplot ( class(fileio_base), intent(inout)  this,
real, intent(in)  time 
)

Writes the timestep (not yet implemented)

Parameters
this[in,out] this fileio type
time[in] time

Definition at line 633 of file fileio_gnuplot.f90.