PB3D [2.47]
Ideal linear high-n MHD stability in 3-D
Loading...
Searching...
No Matches
driver_post Module Reference

Main driver of PostProcessing of program Peeling Ballooning in 3D. More...

Functions/Subroutines

integer function, public init_post ()
 Initializes the POST driver.
integer function, public run_driver_post ()
 The main driver routine for postprocessing.
subroutine, public stop_post ()
 Cleans up main driver for postprocessing.

Detailed Description

Main driver of PostProcessing of program Peeling Ballooning in 3D.

Function/Subroutine Documentation

◆ init_post()

integer function, public driver_post::init_post

Initializes the POST driver.

  • set up preliminary variables
    • global variables
    • read grids (full)
    • eq_1 (full) and n & m (full)
  • set up output grids:
    • POST_style = 1: extended grid
    • POST_style = 2: field-aligned grid
  • clean up
  • set up final variables
    • normal limits
    • read grids (divided), eq_1 (divided) and sol (divided) variables
  • 1-D output plots
    • resonance plot
    • flux quantities plot
    • magnetic grid plot
  • prepare Eigenvalue plots
    • calculates resonant surfaces
    • plots Eigenvalues
    • finds stability ranges for all Eigenvalues to be plot
    • plots harmonics for every Eigenvalue
    • calculates the parallel ranges of the equilibrium jobs
  • clean up

In the actual driver, more detailed plots are possibly made for all requested Eigenvalues if full_output.

Returns
ierr

Definition at line 76 of file driver_POST.f90.

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

◆ run_driver_post()

integer function, public driver_post::run_driver_post

The main driver routine for postprocessing.

Note
The PB3D output is given on different grids for different styles of the equilibrium model:
  • VMEC: field-aligned grid on which EV problem has been solved.
  • HELENA: output grid on which equilibrium and metric variables are tabulated.

Furthermore, if Richardson extrapolation is used, the VMEC grids and variables are contained in multiple HDF5 variables. These variables are needed here both in a field-aligned and a plot grid.

A consequence of the above is that for VMEC the field-aligned output is already given, but the output on the plot grid has to be calculated from scratch, while for HELENA both outputs have to be interpolated from the output tables.

The general workflow is as follows:

  • take a subset of the output grids for the current equilibrium job.
  • for POST_style = 1 (extended grid):
    • VMEC: recalculate variables
    • HEL: interpolate variables for POST_style = 2 (B-aligned grid):
    • VMEC: read subset of variables
    • HEL: interpolate variables
  • create helper variables
  • create plots and outputs
Returns
ierr

Definition at line 541 of file driver_POST.f90.

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

◆ stop_post()

subroutine, public driver_post::stop_post

Cleans up main driver for postprocessing.

Definition at line 815 of file driver_POST.f90.

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