Segmentation fault

Hii, I am facing the following error while running a structural analysis in abaqus.

*** ABAQUS/standard rank 0 encountered a SEGMENTATION FAULT

*** ERROR CATEGORY:  INITIAL STRESS

 

Let me explain about the anlaysis:

I am trying to run a static structural analysis (sequentially coupled thermo mechanical anlaysis of welding) on a domain with 35697nodes. The stress I need to calculate is from temperature alone (no external forces) and the input is provided by importing the values of temperature at each node from a .dat file/.txt file, at desired time intervels. The importing is done using UTEMP subroutine (find at the bottom of the page) in which (first the values from the dat file "F:\\\\node_temp_tf_28.dat" is read to a main array "node_temp_array" and for each iteration to a "sub array" which is then assigned into nodes based on node number). The analysis runs fine until 2000 nodes(if I replace 35697 by 2000 in the subroutine). If I increase the number above 2000, the abovesaid error occurs. I have done some research into it and also talked to some people. But nobody is able to solve this. Please let me know if any of you have faced this error or knows any leads which I can work on to solve this. Thanks in advance.

 

    SUBROUTINE UTEMP(TEMP,NSECPT,KSTEP,KINC,TIME,NODE,COORDS)    
    INCLUDE 'ABA_PARAM.INC'
    DIMENSION TEMP(NSECPT),COORDS(3),TIME(2)        
    integer :: flag, i, j
    real*8,save, dimension(35697, 7) :: node_temp_array
    real*8,dimension(:,:),allocatable :: sub_array
    
    integer, save :: iCount = 0
    
    if( iCount == 0 )then
        iCount = 1
    
        OPEN (15, file = "F:\\\\node_temp_tf_28.dat", status='UNKNOWN', form='FORMATTED', iostat=flag) !opening the external file
    
        if (flag.eq.0) then                                                 !writing the data from the external file to main array
            do i=1, 35697
                read (15,*,iostat=flag) node_temp_array(i,:)
            end do
        else
            print*,flag
        end if
        CLOSE (15)
    end if
    
        if ((TIME(1).GE.1).AND.(TIME(1).LE.10))THEN 
            sub_array = node_temp_array(:, 1:TIME(1)+1:TIME(1))                                !assigning values from main array to sub array     
                do i=1, 35697
                    do j=1, 2
                        if (sub_array(i,j).eq.NODE) then
                            TEMP(1)=sub_array(i,j+1)
         
                        end if
                    end do
                end do
        end if
     
    RETURN
    END

Abaqus