MPI-AMRVAC  3.0
The MPI - Adaptive Mesh Refinement - Versatile Advection Code
Functions/Subroutines
mod_advance Module Reference

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 process1_grid (method, igrid, qdt, ixIL, idimLIM, qtC, sCT, qt, s, sold)
 Prepare to advance a single grid over one partial time step. More...
 
subroutine advect1_grid (method, qdt, ixIL, idimLIM, qtC, sCT, qt, s, sold, 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...
 

Detailed Description

Module containing all the time stepping schemes.

Function/Subroutine Documentation

◆ advance()

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.

Here is the call graph for this function:

◆ advect()

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 68 of file mod_advance.t.

Here is the call graph for this function:

◆ advect1()

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.

Parameters
psaCompute fluxes based on this state
psbUpdate solution on this state
[in]dtfactorAdvance over dtfactor * dt

Definition at line 625 of file mod_advance.t.

Here is the call graph for this function:

◆ advect1_grid()

subroutine mod_advance::advect1_grid ( integer, intent(in)  method,
double precision, intent(in)  qdt,
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,
type(state), target  sold,
double precision, dimension(ixi^s,1:nwflux,1:ndim)  fC,
double precision, dimension(ixi^s,7-2*ndim: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 723 of file mod_advance.t.

Here is the call graph for this function:

◆ evaluate_implicit()

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)

Parameters
psaCompute implicit part from this state and update it
[in]qtcpsa at this time level

Definition at line 611 of file mod_advance.t.

◆ global_implicit_update()

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)

Parameters
psaCompute implicit part from this state and update it
psbWill be unchanged, as on entry
[in]qdtoverall time step dt
[in]qtcBoth states psa and psb at this time level
[in]dtfactorAdvance psa=psb+dtfactor*qdt*F_im(psa)

First copy all variables from a to b, this is necessary to account for

Definition at line 582 of file mod_advance.t.

Here is the call graph for this function:

◆ process()

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 768 of file mod_advance.t.

Here is the call graph for this function:

◆ process1_grid()

subroutine mod_advance::process1_grid ( integer, intent(in)  method,
integer, intent(in)  igrid,
double precision, intent(in)  qdt,
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,
type(state), target  sold 
)

Prepare to advance a single grid over one partial time step.

Definition at line 692 of file mod_advance.t.

Here is the call graph for this function:

◆ process_advanced()

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 801 of file mod_advance.t.

Here is the call graph for this function: