| 查看: 5192 | 回复: 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; } |
» 猜你喜欢
基元I理论下三大核心空间现象精准推导与细节解析
已经有0人回复
基于基元 I 统一理论的反重力理论推导
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有106人回复
基于基元I统一理论的量子力学本源推导
已经有1人回复
推荐一款可以AI辅助写作的Latex编辑器SmartLatexEditor,超级好用,AI润色,全免费
已经有20人回复
【EI|Scopus 双检索】第六届智能机器人系统国际会议(ISoIRS 2026)
已经有0人回复
2026年第四届电动车与车辆工程国际会议(CEVVE 2026)
已经有0人回复
» 抢金币啦!回帖就可以得到:
医学超声影像负责人招聘-中国科学院赣江创新研究院
+1/974
苏州国家实验室和中国科学技术大学联培博士招生
+1/178
ChineseResearchLaTeX: 开源、免费的vibe coding辅助国自然写作
+1/89
人间烟火,实则就是追求最简单的快乐
+1/74
一个陌生女人的来信
+1/74
北京-89175-事业单位-诚征女友
+1/63
罗格斯大学纽瓦克校区(Rutgers-Newark) 招收 PHD,计算材料物理方向
+1/35
清华大学深圳国际研究生院招聘-博士后(长期有效)
+1/34
有没有人做过这种结构的顺式体向反式体的转化?
+1/33
香港中文大学医学院 诚聘 研究助理教授 (医工结合/生物信息学方向)
+1/32
中国农业大学安杰课题组招聘科研助理(表现优异者可提供读博机会)
+1/27
宁波诺丁汉大学招收26年秋/27年春固废协同转化与低碳冶金方向全奖博士生
+1/7
墨尔本大学(QS13)急招CSC博士(补齐全奖)/访问学者/博士后 (材料/生物医学/器官芯片等)
+1/5
26博士申请
+1/5
【科研助理招聘-北京理工大学-集成电路与电子学院-国家杰青团队】
+1/4
上海交通大学--宁波东方理工大学电池方向博士招生
+1/4
代教授(南昌航空大学)招收CO2光&光热催化还原方向的博士生
+1/4
队友
+1/3
墨尔本大学(QS13)急招CSC博士(补齐全奖)/访问学者/博士后(生物医学材料/器官芯片)
+1/3
代教授(南昌航空大学)招收CO2光&光热催化还原方向的博士生
+1/3
11楼2013-12-02 11:06:04
12楼2013-12-02 11:06:09
20楼2013-12-02 11:26:38
22楼2013-12-02 11:37:53
37楼2013-12-03 10:27:32
42楼2013-12-03 11:03:56
43楼2013-12-03 11:04:57
48楼2013-12-03 11:23:48
简单回复
湮没黑洞2楼
2013-12-02 10:21
回复
焊接网格划分(金币+3): 谢谢参与
051031113楼
2013-12-02 10:25
回复
焊接网格划分(金币+3): 谢谢参与

风雨飘然4楼
2013-12-02 10:29
回复
焊接网格划分(金币+3): 谢谢参与
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): 谢谢参与

2013-12-02 10:48
回复
焊接网格划分(金币+3): 谢谢参与
wlxiao10楼
2013-12-02 10:57
回复
焊接网格划分(金币+3): 谢谢参与
峰锋风逢烽13楼
2013-12-02 11:08
回复
焊接网格划分(金币+3): 谢谢参与
doctorbang14楼
2013-12-02 11:14
回复
焊接网格划分(金币+3): 谢谢参与
wullww15楼
2013-12-02 11:18
回复
焊接网格划分(金币+3): 谢谢参与
aboluo19833116楼
2013-12-02 11:23
回复
焊接网格划分(金币+3): 谢谢参与
pzchen17楼
2013-12-02 11:24
回复
焊接网格划分(金币+3): 谢谢参与
xianzhi201018楼
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): 谢谢参与
顶
chlq314101a25楼
2013-12-02 11:43
回复
焊接网格划分(金币+3): 谢谢参与






宋全伟26楼
2013-12-02 11:44
回复
焊接网格划分(金币+3): 谢谢参与
, [ 发自手机版 http://muchong.com/3g ]
会飞的乌龟--27楼
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): 谢谢参与
doublehaohao31楼
2013-12-02 11:58
回复
焊接网格划分(金币+3): 谢谢参与

尘轩无梦32楼
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
回复
ts_chenchao38楼
2013-12-03 11:00
回复
焊接网格划分(金币+1): 谢谢参与
天涯201239楼
2013-12-03 11:02
回复
焊接网格划分(金币+1): 谢谢参与
neu23440楼
2013-12-03 11:02
回复
焊接网格划分(金币+1): 谢谢参与
miaojiabing41楼
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): 谢谢参与
lefantian12247楼
2013-12-03 11:18
回复
焊接网格划分(金币+1): 谢谢参与
zhoupeng8749楼
2013-12-03 11:32
回复
焊接网格划分(金币+1): 谢谢参与
·
base0803030850楼
2013-12-03 11:34
回复
焊接网格划分(金币+1): 谢谢参与













回复此楼