找回密码
 注册
Simdroid-非首页
查看: 1035|回复: 27

[分析实例] 小球浮出水面的过程!

[复制链接]
发表于 2011-8-24 20:14:45 | 显示全部楼层 |阅读模式 来自 黑龙江哈尔滨
本帖最后由 yuyongfei 于 2016-2-5 13:53 编辑


本帖最后由 yuyongfei 于 2016-2-5 11:52 编辑


物性计算、单位换算、流量换算等科研微信公众号,欢迎大家微信扫描使用






我是准备用fluent 动网格做一个小球在水的浮力之下浮出水面的过程,但暂时不会,所以就首先做了一个给定小球初速的简单例子UDF如下:
#include "udf.h"
DEFINE_CG_MOTION(shui, dt, vel, omega, time, dtime)
{
if(time<=2.5)
   vel[1]=2;
else
   vel[1]=0;


}

不知那位高手做过小球在水的浮力作用之下浮出水面的例子。我查了一下,好像可以用CG_MOTION或者6DOF做出来,我用CG_MOTION做过没做出来,不知哪里错了,UDF如下:
# include "udf.h"


/* ******************************************* */
static real G = 9.8; /* gravity ,0 when neglected*/
static real mov_M =100; /* mass of moving object*/
static real mov_S_X = 0.0; /* X replacement of moving object*/
static real mov_S_Y = 0.0; /* Y replacement of moving object*/
static real mov_U = 0.0; /* X velocity of moving object */
static real mov_V = 0.0; /* Y velocity of moving object */
static real mov_F_X = 0.0; /* fluid force of X component */
static real mov_F_Y = 0.0; /* fluid force of Y component */


/* ******************************************* */
DEFINE_CG_MOTION(mov, dt, vel, omega, time, dtime)
{
#if !RP_HOST
    Thread *t;
    Domain *d;
    real du,dv, CG[ND_ND], force[3], moment[3];
     
    /* Reset velocities */
    NV_S (vel, =, 0.0);
    NV_S (omega, =, 0.0);     
     
    /* Calculate force*/
    d = THREAD_DOMAIN (DT_THREAD ((Dynamic_Thread *)dt));
    t = DT_THREAD(dt);
    NV_S (CG, =, 0.0);
    Compute_Force_And_Moment (d, t, CG, force, moment, FALSE);


    /* Compute change in velocity */
    du = dtime * force[0] / mov_M;
    dv = dtime * (force[1] - G * mov_M) / mov_M;     
   
    mov_U += du;
    mov_V += dv;
    mov_S_X+= mov_U* dtime;     
    mov_S_Y+= mov_V* dtime;
     
    /* Set x-component and y-component of velocity */
    vel[0] = mov_U;
    vel[1] = mov_V;


    mov_F_X= force[0];
    mov_F_Y= force[1];


    Message0("\ntime=%.5e F(x)=%.4e F(y)=%.4e S(x)=%.6e S(y)=%.6e V(x)=%.6e V(y)=%.6e", time,mov_F_X,mov_F_Y,mov_S_X,mov_S_Y,mov_U,mov_V);
   
#endif
    node_to_host_real_2(mov_S_X,mov_S_Y);
    node_to_host_real_2(mov_U,mov_V);
    node_to_host_real_2(mov_F_X,mov_F_Y);
   
    node_to_host_real(vel, ND_ND);
    node_to_host_real(omega, ND_ND);
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

发表于 2011-8-24 23:22:06 | 显示全部楼层 来自 上海浦东新区
Simdroid开发平台
你这个是三维的对吧。
回复 不支持

使用道具 举报

 楼主| 发表于 2011-8-25 08:25:51 | 显示全部楼层 来自 黑龙江哈尔滨
回复 2# lihui54312


    不是,只是二维的!
回复 不支持

使用道具 举报

发表于 2011-8-25 11:24:08 | 显示全部楼层 来自 湖北武汉
没有看明白理论基础是什么?
回复 不支持

使用道具 举报

发表于 2011-8-25 13:40:13 | 显示全部楼层 来自 黑龙江哈尔滨
请楼主借鉴一本fluent中文工具书 如果没记错的话 那本书作者有一位叫温正。
里面有一个6dof导弹发射例子。
回复 不支持

使用道具 举报

 楼主| 发表于 2011-8-25 13:50:58 | 显示全部楼层 来自 黑龙江哈尔滨
回复 5# 水若无痕


    谢谢版主,现在就去查查看!
回复 不支持

使用道具 举报

发表于 2011-8-25 15:10:27 | 显示全部楼层 来自 北京
二维的做什么6DOF?
回复 不支持

使用道具 举报

 楼主| 发表于 2011-8-25 15:52:28 | 显示全部楼层 来自 黑龙江哈尔滨
回复 7# lihui54312


    应为我是刚学习UDF的,所以希望做几个有关UDF的实例来增加对UDF的了解,由于三维的比较费时,所以先做二维的。想问下你之前有没有做过这个例子呢?欢迎指教!
回复 不支持

使用道具 举报

发表于 2011-8-25 15:54:17 | 显示全部楼层 来自 北京
回复 8# yuyongfei
我的意思是二维的怎么会有六个自由度?
回复 不支持

使用道具 举报

 楼主| 发表于 2011-8-25 16:00:09 | 显示全部楼层 来自 黑龙江哈尔滨
本帖最后由 yuyongfei 于 2011-8-25 16:01 编辑

回复 9# lihui54312


   哦,其他几个不用管就行了,只用其中需要的几个!
回复 不支持

使用道具 举报

发表于 2011-8-26 13:10:00 | 显示全部楼层 来自 美国
回复 1# yuyongfei

使用的代码跟你一样,并且加了绕Z轴的转矩。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2011-8-26 16:05:48 | 显示全部楼层 来自 黑龙江哈尔滨
回复 11# mayo_0


    那可能我哪里设置有误,多谢了,高手!
回复 不支持

使用道具 举报

发表于 2011-8-30 14:06:38 | 显示全部楼层 来自 清华大学
mayo_0 发表于 2011-8-26 13:10
回复 1# yuyongfei

使用的代码跟你一样,并且加了绕Z轴的转矩。

感觉你水气交界面并不明显,感觉和大家计算气泡时的边界并不一样。不知道你是怎么设置的?为什么?
回复 不支持

使用道具 举报

发表于 2011-8-30 14:12:32 | 显示全部楼层 来自 美国
dh06 发表于 2011-8-30 14:06
感觉你水气交界面并不明显,感觉和大家计算气泡时的边界并不一样。不知道你是怎么设置的?为什么? ...

网格3k不到。
回复 不支持

使用道具 举报

发表于 2011-8-30 14:29:49 | 显示全部楼层 来自 清华大学
mayo_0 发表于 2011-8-30 14:12
网格3k不到。

……我是想问你气液交界面为什么要将梯度处理的很小(或者你网格尺度很小),至少从图上看起来很小。这与实际情况应该有差别……
回复 不支持

使用道具 举报

 楼主| 发表于 2011-8-30 21:47:20 | 显示全部楼层 来自 黑龙江哈尔滨
dh06 发表于 2011-8-30 14:29
……我是想问你气液交界面为什么要将梯度处理的很小(或者你网格尺度很小),至少从图上看起来很小。这与 ...

我也感觉他的看起来有点怪怪的。
回复 不支持

使用道具 举报

发表于 2011-8-30 22:55:32 | 显示全部楼层 来自 江苏南京
我用6DOF模型做过物块在水面垂直振荡,所以应该可以做小球上浮的过程
回复 不支持

使用道具 举报

发表于 2011-8-30 23:05:08 | 显示全部楼层 来自 清华大学
yuyongfei 发表于 2011-8-30 21:47
我也感觉他的看起来有点怪怪的。

另外我计算时,加了重力但是水中并没有出现压力梯度,不知道应该怎么设置。
回复 不支持

使用道具 举报

发表于 2011-8-31 09:58:00 | 显示全部楼层 来自 上海
vof选择了隐式,所以气液截面看起来很不明显,需要选择显式才行
回复 不支持

使用道具 举报

 楼主| 发表于 2011-8-31 10:41:26 | 显示全部楼层 来自 黑龙江哈尔滨
hxf404 发表于 2011-8-30 22:55
我用6DOF模型做过物块在水面垂直振荡,所以应该可以做小球上浮的过程

我还做过木块掉入水中的过程,也是用6DOF做的,这两个好像不太一样!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-9-23 00:43 , Processed in 0.093969 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表