res Subroutine

public pure subroutine res(t, y, yprime, cj, delta, ires, rpar, ipar)

Residuals routine.

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in) :: t
real(kind=rk), intent(in) :: y(neq)
real(kind=rk), intent(in) :: yprime(neq)
real(kind=rk), intent(in) :: cj
real(kind=rk), intent(out) :: delta(neq)
integer, intent(inout) :: ires
real(kind=rk), intent(in) :: rpar
integer, intent(in) :: ipar

Calls

proc~~res~3~~CallsGraph proc~res~3 res proc~f f proc~res~3->proc~f

Source Code

   pure subroutine res(t, y, yprime, cj, delta, ires, rpar, ipar)
   !! Residuals routine.
      real(rk), intent(in):: t
      real(rk), intent(in):: y(neq)
      real(rk), intent(in):: yprime(neq)
      real(rk), intent(in):: cj
      real(rk), intent(out):: delta(neq)
      integer, intent(inout) :: ires
      real(rk), intent(in):: rpar
      integer, intent(in) :: ipar

      ! Check Y to make sure that it is valid input.
      ! If Y is less than or equal to zero, this is invalid input.
      if (y(1) <= zero) then
         ires = -1
         return
      else
         call f(t, y, delta)
         delta = yprime - delta
      end if

   end subroutine res