anchor.diff:          CXX=(XYZ(4,N)-XYZ(1,N))/XL
           CXY=(XYZ(5,N)-XYZ(2,N))/XL
           CXZ=(XYZ(6,N)-XYZ(3,N))/XL
  -        CYX=-CXX*CXZ/SQRT(CXX*CXX+CXY*CXY)
  -        CYY=-CXY*CXZ/SQRT(CXX*CXX+CXY*CXY)
  -        CYZ=SQRT(CXX*CXX+CXY*CXY)
  -        CZX=CXY/SQRT(CXX*CXX+CXY*CXY)
  -        CZY=-CXX/SQRT(CXX*CXX+CXY*CXY)
  -        CZZ=0.0
  +        
  +        IF ((ABS(CXX-0.0)<10E-5).AND.(ABS(CXY-0.0)<10E-5))THEN
  +          CYX=1.0
  +          CYY=0.0
  +          CYZ=0.0
  +          CZX=0.0
  +          CZY=1.0
  +          CZZ=0.0 
  +        
  +        ELSE
  +          CYX=-CXX*CXZ/SQRT(CXX*CXX+CXY*CXY)
  +          CYY=-CXY*CXZ/SQRT(CXX*CXX+CXY*CXY)
  +          CYZ=SQRT(CXX*CXX+CXY*CXY)
  +          CZX=CXY/SQRT(CXX*CXX+CXY*CXY)
  +          CZY=-CXX/SQRT(CXX*CXX+CXY*CXY)
  +          CZZ=0.0  
  +        ENDIF
           
           T(1,1)=CXX
           T(1,2)=CXY
  
positive.code:         S(10,10)=G(MTYPE)*J_Z(MTYPE)/XL
          S(11,11)=4.0*E(MTYPE)*I_Y(MTYPE)/XL
          S(12,12)=4.0*E(MTYPE)*I_Z(MTYPE)/XL
          S(5,3)=-6.0*E(MTYPE)*I_Z(MTYPE)/(XL*XL)
          S(6,2)=6.0*E(MTYPE)*I_Z(MTYPE)/(XL*XL)
          S(7,1)=-E(MTYPE)*AREA(MTYPE)/XL
          S(8,2)=-12.0*E(MTYPE)*I_Z(MTYPE)/(XL*XL*XL)
  
negative.code:         S(10,10)=G(MTYPE)*J_Z(MTYPE)/XL
          S(11,11)=4.0*E(MTYPE)*I_Y(MTYPE)/XL
          S(12,12)=4.0*E(MTYPE)*I_Z(MTYPE)/XL
          S(5,3)=-6.0*E(MTYPE)*I_Y(MTYPE)/(XL*XL)
          S(6,2)=6.0*E(MTYPE)*I_Z(MTYPE)/(XL*XL)
          S(7,1)=-E(MTYPE)*AREA(MTYPE)/XL
          S(8,2)=-12.0*E(MTYPE)*I_Z(MTYPE)/(XL*XL*XL)
  