UpdateRangeSegmentT Subroutine

public subroutine UpdateRangeSegmentT(x, t)

Arguments

Type IntentOptional Attributes Name
real(kind=8), intent(in) :: x(2)
real(kind=8), intent(in) :: t(2)

Called by

proc~~updaterangesegmentt~~CalledByGraph proc~updaterangesegmentt UpdateRangeSegmentT proc~quad Quad proc~quad->proc~updaterangesegmentt proc~evaluatessp EvaluateSSP proc~evaluatessp->proc~quad proc~bellhopcore~2 BellhopCore proc~bellhopcore~2->proc~evaluatessp proc~influencecervenycart InfluenceCervenyCart proc~bellhopcore~2->proc~influencecervenycart proc~traceray2d~2 TraceRay2D proc~bellhopcore~2->proc~traceray2d~2 proc~influencecervenycart->proc~evaluatessp proc~readenvironment ReadEnvironment proc~readenvironment->proc~evaluatessp proc~reflect2d~2 Reflect2D proc~reflect2d~2->proc~evaluatessp proc~step2d Step2D proc~step2d->proc~evaluatessp proc~traceray2d~2->proc~evaluatessp proc~traceray2d~2->proc~reflect2d~2 proc~traceray2d~2->proc~step2d proc~bellhopcore BellhopCore proc~bellhopcore->proc~influencecervenycart program~bellhop BELLHOP program~bellhop->proc~bellhopcore~2 program~bellhop->proc~readenvironment program~bellhop3d BELLHOP3D program~bellhop3d->proc~readenvironment program~bellhop3d->proc~bellhopcore

Source Code

  SUBROUTINE UpdateRangeSegmentT( x, t )
     REAL (KIND=8), INTENT(IN) :: x( 2 ), t( 2 )

     ! LP: See UpdateDepthSegmentT

     IF ( t( 1 ) >= 0.0 ) THEN
        ! SSP%Seg%r( iSegr ) <= x( 1 ) < SSP%Seg%r( iSegr + 1 )
        DO WHILE ( x( 1 ) < SSP%Seg%r( iSegr ) .AND. iSegr > 1 )
           iSegr = iSegr - 1
        END DO
        DO WHILE ( x( 1 ) >= SSP%Seg%r( iSegr + 1 ) .AND. iSegr < SSP%Nr-1 )
           iSegr = iSegr + 1
        END DO
     ELSE
        ! SSP%Seg%r( iSegr ) < x( 1 ) <= SSP%Seg%r( iSegr + 1 )
        DO WHILE ( x( 1 ) > SSP%Seg%r( iSegr + 1 ) .AND. iSegr < SSP%Nr-1 )
           iSegr = iSegr + 1
        END DO
        DO WHILE ( x( 1 ) <= SSP%Seg%r( iSegr ) .AND. iSegr > 1 )
           iSegr = iSegr - 1
        END DO
     ENDIF

  END SUBROUTINE UpdateRangeSegmentT