PB3D
[2.45]
Ideal linear high-n MHD stability in 3-D
|
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. More... | |
integer function | run_driver_x_0 (grid_eq, grid_eq_B, grid_X, grid_X_B, eq_1, eq_2, eq_2_B) |
part 0 of driver_x: perturbation grid as well as reconstruction of variables. More... | |
integer function | run_driver_x_1 (grid_eq, grid_X, eq_1, eq_2, X_1) |
Part 1 of driver_x: Vectorial jobs. More... | |
integer function | run_driver_x_2 (grid_eq_B, grid_X, grid_X_B, eq_1, eq_2_B, X_1, X_2_int) |
Part 2 of driver_X: Tensorial jobs. More... | |
subroutine | print_info_x_2 () |
Prints information for tensorial perturbation job. More... | |
Driver of the perturbation part of PB3D.
subroutine driver_x::print_info_x_2 |
Prints information for tensorial perturbation job.
Definition at line 699 of file driver_X.f90.
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.
grid_X
(for HELENA, only first Richardson level)grid_X_B
(for VMEC, equal to grid_X_out)X_1
X_2
grid_X
(for HELENA, only first Richardson level)grid_X_B
(for VMEC, equal to grid_X)X_1
(only for HELENA, only first Richardson level)X_2
X_1
before setting upgrid_X
before setting upgrid_X_B
before setting up([x] indicates driver x)
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.[in] | grid_eq | equilibrium grid (should be in but needs inout for interp_HEL_on_grid) |
[in] | grid_eq_b | field-aligned equilibrium grid (should be in but needs inout for interp_HEL_on_grid) |
[in,out] | grid_x | perturbation grid |
[in,out] | grid_x_b | field-aligned perturbation grid |
[in] | eq_1 | flux equilibrium variables |
[in,out] | eq_2 | metric equilibrium variables (should be in but needs inout for interp_HEL_on_grid) |
[in,out] | x_1 | vectorial perturbation variables |
[in,out] | x_2 | tensorial perturbation variables |
Definition at line 59 of file driver_X.f90.
integer function driver_x::run_driver_x_0 | ( | 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) | eq_1, | ||
type(eq_2_type), intent(inout), target | eq_2, | ||
type(eq_2_type), intent(inout), pointer | eq_2_B | ||
) |
part 0 of driver_x: perturbation grid as well as reconstruction of variables.
[in] | grid_eq | equilibrium grid |
[in] | grid_eq_b | field-aligned equilibrium grid |
[in,out] | grid_x | perturbation grid |
[in,out] | grid_x_b | field-aligned perturbation grid |
[in] | eq_1 | flux equilibrium variables |
[in,out] | eq_2 | metric equilibrium variables |
[in,out] | eq_2_b | field-aligned metric equilibrium variables |
Definition at line 267 of file driver_X.f90.
integer function driver_x::run_driver_x_1 | ( | type(grid_type), intent(in) | grid_eq, |
type(grid_type), intent(in) | grid_X, | ||
type(eq_1_type), intent(in) | eq_1, | ||
type(eq_2_type), intent(in) | eq_2, | ||
type(x_1_type), intent(inout) | X_1 | ||
) |
Part 1 of driver_x: Vectorial jobs.
[in] | grid_eq | equilibrium grid |
[in] | grid_x | perturbation grid |
[in] | eq_1 | flux equilibrium variables |
[in] | eq_2 | metric equilibrium variables |
[in,out] | x_1 | vectorial X variables |
Definition at line 376 of file driver_X.f90.
integer function driver_x::run_driver_x_2 | ( | type(grid_type), intent(in), pointer | grid_eq_B, |
type(grid_type), intent(in), target | grid_X, | ||
type(grid_type), intent(in), pointer | grid_X_B, | ||
type(eq_1_type), intent(in) | eq_1, | ||
type(eq_2_type), intent(in), pointer | eq_2_B, | ||
type(x_1_type), intent(in) | X_1, | ||
type(x_2_type), intent(inout) | X_2_int | ||
) |
Part 2 of driver_X: Tensorial jobs.
[in] | grid_eq_b | field-aligned equilibrium grid |
[in] | grid_x | perturbation grid |
[in] | grid_x_b | field-aligned perturbation grid |
[in] | eq_1 | flux equilibrium variables |
[in] | eq_2_b | field-aligned metric equilibrium variables |
[in] | x_1 | vectorial X variables |
[in,out] | x_2_int | tensorial X variables |
Definition at line 526 of file driver_X.f90.