rt Subroutine

public pure subroutine rt(neq, t, u, uprime, nrt, rval, rpar, ipar)

Roots routine.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: neq
real(kind=rk), intent(in) :: t
real(kind=rk), intent(in) :: u(neq)
real(kind=rk), intent(in) :: uprime(neq)
integer, intent(in) :: nrt
real(kind=rk), intent(out) :: rval(nrt)
real(kind=rk), intent(in) :: rpar(*)
integer, intent(in) :: ipar(*)

Variables

Type Visibility Attributes Name Initial
real(kind=rk), public :: umax

Source Code

   pure subroutine rt(neq, t, u, uprime, nrt, rval, rpar, ipar)
   !! Roots routine. 
      integer, intent(in) :: neq
      real(rk), intent(in) :: t
      real(rk), intent(in) :: u(neq)
      real(rk), intent(in) :: uprime(neq)
      integer, intent(in) :: nrt
      real(rk), intent(out) :: rval(nrt)
      real(rk), intent(in) :: rpar(*)
      integer, intent(in) :: ipar(*)

      real(rk) :: umax

      umax = maxval(u)
      rval(1) = umax - 0.1_rk
      rval(2) = umax - 0.01_rk

   end subroutine rt