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
遇到用样的问题了,楼主解决了嘛
没解决呢,感觉是并行跟txt文件读取起冲突了,可能需要对abaqus并行有一定的理解。 你好请问,ABAQUS并行CPU计算,读取TXT文件,出现这种错误你最后是怎么解决的? 读写操作不能使用并行,会引起竞速(race)。 你的open 编号12在abaqus中能用吗?要不把编号改为102试一试
页:
[1]