dummy_jacv Subroutine

public subroutine dummy_jacv(n, xcur, fcur, ijob, v, z, rpar, ipar, itrmjv)

A dummy subroutine which does not apply a preconditioner or calculate an analytic Jacobian. This can be passed to nitsol for the argument jacv.

Arguments

Type IntentOptional AttributesName
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

Contents

Source Code


Source Code

  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