Fortran Coder

查看: 5984|回复: 6
打印 上一主题 下一主题

[有限元] 谁帮我看下这个程序

[复制链接]

35

帖子

11

主题

0

精华

熟手

F 币
129 元
贡献
118 点
跳转到指定楼层
楼主
发表于 2017-3-8 20:43:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
计算二维热传导问题的有限元程序代码,利用fortran编制
以上这句话是我知道的对附件代码的全部描述,里面让输入的文件也没有,参数太多,真的看不懂,谁能帮帮我啊,必有重谢

heat_2D.txt

8.8 KB, 下载次数: 19

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

35

帖子

11

主题

0

精华

熟手

F 币
129 元
贡献
118 点
沙发
 楼主| 发表于 2017-3-8 21:13:19 | 只看该作者
还是贴一部分代码,顺便帮我看下,这里的dummy跟title到底是个什么,这几句是什么意思?很想知道file1里面到底是什么,什么格式?
  
[Fortran] 纯文本查看 复制代码
Read (linp, '(A)') dummy
  Read (linp, '(A)') title
  Read (linp, '(A)') dummy
  Read (linp, *) nn, ne, nm, ndim, nen, ndn
  Read (linp, '(A)') dummy
  Read (linp, *) nd, nl, nmpc
部分代码:
Dimension x(200, 2), noc(300, 3), mat(300), pm(10, 3),ehs(300), nu(100), u(100), f(400), bt(2, 3), s(400, 95)
  Character *16 file1, file2, file3
  Character *81 dummy, title
  Print *, '***************************************'
  Print *, '*          PROGRAM  HEAT2D            *'
  Print *, '*   HEAT 2-D  WITH 3-NODED TRIANGLES  *'
  Print *, '* T.R.Chandrupatla and A.D.Belegundu  *'
  Print *, '***************************************'
  !c imax = first dimension of the s - matrix, ix = 1 st dim . of x - matrix, etc .
  imax = 400
  ix = 200
  inoc = 300
  ipm = 10
  Print *, 'Input Data File Name <DOS file name>'
  Read '(A)', file1
  linp = 10
  Open (Unit=10, File=file1, Status='UNKNOWN')
  Print *, 'Output Data File Name <DOS file name>'
  Read '(A)', file2
  lout = 11
  Open (Unit=11, File=file2, Status='UNKNOWN')
  Read (linp, '(A)') dummy
  Read (linp, '(A)') title
  Read (linp, '(A)') dummy
  Read (linp, *) nn, ne, nm, ndim, nen, ndn
  Read (linp, '(A)') dummy
  Read (linp, *) nd, nl, nmpc
  !c - - -material property thermal conductivity
  npr = 1
  nmpc = 0
  ndn = 1
  ndim = 2
  nen = 3
  !c element heat source, ehs(i), i = 1, . . ., ne
  !c - - -nd = no . of specified temperatures
  !c - - -nl = no . of nodal heat sources
  !c - - -npr = 1(thermal conductivity) and nmpc = 0
  Print *, 'PLOT CHOICE'
  Print *, '  1) No Plot Data'
  Print *, '  2) Create Data File for Temperatures'
  Print *, 'Choose 1 or 2 '
  Read (5, *) ipl
  If (ipl<1 .Or. ipl>2) ipl = 1
  !c - - -default is no data
  If (ipl>1) Then
    Print *, 'Give File Name for Plot Data'
    Read '(A)', file3
    lout2 = 12
    Open (Unit=12, File=file3, Status='UNKNOWN')
  End If
  !c - - - - -coordinates
  Read (linp, '(A)') dummy
  Do i = 1, nn
    Read (linp, *) n, (x(n,j), j=1, ndim)
  End Do


954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
板凳
发表于 2017-3-9 08:23:54 | 只看该作者

回帖奖励 +20

dummy 顾名思义,就是没用的。之所以写,作者大概就是想跳过这一行。即,这一行内容是什么,作者并不关心。如果后面也没有再次用到 title,那么它和 dummy 一样。

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

地板
发表于 2017-3-9 10:07:35 | 只看该作者
建议lz不要将宝贵的青春浪费在这类祖传代码上面,除非开发这个祖传代码的祖师爷愿意收lz做关门弟子继承衣钵
外面的世界很精彩,有意思的东西很多,为啥不去试一试呢?
http://dealii.org/developer/doxygen/deal.II/step_26.html
http://www.agros2d.org/

35

帖子

11

主题

0

精华

熟手

F 币
129 元
贡献
118 点
5#
 楼主| 发表于 2017-3-9 10:43:38 | 只看该作者
pasuka 发表于 2017-3-9 10:07
建议lz不要将宝贵的青春浪费在这类祖传代码上面,除非开发这个祖传代码的祖师爷愿意收lz做关门弟子继承衣钵 ...

多谢啊,大开眼界

66

帖子

16

主题

0

精华

专家

F 币
452 元
贡献
271 点
6#
发表于 2017-3-9 11:08:18 | 只看该作者
如果不是有特别的要求建议使用成熟的软件,热传导的程序是所有有限差分或者有限元中最简单 找一本数很快就可以搞定了,如果模型的形状很复杂就另当别论了,就是边界条件会占用很大一部分精力

35

帖子

11

主题

0

精华

熟手

F 币
129 元
贡献
118 点
7#
 楼主| 发表于 2017-3-9 14:56:19 | 只看该作者
大头鼹鼠 发表于 2017-3-9 11:08
如果不是有特别的要求建议使用成熟的软件,热传导的程序是所有有限差分或者有限元中最简单 找一本数很快就 ...

算耦合方程,有可能要修改代码,系数都不是固定值
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-22 19:03

Powered by Tencent X3.4

© 2013-2024 Tencent

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