anchor.diff:  		integer::nseg=1,nnode=0,nel=0,system=0
           integer,allocatable::mat(:),kpoint(:)        
   		integer,allocatable::node(:),element(:)
  -		integer,allocatable::element_sp(:,:)
  +		integer,allocatable::element_sp(:,:) !ڵɵԪ
   		integer,allocatable::node2BCload(:)
           real(double),allocatable::Beamresult(:,:,:) !(node,13,istep),/dis,M,Q,Load/
   		INTEGER::NVA=14
  
positive.code: 		
  		n1=pile(ipile).node(pile(ipile).nnode)
  		allocate(pile(ipile).element_sp(2,pile(ipile).node(1):n1))
  		pile(ipile).element_sp=0.d0
  		nel1=2*pile(ipile).nnode
  		CALL enlarge_element(ELEMENT,ENUM,NEL1,N1)
  		
  
negative.code: 			
  			iel1=pile(IPILE).element(j)
  			nnode1=element(iel1).node
  			if(element(ieL1).ifreedof>0) then
  				if(nnode1(1)==freedof(element(ieL1).ifreedof).newnode) nnode1(1)=freedof(element(ieL1).ifreedof).node
  				if(nnode1(2)==freedof(element(ieL1).ifreedof).newnode) nnode1(2)=freedof(element(ieL1).ifreedof).node
  			endif            
  			do k=1,2
  				!displacement
                  IF(ISEXCA2D==1) THEN
  