24小时热门版块排行榜    

查看: 2626  |  回复: 13
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 fangdian 的 3 个金币 ,回帖就立即获得 1 个金币,每人有 1 次机会
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

fangdian

木虫 (正式写手)


[交流] Simufact.Welding 6.0 热源二次开发的小例子

最近做了一个Simufact.Welding 6.0 热源二次开发的小例子,与坛友共勉:
1 主要目的:开始随时间变化的焊接热源,如脉冲热源
2 基本要求:
  1)脉冲热源频率:8Hz
  2)脉宽30ms
  3)其它略
3 软件安装
   1)simufact.welding 6.0
   2)VS2010
   3)Intel Visual Fortran Composer XE 2013
3 基本步骤
3.1 软件设置
安装完之后需要配置path、Lib和include三个环境变量。
以下列出环境变量值作为参考(需要根据VS和fortran的安装位置不同进行相应的修改)。---注:以下部分为参考网上内容,需要根据具体实际修改,如下面采用的是VS2012,XE2015,根据需要修改
Path:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools
C:\Program Files (x86)\Intel\Composer XE 2015\redist\intel64\mkl
C:\Program Files (x86)\Intel\Composer XE 2015\bin\intel64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE
C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin
C:\Program Files (x86)\Intel\MPI\5.0.1.037\intel64\bin
C:\Program Files (x86)\Intel\Trace Analyzer and Collector\9.0.1.035\bin

Lib:
C:\Program Files (x86)\Intel\Composer XE 2015\compiler\lib\intel64
C:\Program Files (x86)\Intel\Composer XE 2015\mkl\lib\intel64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib\amd64
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\lib
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\x64
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib

INCLUDE:
C:\Program Files (x86)\Intel\Composer XE 2015\compiler\include
C:\Program Files (x86)\Intel\Composer XE 2015\mkl\include
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include
C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Includea

3.2 常规建立并设置simufact.welding工程
  建立如下常规的simufact.welding工程
(常规建立过程省略)

Simufact.Welding 6.0 热源二次开发的小例子
  图1 常规工程
主要坐标系为:沿X方向宽50mm,沿y方向板厚10mm,沿z方向长度50mm,焊接沿着z负方向,焊接起始点坐标(50,10,-50)【单位mm】,建立对称的一半模型。

3.3 建立.f子函数
      subroutine uweldflux(f,temflu,mibody,welddim,time)
c     f(1)         flux value (to be defined)
c     f(2)         derivative of flux with respect to temperature
c                  (to be defined; optional, this might improve the
c                   convergence behavior)
c
c     temflu(1)    estimated temperature
c     temflu(2)    previous volumetric flux
c     temflu(3)    temperature at beginning of increment
c     temflu(4,5,6)integration point coordinates
c     mibody(1)    element number
c     mibody(2)    flux type
c     mibody(3)    integration point number
c     mibody(4)    flux index - not used if table input
c     mibody(5)    not used
c     mibody(6)    =1 : heat transfer
c                  =2 : joule
c                  =3 : bearing
c                  =4 : electrostatic
c                  =5 : magnetostatic
c                  =6 : acoustic
c     mibody(7)    internal element number
c     mibody(8)    layer number for heat transfer shells elements
c                  and volume flux
c     mibody(9)    Not used
c     mibody(10)   boundary condition number if table input
c     time         time
c
      dimension mibody(*),temflu(*),welddim(*)
      real*8 f
      integer mibody
      real*8 temflu,time,welddim
c* * * * * *
c      OPEN(UNIT=10,FILE='HELLO.TXT',POSITION='APPEND')
      a=0.003
      b=0.003
      c=0.003
      v=0.01
        T0=0.125
        temp=0.03
        xis=1
      zq=ceiling(time/T0)
        if(abs(MOD(time-temp,T0)).LT.1e-6) then
                xis=0
c        write(10,*) time, 111
        else if(abs(MOD(time,T0)).LT.1e-6) then
          xis=1
c        write(10,*) time,222
      else if ((time.LT.(zq*T0)).and.(time.GT.((zq-1)*T0+temp))) then
          xis=0
c     write(10,*) time, 333
      else
          xis=1
c        write(10,*) time, 444
        end if
       

      d=0.05-v*time
      q=7000*0.7
      pi=3.14
      x=temflu(4)
      y=temflu(5)
      z=temflu(6)
      mibody(6)=1
      y0=0.009
      x0=0.05
      heat=6*sqrt(3.0)*q/(a*b*c*pi)
      ex=exp(-3*(z-d)**2/c**2-3*(y-y0)**2/b**2-3*(x-x0)**2/a**2)
      f=heat*ex*xis
c        write(10,*) time, xis,f
c        close(10)
      return
      end

并存为文件名rey.f

3.4 开始子函数运行

1)点击常规项目的运行按钮

图2 点击运行按钮
点击后出现运行对话框,不用管它,直接关闭。


图3 运行对话框(直接关闭)
2)此时找到你常规工程下的_Run_文件夹位置并打开该文件夹


图4 该工程的_Run_文件夹

会发现该文件夹下面有Process.dat文件和run.bat文件。

3)用记事本方式打开并修改Process.dat文件(此步不可少!)
找到“WELD FLUX - Definitions of Motion and Flux Parameters for Weld Heat Source”这一行,并修改这一行下面的第5行第三列的值改为3,如下图中的6改为3

图5  修改前

图6 修改后

修改完成后保存。

4)用记事本打开并修改run.bat文件

  
图7 修改前
run.bat中的call后面为你的simufact.welding6.0安装后run_sfMarc.bat的位置
我的上述内容改为:
call "E:\software\special\simufact6\simufact\welding\6.0\solver\simufact\sfMarc\sf_tools\run_sfMarc.bat" -nthread_solver 2 -nthread_elem 2 -j F:\study\softwarestudy\software\simufact\marc_link\marc\Process\_Run_\Process.dat -u F:\study\softwarestudy\software\marc\udf_weldtool\rey.f -save yes


需要说明的是:
-j 后面增加刚才修改的Process.dat的位置
-u 后面增加刚才rey.f文件的位置
增加
-save yes

修改完成后并保存退出

5)命令运行run.bat

                 图8 点击红色框中的黑色小三角并选择“Open a shell”


图9 点击红色框中的黑色小三角并选择“Open a shell”

在出现的对话框中输入“run.bat”并回车





运行一段时间后可以看到Results出现,即可得到想要的结果。
Simufact.Welding 6.0 热源二次开发的小例子-1

热源的脉冲效果如下:
Simufact.Welding 6.0 热源二次开发的小例子-2

  具体内容详见附件的文件“Simufact.Welding 6.0 热源二次开发初步教程.doc”
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:libolin3@tal.com
  • 附件 1 : Simufact.Welding_6.0_热源二次开发初步教程.doc
  • 2019-01-22 10:37:49, 3.06 M

» 收录本帖的淘贴专辑推荐

simufact仿真分析

» 猜你喜欢

» 抢金币啦!回帖就可以得到:

查看全部散金贴

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 fangdian 的主题更新
提示: 如果您在30分钟内回复过其他散金贴,则可能无法领取此贴金币
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 选期刊 5+3 jfdhj 2024-05-29 5/250 2024-06-03 07:47 by 黑大环境队长
[教师之家] 职能部门工作人员态度不好是普遍的吗?怎么让他们态度好一些? +6 河西夜郎 2024-06-01 6/300 2024-06-02 23:20 by chemhua
[微米和纳米] 银浆叠压烧结粘片的问题有没有好的解决方法 +3 微纳材料 2024-05-30 5/250 2024-06-02 21:17 by manmansboy
[基金申请] 入职高校3年发表10+SCI,尽人事听天命 +33 kaoyan250 2024-05-27 48/2400 2024-06-02 19:17 by kaoyan250
[基金申请] +5 河马の史诗 2024-06-02 5/250 2024-06-02 19:05 by 328838485
[硕博家园] 各位同学能否分享一下实验室的学生劳务发放标准呀? +19 ma3252788 2024-05-30 19/950 2024-06-02 18:15 by Lcy6666
[基金申请] 化学B02口青基 代表作都是什么水平的?向大佬求助 +12 arthas_007 2024-06-01 14/700 2024-06-02 16:18 by 夏木荫浓
[基金申请] 讨论贴:好本子一定会被打招呼的淘汰吗 +40 ioe3937 2024-05-27 51/2550 2024-06-02 13:52 by Howard28
[论文投稿] 编辑对文章提的意见 40+3 qa8386136 2024-06-01 3/150 2024-06-02 13:28 by bobvan
[考博] 求25博导,金属增材制造方向 +3 22机械 2024-06-01 3/150 2024-06-02 11:17 by Napoleonsky
[教师之家] 研究生在毕业答辩时挂了,遗憾 +10 spacr2022 2024-05-27 13/650 2024-06-01 17:45 by keyaner23
[基金申请] B口人才项目 +9 WOWO159357 2024-05-29 19/950 2024-06-01 14:24 by linxuhuizj
[论文投稿] 求Sci期刊推荐 10+4 甄小鱼 2024-05-30 7/350 2024-06-01 10:41 by bobvan
[硕博家园] 哈工大硕博招生!博士每月入学! +4 nailooo 2024-05-30 5/250 2024-06-01 06:47 by anevay
[教师之家] 中年 (金币+3) +18 459582015 2024-05-28 19/950 2024-06-01 00:41 by 沈婉婷.Girl
[论文投稿] 纠结选哪一个期刊,电化学领域 50+8 Freya163 2024-05-28 10/500 2024-05-31 15:09 by wzykobe
[博后之家] 2024公派博后申请 +4 326lhpqk 2024-05-27 5/250 2024-05-29 20:03 by @古月胡
[基金申请] 如果您是国自然评审专家 +3 丁香园账户 2024-05-28 3/150 2024-05-29 06:44 by gaohui8888
[论文投稿] EI学报,一审返修后,为啥不再送审,直接终审中? +4 qweasd12345 2024-05-27 6/300 2024-05-29 00:02 by dut_ameng
[有机交流] 奇怪的物质 100+4 桃桃PXS 2024-05-27 7/350 2024-05-28 10:22 by 091602
信息提示
请填处理意见