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
