Simufact.Welding6.0热源二次开发初步教程1主要目的:开始随时间变化的焊接热源,如脉冲热源2基本要求:1)脉冲热源频率:8Hz2)脉宽30ms3)其它略3软件安装1)simufact.welding6.02)VS20103)IntelVisualFortranComposerXE20133基本步骤3.1软件设置安装完之后需要配置path、Lib和include三个环境变量。以下列出环境变量值作为参考(需要根据VS和fortran的安装位置不同进行相应的修改)。---注:以下部分为参考网上内容,需要根据具体实际修改,如下面采用的是VS2012,XE2015,根据需要修改Path:C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\Common7\ToolsC:\ProgramFiles(x86)\Intel\ComposerXE2015\redist\intel64\mklC:\ProgramFiles(x86)\Intel\ComposerXE2015\bin\intel64C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\Common7\IDEC:\ProgramFiles(x86)\WindowsKits\8.1\WindowsPerformanceToolkit\C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\VC\bin\amd64C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\VC\binC:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.0A\Bin\x64C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.1A\BinC:\ProgramFiles(x86)\Intel\MPI\5.0.1.037\intel64\binC:\ProgramFiles(x86)\Intel\TraceAnalyzerandCollector\9.0.1.035\binLib:C:\ProgramFiles(x86)\Intel\ComposerXE2015\compiler\lib\intel64C:\ProgramFiles(x86)\Intel\ComposerXE2015\mkl\lib\intel64C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\VC\lib\amd64C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\VC\libC:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.1A\Lib\x64C:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.1A\LibINCLUDE:C:\ProgramFiles(x86)\Intel\ComposerXE2015\compiler\includeC:\ProgramFiles(x86)\Intel\ComposerXE2015\mkl\includeC:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\VC\includeC:\ProgramFiles(x86)\MicrosoftSDKs\Windows\v7.1A\Includea3.2常规建立并设置simufact.welding工程建立如下常规的simufact.welding工程(常规建立过程省略)图1常规工程主要坐标系为:沿X方向宽50mm,沿y方向板厚10mm,沿z方向长度50mm,焊接沿着z负方向,焊接起始点坐标(50,10,-50)【单位mm】,建立对称的一半模型。3.3建立.f子函数subroutineuweldflux(f,temflu,mibody,welddim,time)cf(1)fluxvalue(tobedefined)cf(2)derivativeoffluxwithrespecttotemperaturec(tobedefined;optional,thismightimprovethecconvergencebehavior)cctemflu(1)estimatedtemperaturectemflu(2)previousvolumetricfluxctemflu(3)temperatureatbeginningofincrementctemflu(4,5,6)integrationpointcoordinatescmibody(1)elementnumbercmibody(2)fluxtypecmibody(3)integrationpointnumbercmibody(4)fluxindex-notusediftableinputcmibody(5)notusedcmibody(6)=1:heattransferc=2:joulec=3:bearingc=4:electrostaticc=5:magnetostaticc=6:acousticcmibody(7)internalelementnumbercmibody(8)layernumberforheattransfershellselementscandvolumefluxcmibody(9)Notusedcmibody(10)boundaryconditionnumberiftableinputctimetimecdimensionmibody(*),temflu(*),welddim(*)real*8fintegermibodyreal*8temflu,time,welddimc******cOPEN(UNIT=10,FILE='HELLO.TXT',POSITION='APPEND')a=0.003b=0.003c=0.003v=0.01T0=0.125temp=0.03xis=1zq=ceiling(time/T0)if(abs(MOD(time-temp,T0)).LT.1e-6)thenxis=0cwrite(10,*)time,111elseif(abs(MOD(time,T0)).LT.1e-6)thenxis=1cwrite(10,*)time,222elseif((time.LT.(zq*T0)).and.(time.GT.((zq-1)*T0+temp)))thenxis=0cwrite(10,*)time,333elsexis=1cwrite(10,*)time,444endifd=0.05-v*timeq=7000*0.7pi=3.14x=temflu(4)y=temflu(5)z=temflu(6)mibody(6)=1y0=0.009x0=0.05heat=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*xiscwrite(10,*)time,xis,fcclose(10)returnend并存为文件名rey.f33.4开始子函数运行1)点击常规项目的运行按钮图2点击运行按钮点击后出现运行对话框,不用管它,直接关闭。图3运行对话框(直接关闭)2)此时找到你常规工程下的_Run_文件夹位置并打开该文件夹图4该工程的_Run_文件夹会发现该文件夹下面有Process.dat文件和run.bat文件。3)用记事本方式打开并修改Process.dat文件(此步不可少!)找到“WELDFLUX-DefinitionsofMotionandFluxParametersforWeldHeatSource”这一行,并修改这一行下面的第5行第三列的值改为3,如下图中的6改为3图5修改前图6修改后修改完成后保存。4)用记事本打开并修改run.bat文件图7修改前run.bat中的call后面为你的simufact.welding6.0安装后run_sfMarc.bat的位置我的上述内容改为:callE:\software\special\simufact6\simufact\welding\6.0\solver\simufact\sfMarc\sf_tools\run_sfMarc.bat-nthread_solver2-nthread_elem2-jF:\study\softwarestudy\software\simufact\marc_link\marc\Process\_Run_\Process.dat-uF:\study\softwarestudy\software\marc\udf_weldtool\rey.f-saveyes需要说明的是:-j后面增加刚才修改的Process.dat的位置-u后面增加刚才rey.f文件的位置增加-saveyes修改完成后并保存退出5)命令运行run.bat图8点击红色框中的黑色小三角并选择“Openashell”图9点击红色框中的黑色小三角并选择“Openashell”在出现的对话框中输入“run.bat”并回车运行一段时间后可以看到Results出现,即可得到想要的结果。热源的脉冲效果如下: