24小时热门版块排行榜    

查看: 5562  |  回复: 116

焊接网格划分

新虫 (初入文坛)


[交流] 激光反射吸收热源模型!!!!代码重量爆料!!!!!求解答!!!!!!!!!

代码有点错误,我现在是想用最小二乘法拟合自由表面的曲线,首先轮循所有自由表面网格,计算自由表面网格数量N,开辟数值存储自由表面上网格的重心(优良拟合三次曲线方程),gt,GS,max三个函数是用来求三次曲线方程y=a+bx+cx2+dx*x*x四个系数。然后把求出的四个系数保存到C_UDMI中,用于与离散的激光光线求交。代码编译之后有错误,可能思路上都已经与udf编程思想向偏离了,求各路大神指点,重谢!!!!!!!!!!!至少400金币!!!!呵呵
#include "udf.h"

#include "sg.h"

#include "sg_mphase.h"

#include "flow.h"

#include <math.h>

double gt(double x[],double y[]);
double GS(double a[4][4],double b[4],double x[4]);
double max(double array[4]);

DEFINE_ADJUST(store_gradient,domain)
{
  int phase_domain_index = 0;
  real xc[ND_ND],xd[ND_ND],x[4],n1,n2,thita_l,thita_g;
  Thread *t;
  Thread **pt;
  cell_t c;

  Domain *pDomain = DOMAIN_SUB_DOMAIN(domain,phase_domain_index);
  {
   Alloc_Storage_Vars(pDomain,SV_VOF_RG,SV_VOF_G,SV_NULL);
   Scalar_Reconstruction(pDomain, SV_VOF,-1,SV_VOF_RG,NULL);
   Scalar_Derivatives(pDomain,SV_VOF,-1,SV_VOF_G,SV_VOF_RG,Vof_Deriv_Accumulate);
  }
  mp_thread_loop_c(t,domain,pt)
{
  if (FLUID_THREAD_P(t))
  {
   int N=0;
   Thread *ppt = pt[phase_domain_index];

   begin_c_loop (c,t)
   {
          C_CENTROID(xd,c,t);
      if(C_VOF(c, ppt)>0.1&&C_VOF(c, ppt)<0.9&&fabs(xd[0]-0)>0.0005)
             N++;
   }
   end_c_loop (c,t)

   double a[N],b[N],c[N],d[N],e[N],f[N],g[N];

   int i;
   for(i=0; i<N; i++)
   {
       a=1;
   }

   int j=0;
   begin_c_loop (c,t)
   {
     C_CENTROID(xc,c,t);
     if(C_VOF(c, ppt)>0.1&&C_VOF(c, ppt)<0.9&&fabs(xc[0]-0)>0.0005)
     {
        b[j]=xc[0];
        e[j]=xc[1];
        c[j]=b[j]*b[j];
        d[j]=b[j]*b[j]*b[j];
                j++;  
     }
   }
   end_c_loop (c,t)
   f[0]=gt(a,a);f[1]=gt(a,b);f[2]=gt(a,c);f[3]=gt(a,d);f[4]=gt(b,b);f[5]=gt(b,c);f[6]=gt(b,d);
   f[7]=gt(c,c);f[8]=gt(c,d);f[9]=gt(d,d);g[0]=gt(a,e);g[1]=gt(b,e);g[2]=gt(c,e);g[3]=gt(d,e);
   double array[4][4]={{f[0],f[1],f[2],f[3]},{f[1],f[4],f[5],f[6]},{f[2],f[5],f[7],f[8]},{f[3],f[6],f[8],f[9]}};
   GS(array,g,x);
   C_UDMI(c,t,0) = x[0];
   C_UDMI(c,t,1) = x[1];
   C_UDMI(c,t,2) = x[2];
   C_UDMI(c,t,3) = x[3];
  }
}
  Free_Storage_Vars(pDomain,SV_VOF_RG,SV_VOF_G,SV_NULL);
}

double gt(double x[],double y[])
{   
    double sum=0;
        int i;
    for(i=0;i<N;i++)
       sum=x*y+sum;
    return sum;
}

double GS(double a[4][4],double b[4],double x[4])
{
    double c[4]={0};
    double x0[4]={0};
    int i,j,k;
    double sum=0;
    for(k=1;;k++)
    {
        for(i=0;i<4;i++)
        {
            for(j=0;j<4;j++)
            {
                sum=a[j]*x0[j]+sum;
            }
            x=x0+(b-sum)/a;
            c=fabs(x-x0);
            x0=x;
            sum=0;
        }
        r=max(c);
        if(r<0.0001)
        {
            break;
         }
    }
    return 0;
}

double max(double array[4])
{
    double a=array[0];
        int i;
    for(i=0;i<4;i++)
   {
        if(a<array)
           a=array;
    }
    return a;
}
回复此楼

» 猜你喜欢

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

查看全部散金贴

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

qingxiang827

铁虫 (知名作家)



焊接网格划分(金币+3): 谢谢参与
愿楼主心想事成
11楼2013-12-02 11:06:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gitme3388

铁虫 (知名作家)



焊接网格划分(金币+3): 谢谢参与
Good luck
12楼2013-12-02 11:06:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

我爱喝奶

银虫 (小有名气)



焊接网格划分(金币+3): 谢谢参与
不太了解  祝福楼主吉星高照
20楼2013-12-02 11:26:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

crysmat

铁杆木虫 (知名作家)



焊接网格划分(金币+3): 谢谢参与
顶一个,祝楼主一切顺利
22楼2013-12-02 11:37:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

焊接网格划分

新虫 (初入文坛)


虫友们!给大家提个方向去修改,可以用FORTRAN编写函数gt,GS,max,先预编译成.obj文件然后在ADJUST宏中调用。希望高手们多多指教!!!!!!!!
37楼2013-12-03 10:27:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ttmany7788

铁虫 (知名作家)



焊接网格划分(金币+1): 谢谢参与
愿楼主心想事成
42楼2013-12-03 11:03:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

freedom767

铁虫 (知名作家)



焊接网格划分(金币+1): 谢谢参与
愿楼主心想事成
43楼2013-12-03 11:04:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

焊接网格划分(金币+1): 谢谢参与
不会
48楼2013-12-03 11:23:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2013-12-02 10:21   回复  
焊接网格划分(金币+3): 谢谢参与
051031113楼
2013-12-02 10:25   回复  
焊接网格划分(金币+3): 谢谢参与
2013-12-02 10:29   回复  
焊接网格划分(金币+3): 谢谢参与
virologik5楼
2013-12-02 10:30   回复  
焊接网格划分(金币+3): 谢谢参与
haixiawu6楼
2013-12-02 10:30   回复  
焊接网格划分(金币+3): 谢谢参与
tzynew7楼
2013-12-02 10:33   回复  
焊接网格划分(金币+3): 谢谢参与
slz20088楼
2013-12-02 10:34   回复  
焊接网格划分(金币+3): 谢谢参与
yaoyao1459楼
2013-12-02 10:48   回复  
焊接网格划分(金币+3): 谢谢参与
wlxiao10楼
2013-12-02 10:57   回复  
焊接网格划分(金币+3): 谢谢参与
2013-12-02 11:08   回复  
焊接网格划分(金币+3): 谢谢参与
doctorbang14楼
2013-12-02 11:14   回复  
焊接网格划分(金币+3): 谢谢参与
wullww15楼
2013-12-02 11:18   回复  
焊接网格划分(金币+3): 谢谢参与
2013-12-02 11:23   回复  
焊接网格划分(金币+3): 谢谢参与
pzchen17楼
2013-12-02 11:24   回复  
焊接网格划分(金币+3): 谢谢参与
2013-12-02 11:24   回复  
焊接网格划分(金币+3): 谢谢参与
fujiating19楼
2013-12-02 11:24   回复  
焊接网格划分(金币+3): 谢谢参与
wendytxy21楼
2013-12-02 11:33   回复  
焊接网格划分(金币+3): 谢谢参与
abczhang23楼
2013-12-02 11:41   回复  
焊接网格划分(金币+3): 谢谢参与
Spinage24楼
2013-12-02 11:41   回复  
焊接网格划分(金币+3): 谢谢参与
2013-12-02 11:43   回复  
焊接网格划分(金币+3): 谢谢参与
宋全伟26楼
2013-12-02 11:44   回复  
焊接网格划分(金币+3): 谢谢参与
[ 发自手机版 http://muchong.com/3g ]
2013-12-02 11:44   回复  
焊接网格划分(金币+3): 谢谢参与
wander051528楼
2013-12-02 11:45   回复  
焊接网格划分(金币+3): 谢谢参与
yuzhichao29楼
2013-12-02 11:50   回复  
焊接网格划分(金币+3): 谢谢参与
祝福
Sammy230楼
2013-12-02 11:52   回复  
焊接网格划分(金币+3): 谢谢参与
2013-12-02 11:58   回复  
焊接网格划分(金币+3): 谢谢参与
2013-12-02 11:59   回复  
焊接网格划分(金币+3): 谢谢参与
[ 发自手机版 http://muchong.com/3g ]
lgward33楼
2013-12-02 12:01   回复  
焊接网格划分(金币+3): 谢谢参与
huiminchlq34楼
2013-12-02 12:01   回复  
焊接网格划分(金币+3): 谢谢参与
xiejf35楼
2013-12-02 12:09   回复  
焊接网格划分(金币+1): 谢谢参与
silence136楼
2013-12-02 12:25   回复  
2013-12-03 11:00   回复  
焊接网格划分(金币+1): 谢谢参与
天涯201239楼
2013-12-03 11:02   回复  
焊接网格划分(金币+1): 谢谢参与
neu23440楼
2013-12-03 11:02   回复  
焊接网格划分(金币+1): 谢谢参与
2013-12-03 11:03   回复  
焊接网格划分(金币+1): 谢谢参与
gyfwon44楼
2013-12-03 11:09   回复  
焊接网格划分(金币+1): 谢谢参与
gander45楼
2013-12-03 11:09   回复  
焊接网格划分(金币+1): 谢谢参与
v
liu12333846楼
2013-12-03 11:11   回复  
焊接网格划分(金币+1): 谢谢参与
2013-12-03 11:18   回复  
焊接网格划分(金币+1): 谢谢参与
zhoupeng8749楼
2013-12-03 11:32   回复  
焊接网格划分(金币+1): 谢谢参与
·
2013-12-03 11:34   回复  
焊接网格划分(金币+1): 谢谢参与
相关版块跳转 我要订阅楼主 焊接网格划分 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 基金中了 +6 laoda193707 2026-08-06 6/300 2026-08-06 23:34 by dragonxp
[基金申请] 听说今天filecode变了 +17 布布和一二 2026-08-06 31/1550 2026-08-06 22:34 by qusibaya
[基金申请] filecode +10 等待解的谜 2026-08-06 14/700 2026-08-06 21:16 by zhanghaozhu
[基金申请] 固定端突然变了,今天 +3 archvillain 2026-08-06 7/350 2026-08-06 21:05 by archvillain
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 6/300 2026-08-06 20:19 by 苏知砚
[有机交流] 一个有机合成实验室都需要哪些设备? 50+3 kf2781974 2026-07-31 12/600 2026-08-06 15:11 by eddyin
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[教师之家] 咨询面上基金 +4 李长云 2026-07-31 7/350 2026-08-06 11:20 by 李长云
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇! +22 低垂的野花 2026-07-31 30/1500 2026-08-05 18:03 by 低垂的野花
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[考博] 【2027博士申请】纳米药物递送方向 20+3 13586093586 2026-08-03 4/200 2026-08-05 09:59 by lfy8008
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[论文投稿] 十年后又回来了,论文投稿求助 +3 哈哈114477 2026-08-01 3/150 2026-08-04 15:40 by tegsgjy20
[基金申请] 纯娱乐,不喜欢勿喷 +7 Tide man 2026-08-04 10/500 2026-08-04 15:10 by loufangrui
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
[基金申请] 娱乐 +4 Tide man 2026-08-03 4/200 2026-08-04 11:51 by wgch518
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见