24小时热门版块排行榜    

查看: 5681  |  回复: 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的回帖

焊接网格划分

新虫 (初入文坛)


引用回帖:
102楼: Originally posted by 聂晓辉 at 2013-12-03 14:48:11
小手一抖,金币到手!3Q

金币对我来说一点都不重要!谁要给谁!网络上的过客!学习东西才是硬道理!
103楼2013-12-03 14:58:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 117 个回答
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[文学芳草园] 梦想 +5 myrtle 2026-08-26 8/400 2026-09-02 02:42 by Leogzhya
[基金申请] 学科评审组评审是指会评吗? +4 瞬息宇宙 2026-08-31 4/200 2026-09-01 14:58 by jiaoxg
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +13 Kittylucky 2026-08-27 14/700 2026-09-01 11:06 by feng6531
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +7 gdd2018 2026-08-28 12/600 2026-09-01 08:32 by 尼古拉斯小虫
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
信息提示
请填处理意见