anchor.diff:      his(1:573,ElemTo,1)=his(1:573,ElemFrom,1)
   
       nnn2(ElemTo,1)=nnn2(ElemFrom,1)
  -    !!--- lumped mass matrix
  -    do j=1,4
  -        ym(j,ElemTo)=ym(j,ElemFrom)*ElemCrackingClassMain%rAreaRatio
  -        ym(j,ElemFrom)=ym(j,ElemFrom)*ElemCrackingClassOverlapping%rAreaRatio
  -    end do
   
       fhg(ElemTo,1:8)=fhg(ElemFrom,1:8)
       fhghis(ElemTo,1:8)=fhghis(ElemFrom,1:8)
  
positive.code:         do j=1,4    !--each edge can be shared between more than one elem
              if(bElemValidMain(j) ==1) then
                  ElemIdtemp=ElemIdsNewMain(j)
                  !- to get the elem nodes coordinates
                  do i=1, 4
                      xs(i)=NodesCoordx(ElemConnect(i,ElemIdtemp))+NodesDispl(DofIds(1,ElemConnect(i,ElemIdtemp)))
                      ys(i)=NodesCoordy(ElemConnect(i,ElemIdtemp))+NodesDispl(DofIds(2,ElemConnect(i,ElemIdtemp)))
                  enddo
                  CALL ElemCrackingClassMain(j)%EC_CalcCrackedElemAreaRatio (xs,ys,4,ElemConnect(:,ElemIdtemp))
  
                  !-- copy elem in EC_BaseClass copies also the connectivity, ... update that in the next two line
                  CALL EC_CopyElemsData(ElemIdsNewMain(j),ElemIdsNewMain(j),ElemCrackingClassMain(j),ElemCrackingClassMain(j), &
                                      ElemMaterial, freep,ym )
                  !-- ... update that in the next two line
                  ElemConnect(1:4,ElemIdtemp)=ElemCrackingClassMain(j)%iElemConnectivity(1:4)
                  pEC_ElemData(ElemIdsNewMain(j))%iElemConnectivity(1:4)=ElemCrackingClassMain(j)%iElemConnectivity(1:4)
                  pEC_ElemData(ElemIdsNewMain(j))%rAreaRatio=ElemCrackingClassMain(j)%rAreaRatio
  
                  !-- set the related elem to overlap
                  pEC_ElemData(ElemIdsNewMain(j))%iElemOverlapping=ElemIdsNewOverlapping(j)
                  !-- track the split elem in the file iFU_frac_crackOverlapInfo
  !!!!                e1=ElemIdsNewMain(j)
  !!!!                write(iFU_frac_crackOverlapInfo,*) e1,mSolStepCount,pEC_ElemData(e1)%iElemConnectivity, &
  !!!!                                                    pEC_ElemData(e1)%iElemEdgeNeighbors
  
                  !-- DO NOT increment EC_ElemCountCurrent ... it's the main elem
  !!!!!!                EC_ElemCountCurrent=ElemIdsNewMain(j)
              endif
              if(bElemValidOverlapping(j) ==1) then
                  ElemIdtemp=ElemIdsNewOverlapping(j)
                  !-- copy elem in EC_BaseClass copies also the connectivity, ... update that in the next two line
                  CALL EC_CopyElemsData(ElemIdsNewMain(j),ElemIdtemp,ElemCrackingClassMain(j), &
                                          ElemCrackingClassOverlapping(j),ElemMaterial, freep,ym )
                  !-- ... update that in the next two line
                  ElemConnect(1:4,ElemIdtemp)=ElemCrackingClassOverlapping(j)%iElemConnectivity(1:4)
                  pEC_ElemData(ElemIdsNewOverlapping(j))%iElemConnectivity(1:4)=ElemCrackingClassOverlapping(j)%iElemConnectivity(1:4)
                  !- has to be done here after the connectivity has been done
                  !- to get the elem nodes coordinates
                  do i=1, 4
                      xs(i)=NodesCoordx(ElemConnect(i,ElemIdtemp))+NodesDispl(DofIds(1,ElemConnect(i,ElemIdtemp)))
                      ys(i)=NodesCoordy(ElemConnect(i,ElemIdtemp))+NodesDispl(DofIds(2,ElemConnect(i,ElemIdtemp)))
                  enddo
                  !-- calc the new elem area ratio, arrange the new elem connectivity
                  CALL ElemCrackingClassOverlapping(j)%EC_CalcCrackedElemAreaRatio (xs,ys,4,ElemConnect(:,ElemIdtemp))
                  pEC_ElemData(ElemIdsNewOverlapping(j))%rAreaRatio=ElemCrackingClassOverlapping(j)%rAreaRatio
                  !-- set the related elem to main
                  pEC_ElemData(ElemIdsNewOverlapping(j))%iElemOverlapping=ElemIdsNewMain(j)
                  !====================================================================
                  !====================================================================
                  !================ here where to update the EC_ElemCountCurrent
  
negative.code:     sigfrac0(ElemTo)=sigfrac0(ElemFrom)
      sigfrac(ElemTo)=sigfrac(ElemFrom)
      decfrac(ElemTo)=decfrac(ElemFrom)
  
      end subroutine EC_CopyElemsData
  !##############################################################################
  