        subroutine FNSetParameters(fn, na, alpha, nb, beta ,ierr)
       FN fn ! FN
       PetscInt na ! PetscInt
       PetscScalar alpha ! PetscScalar
       PetscInt nb ! PetscInt
       PetscScalar beta ! PetscScalar
       integer ierr
       end subroutine
        subroutine FNGetParameters(fn, na, alpha, nb, beta ,ierr)
       FN fn ! FN
       PetscInt na ! PetscInt
       PetscScalar alpha (*) ! PetscScalar
       PetscInt nb ! PetscInt
       PetscScalar beta (*) ! PetscScalar
       integer ierr
       end subroutine
        subroutine FNEvaluateFunction(fn, x, y ,ierr)
       FN fn ! FN
       PetscScalar x ! PetscScalar
       PetscScalar y ! PetscScalar
       integer ierr
       end subroutine
        subroutine FNEvaluateDerivative(fn, x, y ,ierr)
       FN fn ! FN
       PetscScalar x ! PetscScalar
       PetscScalar y ! PetscScalar
       integer ierr
       end subroutine
        subroutine FNSetFromOptions(fn ,ierr)
       FN fn ! FN
       integer ierr
       end subroutine
