| 查看: 4917 | 回复: 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; } |
» 猜你喜欢
【复旦大学】二维材料方向招收2026年博士研究生1名
已经有0人回复
北京纳米能源与系统研究所 王中林院士/曹南颖研究员课题组2026级硕/博/博后招生
已经有10人回复
物理学I论文润色/翻译怎么收费?
已经有106人回复
荷兰Utrecht University超快太赫兹光谱王海教授课题招收2026 CSC博士生
已经有23人回复
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
26申博推荐:南京航空航天大学国际前沿科学研究院光学方向招收博士生!
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
» 抢金币啦!回帖就可以得到:
中国地质大学(武汉)杨明教授组招收2026年博士
+2/408
双一流大学-湘潭大学“电化学能源储存与转换”湖南省重点实验室招生电池方向博士生
+1/69
首都师范大学化学系 光功能团队招聘博士生
+1/62
2026申博自荐
+1/45
岭南大学(香港)诚招固态电池方向优秀博士生
+1/34
香港中文大学与香港中文大学(深圳)联合培养博士后招聘启事
+1/33
QS TOP100英国南安普顿大学数字健康与生医工招博后,博士,Fellowship,访问学者
+1/32
都柏林大学微纳制造博士后招聘启事——二
+1/31
浙江农林大学森林食物资源挖掘与利用全国重点实验室2026年博士生招生
+1/29
山东大学机械工程学院“先进加工装备”课题组博士招生
+1/28
中国科大化材学院/苏州高研院刘东教授诚聘博士后
+1/14
211本985硕功能陶瓷方向申博自荐
+1/13
中科院过程工程研究所 诚招博士后及科研助理
+1/8
哈尔滨工业大学招收博士研究生(欢迎环境、生物、市政、农业、化学等专业)长期有效
+1/8
北京理工大学(珠海)医疗机器人实验室现招收2026年博士研究生
+1/6
2026英国女王大学机械学院电池储能CSC全奖博士招聘
+1/3
北理工柔性电子国家杰青团队招【博士后】
+1/3
2026英国女王大学机械学院电池储能CSC全奖博士招聘
+1/2
西交利物浦大学(苏州)/刘雯教授师课题组/招博士研究生
+1/1
26申博求助
+1/1
22楼2013-12-02 11:37:53













回复此楼