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

Driver of the perturbation part of PB3D. More...

Functions/Subroutines

integer function, public run_driver_x (grid_eq, grid_eq_b, grid_x, grid_x_b, eq_1, eq_2, x_1, x_2)
 Main driver of PB3D perturbation part.

Detailed Description

Driver of the perturbation part of PB3D.

Function/Subroutine Documentation

◆ run_driver_x()

integer function, public driver_x::run_driver_x ( type(grid_type), intent(in), target grid_eq,
type(grid_type), intent(in), pointer grid_eq_b,
type(grid_type), intent(inout), target grid_x,
type(grid_type), intent(inout), pointer grid_x_b,
type(eq_1_type), intent(in), target eq_1,
type(eq_2_type), intent(inout), target eq_2,
type(x_1_type), intent(inout) x_1,
type(x_2_type), intent(inout) x_2 )

Main driver of PB3D perturbation part.

  • sets up:
    • [0] grid_X (for HELENA, only first Richardson level)
    • [0] grid_X_B (for VMEC, equal to grid_X_out)
    • [1] X_1
    • [2] X_2
  • writes to HDF5:
    • [0] grid_X (for HELENA, only first Richardson level)
    • [0] grid_X_B (for VMEC, equal to grid_X)
    • [1] X_1 (only for HELENA, only first Richardson level)
    • [2] X_2
  • deallocates:
    • X_1 before setting up
    • grid_X before setting up
    • grid_X_B before setting up

([x] indicates driver x)

Note
eq_2 needs to be intent(inout) because interp_HEL_on_grid() requires this for generality. The variable is not modified in this driver, though.
Returns
ierr
Parameters
[in]grid_eqequilibrium grid (should be in but needs inout for interp_HEL_on_grid)
[in]grid_eq_bfield-aligned equilibrium grid (should be in but needs inout for interp_HEL_on_grid)
[in,out]grid_xperturbation grid
[in,out]grid_x_bfield-aligned perturbation grid
[in]eq_1flux equilibrium variables
[in,out]eq_2metric equilibrium variables (should be in but needs inout for interp_HEL_on_grid)
[in,out]x_1vectorial perturbation variables
[in,out]x_2tensorial perturbation variables

Definition at line 57 of file driver_X.f90.

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