anchor.diff:           qdotdot2(1)    =       elementWaterState *u%DistribMesh%TranslationAcc(1,J)
            qdotdot2(2)    =       elementWaterState *u%DistribMesh%TranslationAcc(2,J)
            qdotdot2(3)    =       elementWaterState *u%DistribMesh%TranslationAcc(3,J)
  -         m%D_F_AM_M(:,J)  = -matmul( p%D_AM_M (:,:,J) , qdotdot2 )  !bjj: these lines take up a lot of time. are the matrices sparse?
  +         
  +            ! calculated the added mass forces (moments are zero)
  +         m%D_F_AM_M(1:3,J)  = -matmul( p%D_AM_M (:,:,J) , qdotdot2 )  !bjj: these lines take up a lot of time. are the matrices sparse?
   
            DO I=1,6
               IF (I < 4 ) THEN
  
positive.code:     !  p%NMorisonElements = 0
        
     END IF
     
  END SUBROUTINE Morison_ProcessMorisonGeometry
  
  !----------------------------------------------------------------------------------------------------------------------------------
  
negative.code:    CALL FindInterpFactor( boundary, node1%JointPos(axis), node2%JointPos(axis), s )
     newNode = node1 ! copy all base node properties
     
     !@mthall: set other two coordinates of new node based on interpolation of original end node coordinates
     DO I=axis,axis+1
        J = MOD(I,3) + 1
        newNode%JointPos(J) =  node1%JointPos(J)*(1-s) + node2%JointPos(J)*s
     END DO
     
     newNode%JointPos(axis) =  boundary                    !@mhall: set [axis] coordinate of new node based on provided input [boundary]
     
     newNode%R_LToG         =  node1%R_LToG   
        ! Create the new  node information.  
  