MPI-AMRVAC
3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
|
Module containing all the time stepping schemes. More...
Functions/Subroutines | |
subroutine, public | advance (iit) |
Advance all the grids over one time step, including all sources. More... | |
subroutine | advect (idimLIM) |
Advance all grids over one time step, but without taking dimensional splitting or split source terms into account. More... | |
subroutine | global_implicit_update (dtfactor, qdt, qtC, psa, psb) |
Implicit global update step within IMEX schemes, advance psa=psb+dtfactor*qdt*F_im(psa) More... | |
subroutine | evaluate_implicit (qtC, psa) |
Evaluate Implicit part in place, i.e. psa==>F_im(psa) More... | |
subroutine | advect1 (method, dtfactor, idimLIM, qtC, psa, qt, psb) |
Integrate all grids by one partial step. More... | |
subroutine | advect1_grid (method, qdt, dtfactor, ixIL, idimLIM, qtC, sCT, qt, s, fC, fE, dxs, x) |
Advance a single grid over one partial time step. More... | |
subroutine, public | process (iit, qt) |
process is a user entry in time loop, before output and advance allows to modify solution, add extra variables, etc. Warning: CFL dt already determined (and is not recomputed)! More... | |
subroutine, public | process_advanced (iit, qt) |
process_advanced is user entry in time loop, just after advance allows to modify solution, add extra variables, etc. added for handling two-way coupled PIC-MHD Warning: w is now at global_time^(n+1), global time and iteration at global_time^n, it^n More... | |
Module containing all the time stepping schemes.
subroutine, public mod_advance::advance | ( | integer, intent(in) | iit | ) |
Advance all the grids over one time step, including all sources.
Definition at line 17 of file mod_advance.t.
subroutine mod_advance::advect | ( | integer, intent(in) | idim, |
integer, intent(in) | LIM | ||
) |
Advance all grids over one time step, but without taking dimensional splitting or split source terms into account.
Definition at line 56 of file mod_advance.t.
subroutine mod_advance::advect1 | ( | integer, dimension(nlevelshi), intent(in) | method, |
double precision, intent(in) | dtfactor, | ||
integer, intent(in) | idim, | ||
integer, intent(in) | LIM, | ||
double precision, intent(in) | qtC, | ||
type(state), dimension(max_blocks), target | psa, | ||
double precision, intent(in) | qt, | ||
type(state), dimension(max_blocks), target | psb | ||
) |
Integrate all grids by one partial step.
psa | Compute fluxes based on this state | |
psb | Update solution on this state | |
[in] | dtfactor | Advance over dtfactor * dt |
Definition at line 614 of file mod_advance.t.
subroutine mod_advance::advect1_grid | ( | integer, intent(in) | method, |
double precision, intent(in) | qdt, | ||
double precision, intent(in) | dtfactor, | ||
integer, intent(in) | ixI, | ||
integer, intent(in) | L, | ||
integer, intent(in) | idim, | ||
integer, intent(in) | LIM, | ||
double precision, intent(in) | qtC, | ||
type(state), target | sCT, | ||
double precision, intent(in) | qt, | ||
type(state), target | s, | ||
double precision, dimension(ixi^s,1:nwflux,1:ndim) | fC, | ||
double precision, dimension(ixi^s,sdim:3) | fE, | ||
double precision, dimension(ndim), intent(in) | dxs, | ||
double precision, dimension(ixi^s,1:ndim), intent(in) | x | ||
) |
Advance a single grid over one partial time step.
Definition at line 689 of file mod_advance.t.
subroutine mod_advance::evaluate_implicit | ( | double precision, intent(in) | qtC, |
type(state), dimension(max_blocks), target | psa | ||
) |
Evaluate Implicit part in place, i.e. psa==>F_im(psa)
psa | Compute implicit part from this state and update it | |
[in] | qtc | psa at this time level |
Definition at line 600 of file mod_advance.t.
subroutine mod_advance::global_implicit_update | ( | double precision, intent(in) | dtfactor, |
double precision, intent(in) | qdt, | ||
double precision, intent(in) | qtC, | ||
type(state), dimension(max_blocks), target | psa, | ||
type(state), dimension(max_blocks), target | psb | ||
) |
Implicit global update step within IMEX schemes, advance psa=psb+dtfactor*qdt*F_im(psa)
psa | Compute implicit part from this state and update it | |
psb | Will be unchanged, as on entry | |
[in] | qdt | overall time step dt |
[in] | qtc | Both states psa and psb at this time level |
[in] | dtfactor | Advance psa=psb+dtfactor*qdt*F_im(psa) |
First copy all variables from a to b, this is necessary to account for
Definition at line 571 of file mod_advance.t.
subroutine, public mod_advance::process | ( | integer, intent(in) | iit, |
double precision, intent(in) | qt | ||
) |
process is a user entry in time loop, before output and advance allows to modify solution, add extra variables, etc. Warning: CFL dt already determined (and is not recomputed)!
Definition at line 739 of file mod_advance.t.
subroutine, public mod_advance::process_advanced | ( | integer, intent(in) | iit, |
double precision, intent(in) | qt | ||
) |
process_advanced is user entry in time loop, just after advance allows to modify solution, add extra variables, etc. added for handling two-way coupled PIC-MHD Warning: w is now at global_time^(n+1), global time and iteration at global_time^n, it^n
Definition at line 772 of file mod_advance.t.