|
PB3D [2.47]
Ideal linear high-n MHD stability in 3-D
|
Operations concerning Richardson extrapolation. More...
Functions/Subroutines | |
| integer function, public | init_rich () |
| Initialize Richardson extrapolation system. | |
| subroutine, public | term_rich () |
| Terminate the Richardson extrapolation system. | |
| logical function, public | do_rich () |
| Tests whether this Richardson level should be done. | |
| integer function, public | start_rich_lvl () |
| Start a Richardson level. | |
| subroutine, public | stop_rich_lvl () |
| Stop a Richardson level. | |
| subroutine, public | calc_rich_ex (sol_val) |
| Calculates the coefficients of the Eigenvalues in the Richardson extrapolation. | |
| integer function, public | find_max_rich_lvl (lvl_rich_req, max_lvl_rich_file) |
| Probe to find out which Richardson levels are available. | |
Operations concerning Richardson extrapolation.
| subroutine, public rich_ops::calc_rich_ex | ( | complex(dp), dimension(:), intent(in) | sol_val | ) |
Calculates the coefficients of the Eigenvalues in the Richardson extrapolation.
This is done using the recursive formula:
\[ s(l,i,:) = s(l,i-1,:) + \frac{1}{2^{2 \ p \ i} - 1} (s(l,i-1,:) - s(l-1,i-1,:)), \]
where \(s\) = sol_val_rich, \(i\) = ir, \(l\) = lvl and \(p\) = norm_disc_prec_sol, the order of the numerical discretization. as described in [4], algorithm 3.2, p. 306.
| [in] | sol_val | EV for this Richardson level |
Definition at line 458 of file rich_ops.f90.
| logical function, public rich_ops::do_rich |
Tests whether this Richardson level should be done.
Definition at line 312 of file rich_ops.f90.
| integer function, public rich_ops::find_max_rich_lvl | ( | integer, intent(inout) | lvl_rich_req, |
| integer, intent(inout) | max_lvl_rich_file ) |
Probe to find out which Richardson levels are available.
| [in,out] | lvl_rich_req | requested Richardson level |
| [in,out] | max_lvl_rich_file | max. Richardson level found in file |
Definition at line 537 of file rich_ops.f90.
| integer function, public rich_ops::init_rich |
Initialize Richardson extrapolation system.
Needs to be called only once.
Definition at line 27 of file rich_ops.f90.
| integer function, public rich_ops::start_rich_lvl |
Start a Richardson level.
Calculates n_par_X for this level. Then uses this to divide the jobs. equilibrium Finally, the limits are set up for these jobs.
Definition at line 326 of file rich_ops.f90.
| subroutine, public rich_ops::stop_rich_lvl |
Stop a Richardson level.
It decides whether convergence has been reached, and possibly sets a guess for the next level.
Definition at line 404 of file rich_ops.f90.
| subroutine, public rich_ops::term_rich |
Terminate the Richardson extrapolation system.
Needs to be called only once.
Definition at line 219 of file rich_ops.f90.