动网格UDF案例

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
动网格UDF案例
问题运动
• 绿色的阀体作定速转动 • 黄色膜片作随时间做正/余
旋的变形 • 动网格区域
– 阀体—— DEFINE_CG_MOTION
– 膜片—— DEFINE_GRID_MOTION
– 上部壁面—— DEFINE_GEOM
DEFINE_CG_MOTION
• 阀体转动Βιβλιοθήκη Baidu
#define omega 1.0 DEFINE_CG_MOTION(butterfly_flex_UDF, dt, cg_vel,
DEFINE_GRID_MOTION(moving_arc, domain, dt, time, dtime)
{ Thread *tf = DT_THREAD (dt); face_t f; Node *node_p; real alpha, theta, x, ymag, yfull, y; int n;
cg_omega, time, dtime) { cg_vel[0] = 0.0; cg_vel[1] = 0.0; cg_vel[2] = 0.0;
cg_omega[0] = 0.0; cg_omega[1] = 0.0; cg_omega[2] = omega; }
DEFINE_GRID_MOTION
{ node_p = F_NODE (f, tf, n);
if (NODE_POS_NEED_UPDATE (node_p)) {
NODE_POS_UPDATED (node_p);
x = NODE_X (node_p); ymag = sqrt (R*R - x*x) + 0.03; yfull = ymag - 0.1; y = - 0.1 + yfull * sin(theta); NODE_Y (node_p) = y; } } } end_f_loop (f, tf); }
SET_DEFORMING_THREAD_FLAG (THREAD_T0 (tf));
alpha = omega * CURRENT_TIME; theta = 2.0 * alpha + 3.0 * M_PI / 2.0;
begin_f_loop (f, tf) { f_node_loop (f, tf, n)
DEFINE_GEOM
#define R 0.109 DEFINE_GEOM(plane, domain, dt, position) {
position[1] = R; }
相关文档
最新文档