!
! sdd.f90
!
! Vector field function for: sdd
! These functions are to be used with DDE_SOLVER_M.
!
! This file was generated by the program VFGEN (Version:2.1.0)
! Generated on  3-Jun-2007 at 12:24
!
!
! The lags are: {-beta+t}

MODULE DEFINE_sdd_DDEs

    IMPLICIT NONE
    INTEGER, PARAMETER :: NEQN=1, NLAGS=1

CONTAINS

    SUBROUTINE sdd_ddes(t,x_,Zlags_,vf_)
    ! Arguments
    DOUBLE PRECISION :: t
    DOUBLE PRECISION, DIMENSION(NEQN) :: x_, vf_
    DOUBLE PRECISION, DIMENSION(NEQN,NLAGS) :: Zlags_
    ! Local variables
    DOUBLE PRECISION beta, delayedy
    DOUBLE PRECISION y
    ! State variables
    y          = x_(1)
    ! Expressions
    beta = log(y)-1.0
    delayedy = Zlags_(1,1)
    ! The vector field
    vf_(1) = y/(t+1.0)*delayedy

    RETURN
    END SUBROUTINE sdd_ddes

    SUBROUTINE sdd_history(t,x_)
    DOUBLE PRECISION :: t
    DOUBLE PRECISION, DIMENSION(NEQN) :: x_

    x_(1) = 1.0

    RETURN
    END SUBROUTINE sdd_history

    SUBROUTINE sdd_beta(t,x_,bval_)
    ! Arguments
    DOUBLE PRECISION :: t
    DOUBLE PRECISION, DIMENSION(NEQN) :: x_
    DOUBLE PRECISION, DIMENSION(NLAGS) :: bval_
    ! Local variables
    DOUBLE PRECISION beta, delayedy
    DOUBLE PRECISION y

    ! State variables
    y          = x_(1)
    ! Expressions
    beta = log(y)-1.0
    bval_(1) = beta
    END SUBROUTINE sdd_beta

END MODULE DEFINE_sdd_DDEs
