找回密码
 注册
Simdroid-非首页
查看: 401|回复: 12

[子程序/二次开发] 关于film 子程序

[复制链接]
发表于 2013-5-9 18:39:15 | 显示全部楼层 |阅读模式 来自 辽宁沈阳
悬赏20仿真币已解决
我在看〈焊接结构有限元分析基础及Msc marc实现〉 这本书时,有关于film子程序的介绍,模拟的是一块高温板沿y方向入水时的温度场模拟,但是我找例子作,子程序可以成功编译并进行计算,但是计算结果好像就和没有调用子程序时是一样的,请问这是什么原因呢?
子程序如下:
subroutine film(h,tinf,ts,n,time)
      implicit real*8(a-h,o-z)
      dimension h(2),n(7),ts(6)
      v=0.1
      d=v*time
      tinf=298.15
      x=ts(4)
      y=ts(5)
      z=ts(6)
      if (y.le.d) then
      h(1)=(10*ts(2))+20
      else
      h(1)=(ts(2)/10)+15
      endif
      return
      end

最佳答案

查看完整内容

1. 看边界条件中是否指定为子程序格式 2.程序是否正确安装 3.实在不行,在MSC.Software\Marc\2010\marc2010%user下有个子程序Ufilm,请试一下
发表于 2013-5-9 18:39:16 | 显示全部楼层 来自 安徽马鞍山
Simdroid开发平台
1. 看边界条件中是否指定为子程序格式
2.程序是否正确安装
3.实在不行,在MSC.Software\Marc\2010\marc2010\user下有个子程序Ufilm,请试一下
回复

使用道具 举报

发表于 2013-5-12 13:56:42 | 显示全部楼层 来自 安徽
子程序未读入,可以在子程序中写上一句测试语句,在OUT文件中查询结果;
回复

使用道具 举报

 楼主| 发表于 2013-5-13 21:22:33 | 显示全部楼层 来自 辽宁沈阳
东南西北中 发表于 2013-5-12 13:56
子程序未读入,可以在子程序中写上一句测试语句,在OUT文件中查询结果;

请你能详细说一下过程吗?谢谢
回复

使用道具 举报

发表于 2013-5-16 15:58:02 | 显示全部楼层 来自 安徽马鞍山
在子程序中加入这一行        write(6,*)time
计算结束后看OUT文件是否有时间输出,
回复

使用道具 举报

 楼主| 发表于 2013-5-16 23:06:47 | 显示全部楼层 来自 辽宁沈阳
东南西北中 发表于 2013-5-16 15:58
在子程序中加入这一行        write(6,*)time
计算结束后看OUT文件是否有时间输出,

你好,我试着计算了一下,我一共计算了100步,我看了out文件,但是很奇怪的是输出的是这个(这里只列举最后一步,即: i n c r e m e n t     100)
s t a r t   o f   i n c r e m e n t     100

             thermal pass        

             fluxes summed over the whole model

             from distributed fluxes
             magnitudes based upon undeformed configuration
             0.000000E+00

             concentrated fluxes
             0.000000E+00

             start of assembly     cycle number is     0
             wall time =         105.00
我明明加载的是film子程序,但是out文件只有flux  没有关于film的输出。
加了你说的 write(6,*)time语句的子程序如下:
subroutine film(h,tinf,ts,n,time)
      implicit real*8(a-h,o-z)
      dimension h(2),n(7),ts(6)
      v=0.1
      d=v*time
      tinf=298.15
      x=ts(4)
      y=ts(5)
      z=ts(6)
      if (y.le.d) then
      h(1)=(10*ts(2))+20
      else
      h(1)=(ts(2)/10)+15
      endif
      write(6,*)time
      return
      end
由于本人初学可能很多地方还不清楚,所以还请您多赐教。
回复

使用道具 举报

发表于 2013-5-17 14:40:56 | 显示全部楼层 来自 安徽马鞍山
我自己计算的:
             s t a r t   o f   i n c r e m e n t     247






             fluxes summed over the whole model

             from distributed fluxes
             magnitudes based upon undeformed configuration
             0.000000E+00


             concentrated fluxes
             0.000000E+00

             start of assembly     cycle number is     0
             wall time =           7.00

   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
回复

使用道具 举报

发表于 2013-5-17 14:44:34 | 显示全部楼层 来自 安徽
没计算一步应该输出计算时间time的,由此看来你的子程序并未运行,由于找不到子程序,Marc取默认值进行计算
回复

使用道具 举报

 楼主| 发表于 2013-5-17 14:47:42 | 显示全部楼层 来自 辽宁沈阳
东南西北中 发表于 2013-5-17 14:40
我自己计算的:
             s t a r t   o f   i n c r e m e n t     247

请问是什么原因呢? 是我在载荷工况里设置的问题还是其他的问题呢,为什么我后面没有
49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
   49.4000000000002     
呢?   还请指点
回复

使用道具 举报

 楼主| 发表于 2013-5-17 15:35:25 | 显示全部楼层 来自 辽宁沈阳
东南西北中 发表于 2013-5-17 14:52
1. 看边界条件中是否指定为子程序格式
2.程序是否正确安装
3.实在不行,在MSC.Software\Marc\2010\marc2010 ...

你好 ,感谢你的帮助,我把代码带入到ufilm子程序里面运行了一下,就好使了
代码如下:
s t a r t   o f   i n c r e m e n t       1


          space needed for incremental backup:     2043814


             thermal pass        






             fluxes summed over the whole model

             from distributed fluxes
             magnitudes based upon undeformed configuration
             0.000000E+00


             concentrated fluxes
             0.000000E+00

             start of assembly     cycle number is     0
             wall time =           6.00

  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
  7.000000000000002E-002
请问这是什么原因啊? 为什么我用film就不好使呢?
回复

使用道具 举报

发表于 2013-5-18 11:05:35 | 显示全部楼层 来自 安徽马鞍山
不客气,相互学习。前段时间我使用Film也存在同样的问题,人家也建议我使用Ufilm;
我调试发现Film好像只使用于三维的情况,你可以把模型扩展为三维的试试。

回复

使用道具 举报

 楼主| 发表于 2013-5-18 13:42:39 | 显示全部楼层 来自 辽宁沈阳
东南西北中 发表于 2013-5-18 11:05
不客气,相互学习。前段时间我使用Film也存在同样的问题,人家也建议我使用Ufilm;
我调试发现Film好像只使 ...

我估计可能是软件版本问题,我使用的就是三维模型。 不管怎么说,问题算是解决了哈哈,非常感谢你的建议。
回复

使用道具 举报

发表于 2013-8-27 19:26:23 | 显示全部楼层 来自 北京
东南西北中 发表于 2013-5-18 11:05
不客气,相互学习。前段时间我使用Film也存在同样的问题,人家也建议我使用Ufilm;
我调试发现Film好像只使 ...

你好 我现在想做一个三维模型,然后对流边界条件随着x轴的坐标变化,但是在加载table时,没有效果。请问下知道原因么。  我算的温度场都无变化,这个是我的mud程序。多谢!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-6-9 10:16 , Processed in 0.044835 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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