timestep_sts
Module
Description
$Id$
** AUTOMATIC CPARAM.INC GENERATION ************************ CPARAM logical, parameter :: lcourant_dt = .true. ***********************************************************
Module for the super-time-stepping scheme (STS) for diffusive terms (Alexiades, V., Amiez, G., & Gremaud, P. 1996, Commun. Num. Meth. Eng., 12, 31) which goes back to W. Gentzsch (ZAMM 58, T415-T416, 1978).
TODO: add i.e. particles, interstellar, shear
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
cdata: $Id$
Variables
Subroutines and functions
- subroutine timestep/initialize_timestep()
- Call to:
pde(),border_quenching(),special_after_timestep(),fatal_error()
- subroutine timestep/time_step(f, df, p)
Temporal advance for a diffusion problem using STS. ‘itorder’ plays the role of the parameter N in Alexiades paper, which usually lies between 3 and 20, where lower values have higher accuracy and higher values give larger speed-ups. ‘nu_sts’ is defined in run_pars and must have vales between 0.0 and 1.0 (default 0.1).
17-march-11/gustavo: coded 08-march-12/bing+bourdin.kis: first stable
- Parameters:
f (,,*,*) [real,inout,contiguous]
df (,,*,*) [real,out,contiguous]
p [pencil_case,out]
- Use :
borderprofiles(border_quenching()),equ(pde()),mpicomm(mpiallreduce_max(),mpi_comm_pencil()),special(special_after_timestep())- Call to:
pde(),border_quenching(),special_after_timestep(),fatal_error()