arrowzero 发表于 2023-7-7 17:49:42

abaqus子程序txt文件读写,并行计算报错

以下是我的film子程序:SUBROUTINE FILM(H,SINK,TEMP,KSTEP,KINC,TIME,NOEL,NPT,
   1 COORDS,JLTYP,FIELD,NFIELD,SNAME,NODE,AREA)
C
      INCLUDE 'ABA_PARAM.INC'
C
      DIMENSION H(2),TIME(2),COORDS(3), FIELD(NFIELD)
      CHARACTER*80 SNAME
      real a(2,241)
      integer i,j
      
      data iread /1/
      save iread
      save a
      
      if(iread.eq.1) then
      !读入温度数据
          iread = 2
          open(12,file='D:\abaqusworks\abaqus\temperature.txt')
          do i=1,241
            read(12,*) a(1,i),a(2,i)
            print*, a(1,i),a(2,i)
          end do
      end if
      close(12)
      ! 对应时间步长
      do j = 1,241
          if (TIME(2).EQ.a(1,j)) then
            SINK = a(2,j)
            exit
          end if
      end do
         
      v = 1.0                               ! wind speed (m/s)工程估算风速
      hc=(2.6*(sqrt(sqrt(ABS(SINK-TEMP))))+4*v)*3600    !β,J/(m2*h*℃)经验公式
      H(1)=hc                           !β,J/(m2*h*℃)
      H(2)=0                              !换热系数对于时间的变化率
      
      FIELD(1)=NFIELD
      FIELD(2)=H(1)
      FIELD(3)=SINK
      FIELD(4)=TEMP
      


      RETURN
      END
只需要对应温度数据,输入到对流换热表面。不启用并行还行,一启用并行运算就报错,类似于下述错误:
Run standard.exe
0.0000000E+00   7.480000   
forrtl: severe (29): file not found, unit 99, file C:\Users\ARROWZ~1\AppData\Local\Temp\Arrowzero_Job-6_1248\fort.99
Image            PC                Routine            Line      Source            
libifcoremd.dll    00007FFF85F2A335Unknown               UnknownUnknown
libifcoremd.dll    00007FFF85F827BBUnknown               UnknownUnknown
standardU.dll      00007FFF82101296Unknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7DDCF77CUnknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7DDD5792Unknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7DDD4CDEUnknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7DDDF6ACUnknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7EEE49D7Unknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF80108922Unknown               UnknownUnknown
ABQSMAAbuBasicUti00007FFF83249AA6Unknown               UnknownUnknown
ucrtbase.dll       00007FF812CC1BB2Unknown               UnknownUnknown
KERNEL32.DLL       00007FF8142E7614Unknown               UnknownUnknown
ntdll.dll          00007FF8152826F1Unknown               UnknownUnknown



Run standard.exe
forrtl: severe (24): end-of-file during read, unit 18, file C:\Users\ARROWZ~1\AppData\Local\Temp\Arrowzero_Job-2_8332\temperature.txt
Image            PC                Routine            Line      Source            
libifcoremd.dll    00007FFF85F8A335Unknown               UnknownUnknown
libifcoremd.dll    00007FFF85FE2C60Unknown               UnknownUnknown
standardU.dll      00007FFF7B641296Unknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7DDCF77CUnknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7DDD5792Unknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7DDD4CDEUnknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7DDDF6ACUnknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF7EEE49D7Unknown               UnknownUnknown
ABQSMAStaCore.dll00007FFF80108922Unknown               UnknownUnknown
ABQSMAAbuBasicUti00007FFF82C29AA6Unknown               UnknownUnknown
ucrtbase.dll       00007FF812CC1BB2Unknown               UnknownUnknown
KERNEL32.DLL       00007FF8142E7614Unknown               UnknownUnknown
ntdll.dll          00007FF8152826F1Unknown               UnknownUnknown



或者就是在log文件里输出大量0值,因为在我读取温度数据时,print了我保存的数组,按理来说应该是温度数据啊
下面是我的temperature.txt
0      7.48
0.5      6.98
1      7.53
1.5      8.2
2      9.21
2.5      9.2
3      9.01
3.5      8.74
4      8.22
4.5      7.46
5      6.92
5.5      6.12
6      6.1
6.5      5.68
7      6.01
7.5      7.88
.....
116      12.5
116.5      12.03
117      11.52
117.5      11.29
118      11.12
118.5      10.98
119      10.9
119.5      10.92
120      10.87
241*2数组!
另外,我的模型网格很细,60mm,总共100w个单元,所以不开启并行运算感觉很慢。
谢谢哪路有限元子程序分析大神!!!





dengdengdeng 发表于 2023-7-11 10:47:38

遇到用样的问题了,楼主解决了嘛:'(

arrowzero 发表于 2023-7-12 23:38:37

dengdengdeng 发表于 2023-7-11 10:47
遇到用样的问题了,楼主解决了嘛

没解决呢,感觉是并行跟txt文件读取起冲突了,可能需要对abaqus并行有一定的理解。

hhu_wx 发表于 2023-9-27 17:28:55

你好请问,ABAQUS并行CPU计算,读取TXT文件,出现这种错误你最后是怎么解决的?

风平老涡 发表于 2023-9-27 19:40:11

读写操作不能使用并行,会引起竞速(race)。

tanquery 发表于 2023-11-14 18:36:52

你的open 编号12在abaqus中能用吗?要不把编号改为102试一试
页: [1]
查看完整版本: abaqus子程序txt文件读写,并行计算报错