timestep_RKC-10
Module
Description
- ** AUTOMATIC CPARAM.INC GENERATION ************************
CPARAM logical, parameter :: lcourant_dt = .true.
A second-order timestepping module similar to RKC (Runge-Kutta-Chebyshev). The schemes used here are all second-order (p=2) accurate Runge-Kutta schemes of stage number (number of substeps) s > 2 that trade order for extended stability interval.
For this file, s=10, so we have a 2nd-order, 10-step Runge-Kutta
scheme with a critical Courant number of ~65.3 as compared to 2.513 for any p=s=3 Runge-Kutta scheme (like the Williamson scheme in timestep.f90). Here the Courant number is
Cou = c nu dt / dx^2 ,
- where
c = 272/45 = 6.04444
for 6th-order central finite differences in space.
This scheme uses 5N array slots (as opposed to 2N for the Williamson scheme in timestep.f90), irrespective of s. [TODO: it currently uses more, but this should be fixed…]
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:
Needed modules
Variables
Subroutines and functions
- subroutine timestep/initialize_timestep()
- Call to:
- subroutine timestep/time_step(f, df, p)
Long-time-step Runge–Kutta–Chebyshev stepping, accurate to second order.
18-aug-08/perl: generated
- Parameters:
- Use :
- Call to: