| 查看: 955 | 回复: 3 | ||
[求助]
修改边界剪切力为速度的二阶导数出现segmemtation fault
|
|
我想将我的边界层剪切力修改为t=d2u/dx2,u为边界层上一点的速度,x为切向方向。就是将剪切力设定为速度在切向方向的二阶导但是在直接使用C_UDSI_G这个宏的时候会出现segmentation fault。下面是我的代码: # include "udf.h" # define domain_ID 2 DEFINE_ADJUST(adjust_gradient, domain) { Thread *t; cell_t c; face_t f; domain = Get_Domain(domain_ID); /* Fill UDS with the variable. */ thread_loop_c(t,domain) begin_c_loop (c,t) { C_UDSI(c,t,0) = C_DUDX(c,t); } end_c_loop (c,t) } DEFINE_ON_DEMAND(store_gradient) { Domain *domain; face_t f; cell_t c; Thread *t; domain=Get_Domain(1); /* Fill the UDM with magnitude of gradient. */ thread_loop_c(t,domain) begin_c_loop (c,t) { C_UDMI(c,t,0) = C_UDSI_G(c,t,0)[0]; } end_c_loop (c,t) } DEFINE_PROFILE(shear_stressx, t,position) { face_t f; cell_t c0; real xw[ND_ND],xc[ND_ND],taux; real a = 0.00012; Thread *t0= t->t0; begin_f_loop(f,t) { c0= F_C0(f,t); F_CENTROID(xw,f,t); C_CENTROID(xc,c0,t0); taux=-a*C_UDMI(c0,t0,0); F_PROFILE(f,t,position) = taux; } end_f_loop(f,t) } 在execute on demand 的时候就会出现SEGMENTATION 错误,但是如果将C_UDMI(c,t,0) = C_UDSI_G(c,t,0)[0];改成C_UDMI(c,t,0) =NV_MAG(C_UDSI_G(c,t,0))算的话,又会使剪切力直接为零,球球各位大佬帮帮忙,感激不尽。 |
» 猜你喜欢
反铁磁体中的磁性切换:两种不同的机制已成功可视化
已经有0人回复
求标准粉末衍射卡号 ICDD 01-076-1802
已经有0人回复
物理学I论文润色/翻译怎么收费?
已经有223人回复
新西兰Robinson研究所招收全奖PhD
已经有0人回复
石墨烯转移--二氧化硅衬底石墨烯
已经有0人回复
笼目材料中量子自旋液体基态的证据
已经有0人回复
数学教学论硕士可以读数学物理博士吗?
已经有0人回复
德国亥姆霍兹Hereon中心汉堡分部招镁合金腐蚀裂变SCC课题方向2026公派博士生
已经有4人回复
澳门大学 应用物理及材料工程研究院 潘晖教授课题组诚招博士后
已经有11人回复
2楼2018-05-28 09:02:45
星星在我家门
木虫 (著名写手)
热爱互联网
- 应助: 21 (小学生)
- 金币: 2024.1
- 散金: 1232
- 红花: 8
- 沙发: 1
- 帖子: 1070
- 在线: 173.8小时
- 虫号: 3229413
- 注册: 2014-05-23
- 专业: 传递过程

3楼2018-06-14 18:46:42
4楼2018-09-29 20:49:50












回复此楼