timestep

Module

Description

$Id$

MODULE_DOC: Runge-Kutta time advance, accurate to order itorder. MODULE_DOC: At the moment, itorder can be 1, 2, or 3.

** AUTOMATIC CPARAM.INC GENERATION ************************ CPARAM logical, parameter :: lcourant_dt = .true. ***********************************************************

Quick access

Variables:

a21, a31, a32, advance_substeps, after_substep_sum_time, b1, b2, b3, b4, beta_hat, c21, c31, c32, c41, c42, c43, calc_pencils_sub_cycle, dt_alpha_ts, dt_beta_hat, dt_decrease, dt_increase, dt_major, e1, e2, e3, e4, errcon, errdf, errmax, errmaxs, f1, farr, farraymin, gam, grow, itter, maxtry, ode, ode_timestep_first, ode_timestep_second, pde_energy_only, rk3, rkck, rkck3, rkl_coeff, safety, shrnk, split_update, stiff, substeps, swap, update_after_substep

Routines:

initialize_timestep(), time_step()

Needed modules

Variables

  • timestep/advance_substeps [private]
  • timestep/after_substep_sum_time [real,public/optional/default=0.0]
  • timestep/ode [private]
  • timestep/ode_timestep_first [private]
  • timestep/ode_timestep_second [private]
  • timestep/split_update [private]
  • timestep/update_after_substep [private]

Subroutines and functions

subroutine  timestep/initialize_timestep()

Coefficients for up to order 3. 26-oct-21/wlyra: added 2N-RK4 coefficients. The coefficients are for

for 4th order, but use 5 stages. Since itorder is used in the code for the number of stages, it should be 5 to use it.

Use :

messages (not_implemented()), general (itoa())

Call to:

not_implemented(), particles_timestep_first(), pointmasses_timestep_first(), solid_cells_timestep_first(), pde(), border_quenching(), pointmasses_timestep_second(), particles_timestep_second(), solid_cells_timestep_second(), impose_floors_ceilings(), update_ghosts(), advance_shear(), mpiwtime(), update_after_substep_gpu(), split_update_gpu(), split_update_density(), split_update_energy(), split_update_magnetic(), split_update_viscosity(), split_update_particles(), hydro_after_timestep(), magnetic_after_timestep(), energy_after_timestep(), special_after_timestep(), particles_special_after_dtsub(), particles_write_rmv(), dspecial_dt_ode()

subroutine  timestep/time_step(f, df, p)

2-apr-01/axel: coded

14-sep-01/axel: moved itorder to cdata

Parameters:
  • f (,,*,*) [real,contiguous]

  • df (,,*,*) [real,contiguous]

  • p [pencil_case]

Use :

gpu (split_update_gpu()), equ (pde())

Call to:

pde(), split_update_gpu(), split_update_density(), split_update_energy(), split_update_magnetic(), split_update_viscosity(), split_update_particles(), hydro_after_timestep(), magnetic_after_timestep(), energy_after_timestep(), special_after_timestep(), particles_special_after_dtsub(), particles_write_rmv(), dspecial_dt_ode()