24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2103  |  回复: 7

yzbbk

新虫 (小有名气)

[求助] 激光焊接udf,加载温度场不对已有1人参与

最近小弟在做激光焊接的流场模拟,属于初学者。编了一个udf,T型接头双侧焊接,通过编译,但是计算之后最高温度却只有320K左右,流场曲线更是不对,现在附上udf程序,希望大家帮助小弟解决一下,不胜感激!

#include "udf.h"
#define P 1800   //功率
#define A 0.95   //系数
#define B 0.95  //系数
#define C 0.6   //系数
#define V 0.05  //焊接速度
#define PI 3.14159
DEFINE_SOURCE(xmom_source,c,t,dS,eqn)
{
        int xmom;
        real X[ND_ND];
        real source;
        real x, y, z, x1, y1, z1, x2, y2, z2;
        real g1, h1, j1, g2, h2, j2;
        float z3, z4; // 匙孔深度
        real bate;   //衰减系数
        real Im, Ib, I, PB;
        real r1, r2, rb, R0;
        double eta1, eta2;
        real temp;
        temp=RP_Get_Real("flow-time";   
        bate=0.01;
        rb=0.00015+(P-1200)/800*0.000015;
        R0=10*rb;
               PB=A*B*C*P;
        I=8.6E10;
        Ib=2*bate*PB/(PI*rb*rb);
        Im=Ib+I; //功率密度
        z3=log(Ib/I+1)/bate;
        z4=log(Ib/I+1)/bate;
        eta1=135*PI/180;
        eta2=-135*PI/180;
        C_CENTROID(X, c, t);
        x=X[0];
        y=X[1];
        z=X[2];
        x1=x;
        y1=y-0.0024;
        z1=z-0.0015;
        x2=x;
        y2=y+0.0024;
        z2=z-0.0015;
        g1=x1;
        h1=cos(eta1)*y1+sin(eta1)*z1;
        j1=cos(eta1)*z1-sin(eta1)*y1;
        g2=x2;
        h2=cos(eta2)*y2+sin(eta2)*z2;
        j2=cos(eta2)*z2-sin(eta2)*y2;
        r1=sqrt((g1-V*temp)*(g1-V*temp)+h1*h1);
        r2=sqrt((g2-V*temp)*(g2-V*temp)+h2*h2); //之上为坐标平移及旋转
        if(r1>0.00015&&j1==0.0015)
          {  rb=10*rb;
             source=0.7*2*0.5*P/(PI*rb*rb)*exp(-3*r1*r1/(rb*rb));
             dS[eqn]=0;
           }

          else if(r1<=0.00015&&j1>-0.0018&&j1<0.0015)
          {  
             source=Im*exp(-2*r1*r1/(rb*rb))*exp(-bate*z3);
             dS[eqn]=0;
           }
         else
         if(r2>0.00015&&j1==0.0015)
          {  rb=10*rb;
             source=0.7*2*0.5*P/(PI*rb*rb)*exp(-3*r2*r2/(rb*rb));
             dS[eqn]=0;
           }

          else if(r2<=0.00015&&j2>-0.0018&&j2<0.0015)
          {  
             source=Im*exp(-2*r2*r2/(rb*rb))*exp(-bate*z4);
             dS[eqn]=0;
           }
         else
        source=dS[eqn]=0;
        return source;
        

}
回复此楼

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

电弧

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kylafree

至尊木虫 (知名作家)

source=dS[eqn]=0;
这一句不用写的这么有个性吧
2楼2012-04-05 15:30:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yzbbk

新虫 (小有名气)

引用回帖:
2楼: Originally posted by kylafree at 2012-04-05 15:30:00:
source=dS=0;
这一句不用写的这么有个性吧

请教一下,我不是很明白,
这句话应该怎么写啊?谢谢您啊!
3楼2012-04-05 15:48:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yuchangandy

金虫 (正式写手)

您用的是神马材料啊?
4楼2012-04-05 15:49:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yzbbk

新虫 (小有名气)

引用回帖:
4楼: Originally posted by yuchangandy at 2012-04-05 15:49:42:
您用的是神马材料啊?

铝合金材料,
5楼2012-04-05 15:50:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lucklhz

木虫 (正式写手)

遇到楼主同样的问题,请问楼主最后是怎么解决的?
谢谢!
6楼2012-07-24 14:38:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuxia8495

银虫 (小有名气)

【答案】应助回帖

★ ★
xiegangmai: 金币+2, 谢谢参与! 2012-07-27 00:09:26
1.这里面参数太多,建议你将你的高斯热源函数表达式及其空间分布模式图一并贴出来,便于大家看你的条件语句是否正确
2.粗略看了下,有几点问题:
(1) 你z3和z4定义的一样   z3=log(Ib/I+1)/bate;      z4=log(Ib/I+1)/bate;

(2)程序结尾处 else
         source=dS[eqn]=0;
应该加括号吧
else
{
         source=dS[eqn]=0;
}
fluent交流群:247890687
7楼2012-07-26 15:26:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

没办法奥

新虫 (初入文坛)

【答案】应助回帖

请问楼主你的问题解决了么?可否分享一下?
8楼2014-04-09 19:57:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 yzbbk 的主题更新
信息提示
请填处理意见