Fortran Coder

查看: 10799|回复: 4
打印 上一主题 下一主题

[求助] 数组赋值问题

[复制链接]

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
跳转到指定楼层
楼主
发表于 2021-6-15 21:19:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
[Fortran] 纯文本查看 复制代码
01SUBROUTINE UMATHT_MAT2(U,DUDT,DUDG,FLUX,DFDT,DFDG,
02     1 STATEV,TEMP,DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED,
03     2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,
04     3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)
05C
06      INCLUDE 'ABA_PARAM.INC'
07C
08      CHARACTER*80 CMNAME
09      DIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),
10     1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),
11     2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3)
12C
13      REAL rho_v, rho_f, phi_v, phi_f, A, E, n, R, m_g,
14     1 rho, M, delta_rho, f, Cv, Cf, Cp, Cpg, phi, delta_mg,
15     2 delta_U, V, kv, kf, rho_g, rho_pro, kv1, kf1,
16     3 miu,delta_rhog,L,K,S,NN,D3,i2 
17      REAL GAMA(3),SJ(10325,93)
18中间程序无问题 不进行展示 将数据存储到二维数组有问题
19C     根据节点标号写出坐标
20       IF((TIME(1)).EQ.0)THEN
21        DO i=7745,15488,1
22            IF(i==NOEL)THEN
23              DO j=1,8,1
24                  IF(j==NPT)THEN
25                   SJ((i-7745)*8+j,1) = COORDS(1)
26                   SJ((i-7745)*8+j,2) = COORDS(2)
27                   SJ((i-7745)*8+j,3) = COORDS(3)
28                 END IF
29              END DO
30          END IF
31        ENDDO
32       ENDIF
33C    记录TEMP  
34           DO j=4,93,1
35                       IF (((j-3)*10)==TIME(1))THEN
36                           DO i=1,10125,1
37                              SJ(i,j)=STATEV(10)
38                         enddo
39               ENDIF
40           ENDDO
41            
42C   写出二维数组       
43            
44           
45      do  i=1,7745,1
46           
47      WRITE(*,*) SJ(i,1),SJ(i,2),SJ(i,3),SJ(i,4)end do

上述程序中建立的二维数组输出出来是乱的 而且只记录了一个坐标  为什么后续坐标不进行记录  

微信图片_20210615211811.png (53.4 KB, 下载次数: 435)

微信图片_20210615211811.png
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

213

帖子

2

主题

0

精华

宗师

F 币
2142 元
贡献
875 点

规矩勋章

沙发
发表于 2021-6-15 22:05:53 | 只看该作者
查一下变量NOEL和NPT

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
板凳
 楼主| 发表于 2021-6-16 09:10:34 | 只看该作者
风平老涡 发表于 2021-6-15 22:05
查一下变量NOEL和NPT

NOEL是单元编号 NPT是节点编号 这两个数都没有问题的

29

帖子

10

主题

0

精华

熟手

F 币
152 元
贡献
98 点
地板
 楼主| 发表于 2021-6-16 09:13:02 | 只看该作者
图中依次是NOEL、NPT、COORDS(1)、COORDS(2)、COORDS(3)的输出量 这些值单独正常输出是没有问题的  

微信截图_20210616090924.png (32.52 KB, 下载次数: 432)

微信截图_20210616090924.png

213

帖子

2

主题

0

精华

宗师

F 币
2142 元
贡献
875 点

规矩勋章

5#
发表于 2021-6-16 20:53:49 | 只看该作者
本帖最后由 风平老涡 于 2021-6-17 00:38 编辑
916115735 发表于 2021-6-16 09:13
图中依次是NOEL、NPT、COORDS(1)、COORDS(2)、COORDS(3)的输出量 这些值单独正常输出是没有问题的  
...

在第28行插入print *, i, j, sj((i-7745)*8+j, 1:3)。另最后一行enddo换行。
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2025-5-3 04:34

Powered by Discuz! X3.4

© 2013-2025 Comsenz Inc.

快速回复 返回顶部 返回列表