PB3D
[2.45]
Ideal linear high-n MHD stability in 3-D
|
Go to the documentation of this file.
39 #define CHCKERR if(ierr.ne.0) then; call sudden_stop(ierr); end if
74 type(
grid_type),
pointer :: grid_eq_b => null()
76 type(
grid_type),
pointer :: grid_x_b => null()
102 call writo(
'Initialization')
111 if (rich_restart_lvl.eq.1)
then
140 call writo(
'Generic Tests')
172 par:
do while(
do_eq())
194 ierr =
run_driver_x(grid_eq,grid_eq_b,grid_x,grid_x_b,eq_1,eq_2,&
231 call writo(
'Clean up')
233 if (eq_style.eq.2)
call eq_2%dealloc()
235 &grid_eq_b=grid_eq_b,&
elemental character(len=max_str_ln) function, public rich_info()
Returns string with possible extension with Richardson level or nothing if only one level and one par...
integer function, public stop_mpi(grid_eq, grid_eq_B, grid_X, grid_X_B, grid_sol, eq_1, eq_2, X_1, X_2, vac, sol)
Stop MPI.
subroutine, public stop_rich_lvl()
Stop a Richardson level.
Variables that have to do with equilibrium quantities and the grid used in the calculations:
Operations related to MPI.
Numerical variables used by most other modules.
integer function, public init_rich()
Initialize Richardson extrapolation system.
Driver of the solution part of PB3D.
integer function, public start_rich_lvl()
Start a Richardson level.
Variables concerning Richardson extrapolation.
subroutine, public passed_time()
Display the time that has passed between t1 and t2.
elemental character(len=max_str_ln) function, public i2str(k)
Convert an integer to string.
program pb3d
Peeling Ballooning in 3D.
subroutine, public normalize_input()
Normalize input quantities.
subroutine, public start_time()
Start a timer.
Variables pertaining to HDF5 and XDMF.
subroutine, public stop_time()
Stop a timer.
integer function, public open_input()
Open the input files.
subroutine, public term_rich()
Terminate the Richardson extrapolation system.
integer, public prog_style
program style (1: PB3D, 2: PB3D_POST)
character(len=4), public prog_name
name of program, used for info
Numerical utilities related to equilibrium variables.
logical, public ltest
whether or not to call the testing routines
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.
Variables pertaining to the vacuum quantities.
integer function, public parse_args()
Parses the command line arguments.
integer function, public calc_normalization_const()
Sets up normalization constants.
subroutine, public init_files()
Initialize the variables for the module.
subroutine, public init_hdf5
Initializes the HDF5 types.
logical function, public do_rich()
Tests whether this Richardson level should be done.
integer, public rich_restart_lvl
starting Richardson level (0: none [default])
tensorial perturbation type
elemental character(len=max_str_ln) function, public eq_info()
Returns string with possible extension with equilibrium job as well as parallel job,...
Driver of the equilibrium part of PB3D.
integer, public eq_style
either 1 (VMEC) or 2 (HELENA)
Variables pertaining to the perturbation quantities.
integer function, public start_mpi()
Start MPI and gather information.
elemental character(len=max_str_ln) function, public r2str(k)
Convert a real (double) to string.
subroutine, public writo(input_str, persistent, error, warning, alert)
Write output to file identified by output_i.
Numerical utilities related to giving output.
integer function, public broadcast_input_opts()
Broadcasts options (e.g. user-prescribed) that are not passed through the HDF5 output file (i....
Operations related to files !
subroutine, public print_goodbye()
Prints last messag.
Variables pertaining to the different grids used.
subroutine, public lvl_ud(inc)
Increases/decreases lvl of output.
subroutine, public close_output()
Closes the output file.
subroutine, public sudden_stop(ierr)
Suddenly stops the computations, aborting MPI, etc.
integer function, public run_driver_eq(grid_eq_out, grid_eq_B_out, eq_1_out, eq_2_out, vac)
Main driver of PB3D equilibrium part.
integer, public rich_lvl
current level of Richardson extrapolation
subroutine, public init_time()
Intialize the time passed to 0.
vectorial perturbation type
Variables pertaining to the solution quantities.
logical function, public do_eq()
If this equilibrium job should be done, also increment eq_job_nr.
integer function, public run_driver_sol(grid_eq, grid_X, grid_sol, X, vac, sol)
Main driver of PB3D solution part.
subroutine, public init_output()
Initialize the variables for the module.
integer, public rank
MPI rank.
integer function, public generic_tests()
Performs generic tests.
integer function, public open_output()
Open the output files.
Operations on the equilibrium variables.
Operations concerning Richardson extrapolation.
Driver of the perturbation part of PB3D.
subroutine, public print_hello()
Prints first message.