找回密码
 注册
查看: 1485|回复: 0

求助:倾斜热源,编译通过却无法实现热源的倾斜!

[复制链接]
发表于 2012-3-26 19:24:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
我做激光焊接熔池的流动方向,热源采用的面热源+体热源的形式,但是焊接形式是角焊缝,因此热源在加载工程中需要倾斜一定的角度,现在编译了一个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)
{
        real X[ND_ND];
        real source;
        real x, y, z;
                real g, h, j;
        float z2;
        real bate;
        real Im, Ib, I, PB;
        real r, rb, R0;
        double eta;
        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;
        z2=log(Ib/I+1)/bate;
        eta=70*PI/180;
        C_CENTROID(X, c, t);
        x=X[0];
        y=X[1];
        z=X[2];
        g=x;
        h=cos(eta)*y+sin(eta)*z;
        j=cos(eta)*z-sin(eta)*y;
        r=sqrt((g-V*temp)*(g-V*temp)+j*j);
        if(r<=0.00015&&j==0)
          {  rb=10*rb;
             source=0.7*2*0.5*P/(PI*rb*rb)*exp(-3*r*r/(rb*rb));
             dS[eqn]=0;
           }

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

}

[ 本帖最后由 hitmse 于 2012-3-26 20:28 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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