A dummy subroutine which does not apply a preconditioner or
 calculate an analytic Jacobian. This can be passed to nitsol
 for the argument jacv.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n | |||
| real(kind=r8), | intent(in), | dimension(n) | :: | xcur | ||
| real(kind=r8), | intent(in), | dimension(n) | :: | fcur | ||
| integer, | intent(in) | :: | ijob | |||
| real(kind=r8), | intent(in), | dimension(n) | :: | v | ||
| real(kind=r8), | intent(out), | dimension(n) | :: | z | ||
| real(kind=r8), | intent(inout), | dimension(*) | :: | rpar | ||
| integer, | intent(inout), | dimension(*) | :: | ipar | ||
| integer, | intent(out) | :: | itrmjv | 
  subroutine dummy_jacv(n, xcur, fcur, ijob, v, z, rpar, ipar, itrmjv)
    !* Author: Chris MacMackin
    !  Date: November 2016
    !
    ! A dummy subroutine which does not apply a preconditioner or
    ! calculate an analytic Jacobian. This can be passed to [[nitsol]]
    ! for the argument `jacv`.
    ! 
    integer, intent(in)                   :: n
      ! Dimension of the problem
    real(r8), dimension(n), intent(in)    :: xcur
      ! Array of length `n` containing the current \(x\) value
    real(r8), dimension(n), intent(in)    :: fcur
      ! Array of length `n` containing the current \(f(x)\) value
    integer, intent(in)                   :: ijob
      ! Integer flag indicating which product is desired. 0
      ! indicates \(z = J\vec{v}\). 1 indicates \(z = P^{-1}\vec{v}\).
    real(r8), dimension(n), intent(in)    :: v
      ! An array of length `n` to be multiplied
    real(r8), dimension(n), intent(out)   :: z
      ! An array of length n containing the desired product on
      ! output.
    real(r8), dimension(*), intent(inout) :: rpar
      ! Parameter/work array 
    integer, dimension(*), intent(inout)  :: ipar
      ! Parameter/work array
    integer, intent(out)                  :: itrmjv
      ! Termination flag. 0 indcates normal termination, 1
      ! indicatesfailure to prodce \(J\vec{v}\), and 2 indicates
      ! failure to produce \(P^{-1}\vec{v}\)
  end subroutine dummy_jacv