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

[15.分享让我牛B] 我做的泡泡膨胀收缩运动,请教曲率问题【已解决,附作者心得】

[复制链接]
发表于 2010-8-25 13:20:13 | 显示全部楼层 |阅读模式 来自 广东深圳
本帖最后由 TBE_Legend 于 2010-9-30 10:09 编辑

我做的是气泡在管子中的膨胀振动情况
       在泡壁施加一个力之后,泡泡就在管子中膨胀收缩,我这里加的是一个周期的正弦脉冲。

       泡泡的表面张力为p=2*sigma*k,(sigma为泡泡的表面张力系数,k为泡泡的曲率)。在这里,在膨胀收缩过程中把泡泡始终看成是圆形的,因此曲率为圆半径的倒数,圆的半径是管的半径减去这条辅助线的长度(此线长度通过积分耦合变量计算)(感谢版主kinggun的指点)。

       泡泡半径为1.5um,在比较大的管子中,比如40um的管子,气泡依然是近似为圆形,因此误差小,但是在小管子中,泡泡变形严重,就不应该看成是圆形的了,曲率的计算也不能认为是圆半径的倒数了。

       针对这种情况,有没有高手知道曲率如何求?这个问题问了很久了,难道坛子里真的没有人知道吗?严重拜谢!!!

       抱歉,本来想把动画贴上来,但是说我附件大小不符合论坛限制,就把图贴上来吧。


泡壁膨胀比例:

看泡泡的形变,已经不是一个圆了


在较大管子(40um)中,泡泡变形过程中基本保持圆形。

本帖子中包含更多资源

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

×
发表于 2010-8-26 12:15:01 | 显示全部楼层 来自 上海
Simdroid开发平台
网上应该可以找到针对散点求曲率的MATLAB脚本,好象是基于三次样条插值来做的。
不妨测试一下是否可以通过COMSOL With MATLAB,调用这个脚本来求解。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-8-26 14:04:02 | 显示全部楼层 来自 广东深圳
网上应该可以找到针对散点求曲率的MATLAB脚本,好象是基于三次样条插值来做的。
不妨测试一下是否可以通过COMSOL With MATLAB,调用这个脚本来求解。
kinggun 发表于 2010-8-26 12:15


非常感谢版主的热心解答,我找找试试。那这样针对散点求的话,在COMSOL中应该是加在points上还是boundary上呢?
回复 不支持

使用道具 举报

发表于 2010-8-27 05:14:33 | 显示全部楼层 来自 美国
真正的气泡在小管中的运动是圆形的吗? 当气泡与管壁近时, 两向阻尼的差异就显示出来了.

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-8-27 11:27:52 | 显示全部楼层 来自 广东深圳
真正的气泡在小管中的运动是圆形的吗? 当气泡与管壁近时, 两向阻尼的差异就显示出来了.
hjli6 发表于 2010-8-27 05:14



当然不是圆形的咯,就是因为不是圆形的,所以才焦头烂额啊
回复 不支持

使用道具 举报

发表于 2010-8-27 15:14:43 | 显示全部楼层 来自 湖北武汉
用平均化曲率计算公式,这就需要先计算界面相场梯度,进行积分平均就可以了。

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-8-30 10:13:11 | 显示全部楼层 来自 广东深圳
用平均化曲率计算公式,这就需要先计算界面相场梯度,进行积分平均就可以了。
zqlgeo 发表于 2010-8-27 15:14



嗯~~这个~~zqlgeo能说的清楚一些吗?
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-29 12:12:45 | 显示全部楼层 来自 广东深圳
本帖最后由 hgniang 于 2010-9-29 12:21 编辑

呵呵,摸索了一个月,终于做出来了。

先做了一个无限大场里面的微泡振动来验证曲率计算正不正确。

下面是动画和振动曲线图

动画:

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-29 12:21:55 | 显示全部楼层 来自 广东深圳
这个gif搞了好久~~
回复 不支持

使用道具 举报

发表于 2010-9-29 12:51:38 | 显示全部楼层 来自 江苏南京
9# hgniang

希望能详细说下你的解决方案,让大家都学习一下。
回复 不支持

使用道具 举报

发表于 2010-9-29 13:30:07 | 显示全部楼层 来自 上海
就是,说说怎么处理的,大家一起学习下。
回复 不支持

使用道具 举报

发表于 2010-9-29 17:09:47 | 显示全部楼层 来自 法国
为你高兴。同时搬个小板凳学习!
回复 不支持

使用道具 举报

 楼主| 发表于 2010-9-29 18:22:36 | 显示全部楼层 来自 广东深圳
嗯,前段时间摸索了用脚本来算,但是发现问题,虽然数据能够导入,可是导入的数据不随时间变化,详细情况我整理完之后再贴上来大伙儿分析分析。
    然后回归问题的本源思考。计算曲率的方法很简单,问题就是怎么把点的坐标和边界的曲率联系起来。也就是边界上的曲率用点的相应信息来表示。每段边界的曲率当然是跟边界两头的点的坐标有关,于是用发现用extrusion coupling variables可以把两端的点的坐标映射到边界上。这样就可以计算每段边的曲率了。这就解决了一大问题。
    关于曲率的计算。我没有用到我以前贴的曲率的计算公式,就是求导的那种方法。用的是曲率的定义,就是两点的切向角之差除以弧长。我本人觉得用定义来计算应该误差更加小一些。
    大体就是这样做的,具体问题我随后再整理。这个曲率问题困扰了我两个月的时间,现在终于解决,希望对以后做有这方面困扰的后人有所帮助,能够少走一些弯路。。。

评分

2

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-9 15:55:26 | 显示全部楼层 来自 广东深圳
接下来我把半径1.5um的泡泡放在半径为20um的血管中,同样用这个方法来计算曲率,几个周期之后泡泡严重不规则变形,计算进行不下去。这是为什么呢?

会不会是由于网格的原因?有没有人遇上过这种情况呢?

本帖子中包含更多资源

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

×
回复 不支持

使用道具 举报

发表于 2010-10-9 16:45:27 | 显示全部楼层 来自 法国
隐约觉得,我大致有同样的问题。不过在处理界面上,你是用的ALE,我是用的水平集。

我个人的直觉是,似乎在边界上的“物理”还没有弄明白。注意到后期边界“凸凹有致”的情况了,可能这是表面张力什么的在边界上不连续,可能出来很“尖锐”的点。似乎就是细化网格的招了,但因为我那个边界在非常大的范围内变形,这样就要求在几乎整个求解域都要细化,使计算量变得非常大。

看了你这个比较成功的例子,真想好好学学ALE了。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-9 17:51:15 | 显示全部楼层 来自 广东深圳
15# soliton


嗯~~我在边界上画了好多个点,也就是把泡泡边界划分为了六十段,划分网格的时候每一小段有两个网格,这样貌似还不够?但是继续细分的话,容易出现out of memory呀。
回复 不支持

使用道具 举报

发表于 2010-10-9 18:45:58 | 显示全部楼层 来自 黑龙江哈尔滨
隐约觉得,我大致有同样的问题。不过在处理界面上,你是用的ALE,我是用的水平集。

我个人的直觉是,似乎在边界上的“物理”还没有弄明白。注意到后期边界“凸凹有致”的情况了,可能这是表面张力什么的在边界上不 ...
soliton 发表于 2010-10-9 16:45


ALE  没什么,在comsol中很好学。

对于你们的情况,我建议用 ale + remesh 估计会好很多。
回复 不支持

使用道具 举报

 楼主| 发表于 2010-10-11 09:45:59 | 显示全部楼层 来自 广东深圳
17# TBE_Legend


由于我是通过定义来计算曲率的,也就是每段曲线 俩端点切向角的差/弧长 求切向角的时候用到了tz,tr,即atan(tz/tr)。而在ALE mode property中打开allow remesh之后,却出现了

Failed to evaluate variable Jacobian.
- Variable: tZ

难道remesh之后,就没有切向量这个自带变量了吗?
回复 不支持

使用道具 举报

发表于 2010-10-20 01:34:30 | 显示全部楼层 来自 美国
楼主的帖子对我启发很大,想问两个问题:1,能否将现有的几何图形再减去一半,就是只计算1/4圆,这样可以节省资源;2,在声波的可听域范围,我通常是将网格的大小对应最高频率波长的1/6. 楼主是否可以试试?
回复 不支持

使用道具 举报

发表于 2010-10-20 11:04:50 | 显示全部楼层 来自 加拿大
本帖最后由 hjli6 于 2010-10-20 11:08 编辑

你网格只是拉伸, 没有REMESH, 不建议用三角网
我这种网格变化这么大幅度都没问题.

,
回复 不支持

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 07:47 , Processed in 0.064877 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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