MPI-AMRVAC  3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
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 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...
 

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 56 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 614 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,
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.

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 600 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 571 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 739 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 772 of file mod_advance.t.

Here is the call graph for this function: