Dear Dr. Jason
Load Case 3.8 - damage case 1: loss of one mooring line at fairlead (line 1).
The simulation length is 60 s before loss / 60 min after loss.
I have revised it according to your suggestion.
 misc%FAIR_T(LEG) = 0*x%GLU(LEG,(p%NumElems+1)*p%NHBD-1)
 misc%ANCH_T(LEG) = 0*x%GLU(LEG,p%NHBD-1) 
Now, It can’t zero out loads of the fairlead at a given point in time.
Is the other code wrong?
[code] !----------------------------------------------------------------------------------------------------------------------------------
!> Routine for computing outputs, used in both loose and tight coupling.
SUBROUTINE FEAM_CalcOutput    ( t, u, p, x, xd, z, OtherState, y, misc, ErrStat, ErrMsg )
!..
REAL(DbKi),                     INTENT(IN   )  :: t           ! Current simulation time in seconds
TYPE(FEAM_InputType),           INTENT(IN   )  :: u           ! Inputs at t
TYPE(FEAM_ParameterType),       INTENT(IN   )  :: p           ! Parameters
TYPE(FEAM_ContinuousStateType), INTENT(IN   )  :: x           ! Continuous states at t
TYPE(FEAM_DiscreteStateType),   INTENT(IN   )  :: xd          ! Discrete states at t
TYPE(FEAM_ConstraintStateType), INTENT(IN   )  :: z           ! Constraint states at t
TYPE(FEAM_OtherStateType),      INTENT(IN   )  :: OtherState  ! Other states at t
TYPE(FEAM_OutputType),          INTENT(INOUT)  :: y           ! Outputs computed at t (Input only so that mesh con-
                                                              !   nectivity information does not have to be recalculated)
TYPE(FEAM_MiscVarType),         INTENT(INOUT)  :: misc        ! misc/optimization variables
INTEGER(IntKi),                 INTENT(  OUT)  :: ErrStat     ! Error status of the operation
CHARACTER(*),                   INTENT(  OUT)  :: ErrMsg      ! Error message if ErrStat /= ErrID_None
! Local variables
REAL(ReKi)                                     :: AllOuts(MaxOutPts)     ! All the the available output channels
INTEGER(IntKi)                                 :: I,J                    ! Generic loop index
INTEGER(IntKi)                                 :: LEG                    ! Generic index
REAL(ReKi)                                     :: TEMP                   ! Temporary storage
! Initialize ErrStat
ErrStat = ErrID_None
ErrMsg  = ""
 
DO LEG=1,p%NumLines
   IF (t>=60 .AND. LEG==1) THEN
    ! Fairlead & Anchor tensions Output
    misc%FAIR_T(LEG) = 0*x%GLU(LEG,(p%NumElems+1)*p%NHBD-1)
    misc%ANCH_T(LEG) = 0*x%GLU(LEG,p%NHBD-1)
    ELSE
    misc%FAIR_T(LEG) = x%GLU(LEG,(p%NumElems+1)*p%NHBD-1)
    misc%ANCH_T(LEG) = x%GLU(LEG,p%NHBD-1)
    END IF    
    ! Fairlead & Anchor angle output
    DO I=1, p%NDIM
        misc%FAIR_ANG(LEG,I) = x%GLU(LEG,p%NumElems*p%NHBD+I*2)
        misc%ANCH_ANG(LEG,I) = x%GLU(LEG,I*2)
    ENDDO
    ! Line element displacement & tangent vector output
    DO I=1, p%NumElems+1
        DO J=1, p%NDIM
            misc%Line_Coordinate(LEG,I,J) = x%GLU(LEG,(I-1)*p%NHBD+J*2-1)
            misc%Line_Tangent(   LEG,I,J) = x%GLU(LEG,(I-1)*p%NHBD+J*2  )
        ENDDO
    ENDDO
     ! OtherState%FAST_RP is set in UpdateStates (FEAM_Solve); seems like we should just recalculate it here:        
   TEMP = SQRT(OtherState%FAST_RP(LEG,1)**2+OtherState%FAST_RP(LEG,2)**2+OtherState%FAST_RP(LEG,3)**2)
   DO J=1,p%NDIM
       misc%F_Lines(LEG,J) = misc%FAIR_T(LEG)*(-OtherState%FAST_RP(LEG,J)/TEMP)
   END DO
ENDDO 
DO i = 1,y%PtFairleadLoad%NNodes
    y%PtFairleadLoad%Force(1,i) = misc%F_Lines(i,1) 
    y%PtFairleadLoad%Force(2,i) = misc%F_Lines(i,2)
    y%PtFairleadLoad%Force(3,i) = misc%F_Lines(i,3)
END DO [/code]
Best Regards
Jason.Lai