gear_module.f90 File Reference

Contains the module gear_module. More...

Go to the source code of this file.

Modules

module  gear_module
 gear_module contains adaptive high-order Gear solver
 

Functions/Subroutines

subroutine, public gear_module::init_gear_solver (Y, t_init, h_init)
 Initialize iteration variables. More...
 
subroutine, public gear_module::init_dydt (dYdt)
 Initialize dYdt component of the Nordsieck vector. More...
 
real(r_kind) function, public gear_module::get_time ()
 The current time. More...
 
real(r_kind) function, public gear_module::get_timestep ()
 The current timestep. More...
 
subroutine, public gear_module::set_timestep (timestep)
 Set the current timestep. More...
 
subroutine, public gear_module::revert_timestep (timestep)
 Revert a timestep. More...
 
real(r_kind) function, public gear_module::get_l1 ()
 The current l_1 (in Fortran: l(2)) More...
 
real(r_kind) function, dimension(net_size), public gear_module::get_solution ()
 Gives a copy of the solution at the current time. More...
 
real(r_kind) function, dimension(net_size), public gear_module::get_predictor_y ()
 Determines the predicted y_next. More...
 
real(r_kind) function, dimension(net_size), public gear_module::get_predictor_dydt ()
 Determines the predicted dydt_next. More...
 
subroutine, public gear_module::get_solution_at (time_inter, Y_inter)
 Determines the solution at a given point in time for [ti-h, ti]. More...
 
subroutine, public gear_module::shift_tau
 Shifts tau vector and controls the current time. More...
 
subroutine, public gear_module::nordsieck_product
 Nordsieck vector-matrix product. More...
 
subroutine, public gear_module::set_xi
 Function to calculate xi (needed for getting l in the corrector step) More...
 
subroutine, public gear_module::set_l
 Function to calculate \( \ell \) (needed for the corrector step) More...
 
subroutine, public gear_module::set_new_result (ydiff)
 Updates the solution (corrector step) More...
 
subroutine, public gear_module::prepare_next_step
 Stepsize and order control to pepare the next step. More...
 
subroutine, private gear_module::geterrors
 Calculate errors (helper functions below) More...
 
subroutine gear_module::errorq
 Calculate the errors for the current order. More...
 
subroutine, private gear_module::errorqm1
 Calculate the errors for the order (q-1) More...
 
subroutine, private gear_module::errorqp1
 Calculate the errors for the order (q+1) More...
 
subroutine, private gear_module::qfun (helpprod, qval)
 Calculate Helper function Q. More...
 
subroutine gear_module::cfun (qp1, xi_in, helpprod, cval)
 Calculate helper function C. More...
 
subroutine, private gear_module::shiftorder
 Adjusts the order, if possible and necessary. This is done every qth step, or earlier in case the time step was modified. More...
 
real(r_kind) function, private gear_module::get_cfactor (q_val)
 Function to set the conservative timestep factor depending on the current order q. More...
 

Variables

integer, parameter, private gear_module::histsize = 13
 length of history in tau, e, ... More...
 
integer, parameter, private gear_module::qmax = 5
 maximum order of q More...
 
real(r_kind), dimension(6, 6), private gear_module::amat = reshape( (/ 1.0d0, 1.0d0, 1.0d0, 1.0d0, 1.0d0, 1.0d0, 0.0d0, 1.0d0, 2.0d0, 3.0d0, 4.0d0, 5.0d0, 0.0d0, 0.0d0, 1.0d0, 3.0d0, 6.0d0,10.0d0, 0.0d0, 0.0d0, 0.0d0, 1.0d0, 4.0d0,10.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 1.0d0, 5.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 1.0d0 /), (/6, 6/) )
 Helper Matrix. More...
 
integer, private gear_module::ifac
 
integer, dimension(qmax+1), private gear_module::helperarr = (/ (ifac, ifac=1,qmax+1) /)
 
integer, dimension(qmax+1), private gear_module::factorial
 
integer, public gear_module::gear_nr_count = 0
 counter for NR steps More...
 
integer, private gear_module::q
 
integer, private gear_module::n
 
integer, private gear_module::nq
 
real(r_kind), private gear_module::ti
 
real(r_kind), private gear_module::h
 
integer, private gear_module::q_ini = 1
 start with order 1 More...
 
integer, private gear_module::n_ini = 1
 iteration step More...
 
integer, private gear_module::nq_ini = 1
 iteration step at current order More...
 
real(r_kind), dimension(histsize), private gear_module::tau
 hlist inverted More...
 
real(r_kind), dimension(:,:), allocatable, private gear_module::z
 Nordsieck vector It is defined as. More...
 
real(r_kind), dimension(:,:), allocatable, private gear_module::znew
 Predictor step. More...
 
real(r_kind), dimension(histsize), private gear_module::xi
 
real(r_kind), dimension(:), allocatable, private gear_module::en
 
real(r_kind), dimension(:,:), allocatable, private gear_module::e
 
real(r_kind), dimension(histsize), private gear_module::l
 
real(r_kind), dimension(histsize), private gear_module::el
 
real(r_kind), dimension(:), allocatable, private gear_module::errq
 
real(r_kind), dimension(:), allocatable, private gear_module::errqm1
 
real(r_kind), dimension(:), allocatable, private gear_module::errqp1
 
integer, private gear_module::alloc_stat
 
real(r_kind), private gear_module::hq
 
real(r_kind), private gear_module::hqp1
 
real(r_kind), private gear_module::hqm1
 

Detailed Description

Contains the module gear_module.

The error file code for this file is W22.

Definition in file gear_module.f90.