KTH framework for Nek5000 toolboxes; testing version
0.0.1
|
Time stepper for Nek5000. More...
Modules | |
Arnoldi algorithm using parpack | |
Arnoldi algorithm with PARPACK. | |
Power itertion routines | |
Power iteration submodule. | |
Files | |
file | tstpr.f |
Set of subroutines to use time steppers for e.g. power iterations or solution of eigenvalue problem with Arnoldi algorithm. | |
Functions | |
subroutine | tstpr_register () |
Register time stepper module. More... | |
subroutine | tstpr_init () |
Initilise time stepper module. More... | |
logical function | tstpr_is_initialised () |
Check if module was initialised. More... | |
subroutine | tstpr_main () |
Control time stepper after every nek5000 step and call suitable stepper_vsolve of required submodule. More... | |
subroutine | tstpr_dssum |
Average velocity and temperature at element faces. More... | |
Time stepper for Nek5000.
This module implements time stepper method for linear solver in Nek5000 using the userchk interface. It allows to perform a number of constant length cycles providing the result vector to the submodule. There are two possible submodules: power iteration and spectra calculation using the Arnoldi algorithm implemented in PARPACK. The initial condition for the next stepping cycle is provided by the submodule. Three stepper modes are supported: direct, adjoint, direct+adjoint.
There are two parameters in TSTRP include file that heve to be adjusted for the given setup. These parameters are tstpr_pr and tstpr_ht defining whetere pressure ro themperature are included in the simlulation vector. These parameters can be equal 0 or 1. The pressure is never included in the vector inner product, however for tstpr_pr=0 it is reset to zero at the beginning of each cycle. On the other hand tstpr_ht should be set to 1 for all simulations including temperature.
Varaible | Type | Runtime parameter | Description |
---|---|---|---|
tstpr_mode | integer | _tstpr:mode | simulation mode (1-direct, 2-adjoint, 3-direct+adjoint) |
tstpr_step | integer | _tstpr:steps | frequency of calling stepper_vsolve (number of time steps) |
tstpr_cmax | integer | _tstpr:maxcycles | maximal number of stepper cycles |
tstpr_tol | real | _tstpr:tol | convergence tolerance (e.g. PARPACK tolerance for Ritz values) |
subroutine tstpr_dssum |
subroutine tstpr_init |
Initilise time stepper module.
Definition at line 107 of file tstpr.f.
References cnht_cpfld_set(), cnht_init(), mntr_abort(), mntr_log(), mntr_tmr_add(), mntr_warn(), rprm_rp_get(), rzero(), and stepper_init().
logical function tstpr_is_initialised |
subroutine tstpr_main |
Control time stepper after every nek5000 step and call suitable stepper_vsolve of required submodule.
Definition at line 258 of file tstpr.f.
References cmult(), cnht_cpfld_set(), cnht_opcmult(), mntr_log(), mntr_logi(), mntr_tmr_add(), rzero(), and stepper_vsolve().
subroutine tstpr_register |
Register time stepper module.
Definition at line 11 of file tstpr.f.
References cnht_register(), mntr_abort(), mntr_mod_is_name_reg(), mntr_mod_reg(), mntr_tmr_add(), mntr_tmr_is_name_reg(), mntr_tmr_reg(), mntr_warn(), rprm_rp_reg(), rprm_sec_reg(), rprm_sec_set_act(), and stepper_register().