Fortran Coder

查看: 11703|回复: 7
打印 上一主题 下一主题

[文件读写] 不知道怎样输入这些参数

[复制链接]

4

帖子

1

主题

0

精华

新人

F 币
27 元
贡献
14 点
跳转到指定楼层
楼主
发表于 2020-10-25 15:48:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wj-6608 于 2020-10-25 17:18 编辑

[Fortran] 纯文本查看 复制代码
1层数 3
2层序数    厚度m   E1(Pa)   E2(Pa)   v12    v21  G12(Pa)    角度(°)
31        1.00E-03     9.60E+10        0.10    0.40   1.00E+10   0.00
42        1.00E-03     9.60E+10        0.10    0.40   1.00E+10   90.00
53        1.00E-03     9.60E+10        0.10    0.40   1.00E+10   0.00
[Fortran] 纯文本查看 复制代码
001PROGRAM COMPOSITE
002IMPLICIT NONE
003REAL(8)::A(3,3),B(3,3),D(3,3),MC(5),TEMP,ROT(3,3)
004!A拉伸刚度;B耦合刚度;D弯曲刚度;
005!MC读入材料常数;ROT旋转矩阵
006REAL(8)::TOTAL_TH,HALF_TH  !总厚度;半厚度
007REAL(8),ALLOCATABLE::Q(:,:,:),AL(:),T(:),Z(:),Z1(:),Z2(:),Z3(:)
008!Q每层板相应刚度;AL转角;T每层板的厚度;Z坐标量
009INTEGER(4)::N,I,J,K,SEQ,L
010!____IJK循环变量;N板的层数;SEQ序数
011CHARACTER(50)::CHR(8),TEMPC,filename1,filename2
012!CHR、TEMPC:character variables
013WRITE(*,*)"Please insert the INP file name(a.txt for example):"
014READ(*,*)filename1
015OPEN(8,file=filename1)!Open data file
016!Read in data
017READ(8,*)TEMPC,N
018ALLOCATE(Q(3,3,N),AL(N),T(N),Z(N+1),Z1(N),Z2(N),Z3(N))
019READ(8,*)CHR(1:8)
020DO I=1,N
021READ(8,*)SEQ,T(I),MC(1:5),AL(I)
022Q(:,:,I)=0!Calculate stiffness of each layer for the principal axis
023TEMP=1./(1-MC(3)*MC(4))
024Q(1,1,I)=MC(1)*TEMP
025Q(2,2,I)=MC(2)*TEMP
026Q(3,3,I)=MC(5)
027Q(1,2,I)=MC(4)*MC(2)*TEMP
028Q(2,1,I)=Q(1,2,I)
029AL(I)=AL(I)*3.1415926535898/180
030ROT(1,1)=(cos(AL(I)))**2!Work out Rot Matrix
031ROT(2,2)=ROT(1,1)
032ROT(3,3)=cos(2*AL(I))
033ROT(2,1)=1-ROT(1,1)
034ROT(1,2)=ROT(2,1)
035ROT(3,1)=0.5*sin(2*AL(I))
036ROT(3,2)=-ROT(3,1)
037ROT(1,3)=-2*ROT(3,1)
038ROT(2,3)=-2*ROT(3,2)
039Q(:,:,I)=MATMUL(MATMUL(ROT,Q(:,:,I)),TRANSPOSE(ROT))
040ENDDO
041TOTAL_TH=sum(T)
042HALF_TH=TOTAL_TH/2
043Z(1)=-HALF_TH
044!Work out Z
045DO I=1,N
046Z(I+1)=Z(I)+T(I)
047ENDDO
048!calculate tensor A、B and D
049DO K=1,N
050Z1(K)=(Z(K+1)-Z(K))
051Z2(K)=(Z(K+1)-Z(K))*(Z(K+1)+Z(K))/2
052Z3(K)=(Z(K+1)**3-Z(K)**3)/3
053ENDDO
054A=0;B=0;D=0
055WRITE(*,*)"Please insert the OUP file name(b.txt for example):"
056READ(*,*)filename2
057OPEN(9,file=filename2)
058!Write in stiffness tensor for each single ply
059DO K=1,N
060WRITE(9,100)K
061100 FORMAT("The stiffness of number",1X,I2,2X,"ply is:")
062DO I=1,3
063WRITE(9,200)Q(I,:,K)
064200 FORMAT(ES12.4,6X,ES12.4,6X,ES12.4)
065ENDDO
066WRITE(9,"(/)")
067A=A+Q(:,:,K)*Z1(K)
068B=B+Q(:,:,K)*Z2(K)
069D=D+Q(:,:,K)*Z3(K)
070ENDDO
071!Output the actual stiffness of the laminate
072WRITE(9,"(/)");WRITE(9,"(/)")
073WRITE(9,*)"The ACTUAL stiffness tensor of the laminate:"
074WRITE(9,"(/)")
075WRITE(9,*)"The extension stiffness A equals:"
076DO I=1,3
077WRITE(9,200)A(I,1:3)
078ENDDO
079WRITE(9,"(/)")
080WRITE(9,*)"The coupling stiffness B equals:"
081DO I=1,3
082WRITE(9,200)B(I,1:3)
083ENDDO
084WRITE(9,"(/)")
085WRITE(9,*)"The bending stiffness D equals:"
086DO I=1,3
087WRITE(9,200)D(I,1:3)
088ENDDO
089!Normalised tensor output
090WRITE(9,"(/)");WRITE(9,"(/)")
091WRITE(9,*)"The NORMALISED stiffness tensor of the laminate:"
092WRITE(9,"(/)")
093WRITE(9,*)"The NORMALISED extension stiffness A* equals:"
094DO I=1,3
095WRITE(9,200)A(I,1:3)/TOTAL_TH
096ENDDO
097WRITE(9,"(/)")
098WRITE(9,*)"The NORMALISED coupling tensor C equals:"
099DO I=1,3
100WRITE(9,200)A(I,1:3)/TOTAL_TH-12*D(I,1:3)/TOTAL_TH**3
101ENDDO
102WRITE(9,"(/)")
103WRITE(9,*)"The NORMALISED bending stiffness D* equals:"
104DO I=1,3
105WRITE(9,200)12*D(I,1:3)/TOTAL_TH**3
106ENDDO
107WRITE(*,*)"OUTPUT successfully,please press any key to end program!"
108READ(*,*)
109END PROGRAM COMPOSITE

Snipaste_2020-10-25_15-47-14.jpg (80.42 KB, 下载次数: 455)

Snipaste_2020-10-25_15-47-14.jpg

Snipaste_2020-10-25_17-17-23.jpg (335.49 KB, 下载次数: 447)

Snipaste_2020-10-25_17-17-23.jpg
分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

213

帖子

2

主题

0

精华

宗师

F 币
2142 元
贡献
875 点

规矩勋章

沙发
发表于 2020-10-25 23:32:30 | 只看该作者
查一下变量TEMPC, N, 和 CHR(1:8)。

4

帖子

1

主题

0

精华

新人

F 币
27 元
贡献
14 点
板凳
 楼主| 发表于 2020-10-26 14:51:02 | 只看该作者
风平老涡 发表于 2020-10-25 23:32
查一下变量TEMPC, N, 和 CHR(1:8)。

什么意思,能具体的指点一下吗,万分感谢

4

帖子

1

主题

0

精华

新人

F 币
27 元
贡献
14 点
地板
 楼主| 发表于 2020-10-26 14:52:14 | 只看该作者
能具体的指导一下吗?万分感谢

2038

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1676 元
贡献
715 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

5#
发表于 2020-10-26 16:34:48 | 只看该作者
READ(8,*)SEQ,T(I),MC(1:5),AL(I)
这里一共 8 个量需要读。但文件里一行只有7个

4

帖子

1

主题

0

精华

新人

F 币
27 元
贡献
14 点
6#
 楼主| 发表于 2020-10-27 15:15:47 | 只看该作者
8不是量的个数,是文件的代码

2038

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1676 元
贡献
715 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

7#
发表于 2020-10-27 19:42:05 | 只看该作者
SEQ 一个
T(I) 两个
MC(1:5) 七个
AL(I) 八个

5

帖子

2

主题

0

精华

新人

F 币
25 元
贡献
12 点
8#
发表于 2022-12-22 16:37:04 | 只看该作者
哥,解决没,我也遇到一样的问题,能不能发我代码看看
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2025-4-29 07:36

Powered by Discuz! X3.4

© 2013-2025 Comsenz Inc.

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