PB3D  [2.45]
Ideal linear high-n MHD stability in 3-D
Interfaces and Types | Functions/Subroutines
output_ops Module Reference

Operations concerning giving output, on the screen as well as in output files. More...

Interfaces and Types

interface  plot_hdf5
 Prints variables vars with names var_names in an HDF5 file with name c file_name and accompanying XDMF file. More...
 
interface  print_ex_2d
 Print 2-D output on a file. More...
 
interface  print_ex_3d
 Print 3-D output on a file. More...
 

Functions/Subroutines

subroutine, public draw_ex (var_names, draw_name, nplt, draw_dim, plot_on_screen, ex_plot_style, data_name, draw_ops, extra_ops, is_animated, ranges, delay, persistent)
 Use external program to draw a plot. More...
 
subroutine, public plot_diff_hdf5 (A, B, file_name, tot_dim, loc_offset, descr, output_message)
 Takes two input vectors and plots these as well as the relative and absolute difference in a HDF5 file. More...
 
subroutine use_execute_command_line (command, exitstat, cmdstat, cmdmsg)
 Executes command line, or displays a message if disabled. More...
 

Detailed Description

Operations concerning giving output, on the screen as well as in output files.

Function/Subroutine Documentation

◆ draw_ex()

subroutine, public output_ops::draw_ex ( character(len=*), dimension(:), intent(in)  var_names,
character(len=*), intent(in)  draw_name,
integer, intent(in)  nplt,
integer, intent(in)  draw_dim,
logical, intent(in)  plot_on_screen,
integer, intent(in), optional  ex_plot_style,
character(len=*), intent(in), optional  data_name,
character(len=*), dimension(:), intent(in), optional  draw_ops,
character(len=*), intent(in), optional  extra_ops,
logical, intent(in), optional  is_animated,
real(dp), dimension(:,:), intent(in), optional  ranges,
integer, intent(in), optional  delay,
logical, intent(in), optional  persistent 
)

Use external program to draw a plot.

The external programs used are determined by ex_plot_style:

  • ex_plot_style = 1: Use GnuPlot for 2-D and 3-D
  • ex_plot_style = 1: Use Bokeh in 2-D and Mayavi in 3-D

The output is saved in a file [draw_name].[ext] where the extension depends on the plotting style and the dimension, or on the screen, depending on plot_on_screen.

If not specified otherwise through data_name, it is assumed that the datafile to be plot is situated in [draw_name].dat.

The title(s) of the plot(s) are provided through var_names and the number of plots through nplt. If there are less names than the number of plots, the first one is taken and appended by the plot number.

Furthermore, draw_dim determines whether the plot is to be 2-D, 3-D or 2-D slices in 3-D.

Also, an optional command extra_ops can be provided, to provide overal options, as well as draw_ops that specifies the line style for the plots from the file. If less draw_ops are provided than plots, they will be cycled.

Finally, there is an option to provide animated plots, but is only available in 2-D. Also, for external plot style 1, no on-screen view is possible. Animations can take optional ranges arguments as well as delay.

Note
About draw_dim:
  • draw_dim = 1: 2-D plot; should be called with the output of output_ops.print_ex_2d(), nplt should be correctly set.
  • draw_dim = 2: 3-D plot; should be called with the output of print_ex_3D. For GNUPlot, nplt is ignored, but not for Mayavi, as it needs this information to be able to reconstruct 2D arrays for X, Y and Z.
  • draw_dim = 3: 2-D plot in 3-D slices; should be called with the output of output_ops.print_ex_2d(), nplt should be correctly set.
Parameters
[in]var_namesname of variables
[in]draw_namename of drawing
[in]npltnumber of plots
[in]draw_dim1: 2-D, 2: 3-D, 3: decoupled 3-D
[in]plot_on_screenTrue if on screen, false if in file
[in]ex_plot_stylealternative external plot style
[in]data_namename of data file
[in]draw_opsdrawing options
[in]extra_opsextra options
[in]is_animatedplot is animated
[in]rangesx and y range of animated plot
[in]delaytime delay between animated plot frames
[in]persistentkeep on-screen plot open

Definition at line 1079 of file output_ops.f90.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ plot_diff_hdf5()

subroutine, public output_ops::plot_diff_hdf5 ( real(dp), dimension(:,:,:), intent(in)  A,
real(dp), dimension(:,:,:), intent(in)  B,
character(len=*), intent(in)  file_name,
integer, dimension(3), intent(in), optional  tot_dim,
integer, dimension(3), intent(in), optional  loc_offset,
character(len=*), intent(in), optional  descr,
logical, intent(in), optional  output_message 
)

Takes two input vectors and plots these as well as the relative and absolute difference in a HDF5 file.

This is similar to a basic version of output_ops.plot_hdf5().

Optionally, an output message can be displayed on screen with the maximum relative and absolute error.

Parameters
[in]avector A
[in]bvector B
[in]file_namename of plot
[in]tot_dimtotal dimensions of the arrays
[in]loc_offsetoffset of local dimensions
[in]descrdescription
[in]output_messagewhether to display a message or not

Definition at line 1765 of file output_ops.f90.

+ Here is the caller graph for this function:

◆ use_execute_command_line()

subroutine output_ops::use_execute_command_line ( character(len=*), intent(in)  command,
integer, intent(inout), optional  exitstat,
integer, intent(inout), optional  cmdstat,
character(len=*), intent(inout), optional  cmdmsg 
)

Executes command line, or displays a message if disabled.

It also keeps a log of all shell commands executed.

Parameters
[in]commandcommand to execute
[in,out]exitstatexit status
[in,out]cmdstatcommand status
[in,out]cmdmsgcommand message

Definition at line 1914 of file output_ops.f90.

+ Here is the caller graph for this function: