29 public :: linsystem_solver
42 real(RP),
dimension(Na),
intent(out) :: a
43 real(RP),
dimension(N) ,
intent(out) :: b
44 real(RP),
dimension(3) ,
intent(in) :: x
45 real(RP) ,
intent(in) :: t
46 real(RP),
dimension(N) ,
intent(in) :: y
47 integer ,
intent(in) :: N, Na
52 subroutine linsystem_solver(x, ierr, y)
54 real(RP),
dimension(:),
intent(inout) :: x
55 logical ,
intent(out) :: ierr
56 real(RP),
dimension(:),
intent(in) :: y
57 end subroutine linsystem_solver
68 integer,
intent(in) :: method
69 character(len=15) :: name
98 name=
"Modif. ERK2 (B)" 159 integer,
intent(in) :: method
163 if ( (method<=0).OR.(method>
ode_tot_nb) )
then 205 integer ,
intent(in) :: method
206 real(RP),
intent(in) :: dt
217 cs = dt * 2._rp / 3._rp
223 cs = dt * 9._rp / 16._rp
226 cs = dt * 6._rp / 11._rp
229 cs = dt * 12._rp / 25._rp
232 cs = dt * 60._rp / 137._rp
238 cs = 1._rp/sqrt(3._rp) * cos(
pi/18._rp)
244 call quit(
"ode_def: S_prefactor: unknown method" )
255 real(RP),
dimension(:,:),
intent(in) :: yy
261 nrm = maxval( abs(yy) )
263 if ((nrm>1.e4_rp) .OR. (isnan(nrm)) )
then 267 write(*,*)
"ode_def : OVERFLOW" integer, parameter ode_dc_3
Deferred corrections 3.
integer, parameter ode_be
Backward Euler.
integer, parameter ode_mcnab2
ModifiedCrank Nicholson / Adamns Bashforth 2.
integer, parameter ode_bdfsbdf3
BDF / SBDF 3.
real(rp) function, public s_prefactor(method, dt)
When discretising with two matrices, this function returns the prefactor Cs for the matrix S...
integer, parameter ode_rk4
RK4.
integer, parameter ode_erk2_b
Exp. RK2, type b.
integer, parameter, public rp
real(kind=RP) = real precision in the code REAL_TOL = epsilon to test real equality ...
integer, parameter ode_cn
Crank Nicholson.
integer, parameter ode_modif_erk2_b
modified ERK2_B
integer, parameter ode_eab4
Exponential Adamns Bashforth 4.
integer, parameter ode_tot_nb
Total number of ODE methods.
logical function, public overflow(yy)
Detects overflow.
character(len=15) function, public name_ode_method(method)
Get ODE method name.
integer, parameter ode_dc_2
Deferred corrections 2.
REAL NUMBERS PRECISION IN CHORAL: selects simple/double/quad
integer, parameter ode_eab3
Exponential Adamns Bashforth 3.
integer, parameter ode_erk2_a
Exp. RK2, type a.
integer, parameter ode_fbe
Forward / backward Euler.
real(rp), parameter, public pi
REAL CONSTANT Pi.
integer, parameter ode_erk1
Exponential Euler.
integer, parameter ode_bdfsbdf5
BDF / SBDF 5.
BOTTOM LEVEL MODULE FOR ODEs
integer choral_verb
Verbosity level.
integer, parameter ode_rl3
Rush Larsen 3.
integer, parameter ode_bdfsbdf4
BDF / SBDF 4.
DEFINITION OF GLOBAL VARIABLES FOR THE LIBRARY CHORAL
short description for real arrays
integer, parameter ode_rk2
RK2.
integer, parameter ode_cnab2
Crank Nicholson / Adamns Bashforth 2.
integer, parameter ode_fe
Forward Euler.
integer, parameter ode_bdfsbdf2
BDF / SBDF 2.
integer, parameter ode_eab2
Exponential Adamns Bashforth 2.
integer, parameter ode_rl2
Rush Larsen 2.
integer function, public order_ode_method(method)
order associated with a method
integer, parameter ode_sdirk4
SDIRK4.
integer, parameter ode_rl4
Rush Larsen 4.