diff --git a/src/time_integration_mod.F90 b/src/time_integration_mod.F90 index e8cff1d4033fd0c52a1beb743023cc52fcd62021..ce550814a7491af6f5b3eeff59599b58826dd5ee 100644 --- a/src/time_integration_mod.F90 +++ b/src/time_integration_mod.F90 @@ -70,6 +70,9 @@ CONTAINS use parallel, ONLY: my_id IMPLICIT NONE SELECT CASE (numerical_scheme) + ! Order 1 method + CASE ('EE') + CALL EE ! Order 2 methods CASE ('RK2') CALL RK2 @@ -95,6 +98,22 @@ CONTAINS IF (my_id .EQ. 0) WRITE(*,*) " Time integration with ", numerical_scheme END SUBROUTINE set_numerical_scheme + !!! first order time schemes + SUBROUTINE EE + ! Butcher coeff for Euler Explicit scheme + USE basic + USE prec_const + IMPLICIT NONE + INTEGER,PARAMETER :: nbstep = 1 + CALL allocate_array(c_E,1,nbstep) + CALL allocate_array(b_E,1,nbstep,1,1) + CALL allocate_array(A_E,1,nbstep,1,nbstep) + ntimelevel = 1 + c_E(1) = 0._xp + b_E(1,1) = 1._xp + A_E(1,1) = 0._xp + END SUBROUTINE EE + !!! second order time schemes SUBROUTINE RK2 ! Butcher coeff for clasical RK2 (Heun's)