Newer
Older
MODULE advance_field_routine
USE prec_const
implicit none
CONTAINS
SUBROUTINE advance_time_level
USE basic
USE time_integration
use prec_const
IMPLICIT NONE
call set_updatetlevel(mod(updatetlevel,ntimelevel)+1)
END SUBROUTINE advance_time_level
SUBROUTINE advance_field( f, f_rhs )
USE basic
USE time_integration
USE array
Antoine Cyril David Hoffmann
committed
COMPLEX(dp), DIMENSION ( ikrs:ikre, ikzs:ikze, ntimelevel ) :: f
COMPLEX(dp), DIMENSION ( ikrs:ikre, ikzs:ikze, ntimelevel ) :: f_rhs
DO ikr=ikrs,ikre
DO istage=1,ntimelevel
f(ikr,ikz,1) = f(ikr,ikz,1) + dt*b_E(istage)*f_rhs(ikr,ikz,istage)
END DO
END DO
END DO
CASE DEFAULT
DO istage=1,updatetlevel-1
f(ikr,ikz,updatetlevel) = f(ikr,ikz,updatetlevel) + &
dt*A_E(updatetlevel,istage)*f_rhs(ikr,ikz,istage)
END DO
END DO
END DO
END SELECT
END SUBROUTINE advance_field
END MODULE advance_field_routine