流固耦合的方法.docx
《流固耦合的方法.docx》由会员分享,可在线阅读,更多相关《流固耦合的方法.docx(60页珍藏版)》请在冰豆网上搜索。
流固耦合的方法
[吐血奉献]流固耦合分析成功的条件
mbrslydddd
隐居版主
∙
1#大中小发表于2005-6-1810:
09 只看该作者
[吐血奉献]流固耦合分析成功的条件
本人近来查看好多CFD分析的论坛,发现好多网友都在为流固耦合而头大,且网上也没有完整的、系统的案例可供参考,目前小弟也在做流固耦合的问题,即为流体输送固体颗粒的过程的模拟,好不容易找到了完整的解决办法,不敢独享,特奉献于此。
1.首先在建模和条件设置方面要按照这样的设置顺序:
(1)选取流体单元,(打开keyopt(4)选项),建立流体模型,注意此处挖去固体所占的空间,然后分区划分流体场网格(好像在ls_dyna里面不要挖去固体所占空间),注意靠近挖去空间的部分网格应该细小些,还有若要采用remesh在计算中重划网格,一定要使用三角形单元(所有流体场)
(2)流体场模型建立完成后,首先要在流固耦合的边界上施加流体耦合标签FSI,然后在在流体场区域施加必要的边界条件,诸如位移约束,速度、压力等等。
然后设置求解流体场的时间步长、求解时间、流体属性,打开ALE选项(瞬态分析)网格重画属性等等
(3)这样的工作完成后,进入/prep7,加入固体单元,设置固体材料属性,在挖去的部分建立固体模型,划分固体网格,在固体网格与流体场接触的固体边界上施加流体耦合标签FSI,注意要和前面的number相同。
(4)为固体实际必要的约束条件(看是固体推动流体还是流体推动固体)
(5)设置固体求解的时间步长和求解结束时间
(6)设置流固耦合属性,(看是固体推动流体还是流体推动固体),求解时间步长和求解时间,收敛准则,迭代次数等等。
(7)保存求解。
-----------------------------
总之,在流固耦合分析中,你最好要按着先流体后固体再耦合的属性设置顺序
,流固耦合标签FSI要分别加在流固耦合边界的流体边界上和固体边界上,加在的顺序要按照上面所述。
在实际的建模中,流固耦合的边界上由于建模的原因会出现节点的重合现象,注意一定不要使用捏合节点的命令来将重合的节点变成一个,这个很重要。
固体单元一定要设置求解的时间步长和求解中止时间,时间步长一般和求解流体场和流固耦合的时间步长相等。
ALE+remesh选项是解决瞬态流固耦合问题的一个很重要的方法,流固耦合一般要伴随着流体的形状改变和位置的移动,因此首先启动ALE选项使流体与固体的耦合边界保持一致并规则化流场内部由于挤压而畸变的网格,其次若网格畸变的过于严重,就要启动remesh选项重新划分网格单元。
看一个流固耦合时间步长设置的是否合理的方法是在求解中若发现软件频频调动remesh进行网格重画,那这个时间步长基本上处于最大的时间步长上,若很久出现一次或不出现,说明你的时间步长太小,可以适当提高,但是正常的情况下,软件只允许在一个求解过程中最多有100次网格重画,若超过,将退出求解。
---------------------------------
先写到这些,匆匆草就,可能有很多缺点和错误,大家指正(注意若固体推动流体且又不考虑固体的形变和应力等等,可以直接按照帮助文档上ALE一章)
还有,若流体推动固体的分析中,固体发生了大位移,那么一定要在/solu中打开大变形分析选项,否则求解不收敛而退出
本帖最近评分记录
∙nwpuyl技术积分+12005-7-2900:
31
UID
43256
帖子
173
精华
0
积分
1
贡献积分
0
阅读权限
10
在线时间
0小时
注册时间
2004-4-4
最后登录
2006-1-19
查看详细资料
引用使用道具报告回复TOP
UID
119174
帖子
6
精华
0
积分
0
贡献积分
1
阅读权限
10
在线时间
2小时
注册时间
2005-6-18
最后登录
2007-11-6
查看详细资料
引用使用道具报告回复TOP
zzw420
新手会员
∙
4#大中小发表于2005-6-1915:
21 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
写的确实不错!
如果是FSI的话,只需要设置FSI的时间参数就可以了吧?
!
不用固体和流体分别指定了。
另外,如果remesh次数太多,在计算一定时间后,每一个时间步都重新划分,你怎么解决?
UID
85587
帖子
120
精华
0
积分
1
贡献积分
0
阅读权限
10
在线时间
103小时
注册时间
2004-12-14
最后登录
2008-4-13
查看详细资料
引用使用道具报告回复TOP
mbrslydddd
隐居版主
∙
5#大中小发表于2005-6-1916:
03 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
引用:
zzw420wrote:
写的确实不错!
如果是FSI的话,只需要设置FSI的时间参数就可以了吧?
!
不用固体和流体分别指定了。
另外,如果remesh次数太多,在计算一定时间后,每一个时间步都重新划分,你怎么解决?
先试着回答第一个问题吧。
在流固耦合中,只设置FSI的时间参数可能是行不通的,FSI边界是动量能量的传递边界,它的参数设置只是定义动量能量以怎样的方式在流体和固体间传递,而流体和固体的相关时间参数设置是定义了:
(1)当流体推动固体时,流体的流动参数计算>FSI耦合边界>固体的变形或移动参数计算
(2)当固体推动流体时,固体的变形或移动>FSI耦合边界>流体的流动计算。
因此本人认为FSI是流固耦合的一个中间环节,没有它,流体和固体的能量和动量的传递不能进行,同样若只有它,流体和固体的参数设置不知道,能量和动量也没有办法传递。
所以我认为必须同时指定流体、固体和FSI的相关参数设置。
------------------------------
第二个问题:
好像帮助文档上的ALE一章那个例子就是在每个时间步内都重新进行了remensh,本人认为ALE+remesh的原理是这样的,在任意一个时间步内,流体网格的变形都会通过ALE方法来进行规则化,
(1)保持流体耦合的边界
(2)减小内部网格的畸变程度。
然而当ALE规则化后的网格不能满足你所定义的remesh的最小限度时,就要启动remesh选项重新划分了。
这样我认为若要降低remesh的次数你可以通过降低时间步长来实现,本人曾经计算过一个大位移的例子,是为流体输送固体颗粒的案例,当采用较小的时间步长时,整个计算结束都没有出现一次remesh。
---------------------------------
以上是我个人的一点看法,欢迎大家批评指正。
UID
106857
帖子
388
精华
2
积分
22
贡献积分
14
阅读权限
100
来自
古都洛阳
在线时间
76小时
注册时间
2005-4-21
最后登录
2007-12-29
查看详细资料
引用使用道具报告回复TOP
eversoon
6#大中小发表于2005-6-1919:
32 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
楼主的确对ansys流固耦合方面比较熟悉啊!
想请问楼主一个问题:
为什么我在设置了ALE时就提示错误,而且结束计算,
当我把ALE关闭过后就可以算了,这是什么原因?
UID
105055
帖子
263
精华
1
积分
2
贡献积分
4
阅读权限
10
在线时间
78小时
注册时间
2005-4-13
最后登录
2007-11-28
查看详细资料
引用使用道具报告回复TOP
mbrslydddd
隐居版主
∙
7#大中小发表于2005-6-1922:
11 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
根据楼上的提出的一些问题我再作一次详细的解释吧。
----------------------------
1“挖去固体所占的空间”应该这样来解释。
我们知道在流固耦合中,固体可能处于流体的空间内部,
比如ANSYS帮助文档上那个橡皮垫正是处于流体场的内部。
为什么要在流体场的建模时要挖去固体所
占的区域呢,这是流体场网格采用ALE算法而决定的,ALE算法首先可以很好的跟踪流体或者是固体的
运动边界(这点和固体分析时Lagrange算法是相似的),其次它可以通过自身算法的特点来规则化内部
网格的畸变,而Eluer算法则不行,Euler算法在计算流体时必须将网格划分到流体可能流到的所有区
域。
因此采用ALE方法做流固耦合的流体场建模时是要挖去固体区域的,这样在计算过程中即使固体
发生了变形后,采用ALE算法流体网格仍然可以拟合变形后的边界。
挖去的固体空间这个过程只是在
做流体场的建模时挖去的,我们要在固体区的建模时补上。
2.我所说是一种直接流固耦合的方法。
3.流固耦合的时间步长设置要分作三个部分:
流体的、固体的和流固耦合的。
流体的就是在Sol-Flotran
setup-Executionctrl里面进行,Sol-Loadstepopt-Time/Frequenc用来设置固体时间步长,FSI里面
设置流固耦合的时间步长。
4.耦合标签是成对出现的,一对流固耦合有两个number,比如1-1,2-2,这两个number是相同的,这样
软件才能识别是一个耦合对。
5.不错就是在Solution-DefineLoad-FieldSurfaceIntr里面设置流固耦合FSI
---------------------------
不知道你的模型是怎样的,可能设置的不对吧。
---------------
欢迎大家批评指正
本帖最近评分记录
∙nwpuyl技术积分+12005-7-2900:
33
UID
106857
帖子
388
精华
2
积分
22
贡献积分
14
阅读权限
100
来自
古都洛阳
在线时间
76小时
注册时间
2005-4-21
最后登录
2007-12-29
查看详细资料
引用使用道具报告回复TOP
zzw420
∙
8#大中小发表于2005-6-2017:
04 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
ALE是混合拉格朗日与欧拉的网格运动,只是表明你允许网格随着场的变形而发生随移。
remesh是当网格出现畸变的时候,ansys根据用户指定的参数重新检查网格质量,符合条件的就重新划分。
两个似乎没有太大的关系吧?
只是经常在动态分析中需要用在一起。
另外,我只发现有flotransetup,FSIsetup,在哪里设置固体的耦合参数?
楼主能否留下一个联系方式,咱们一起探讨一下流固耦合的问题?
myemail:
zhangzhiwei0799@
UID
85587
帖子
120
精华
0
积分
1
贡献积分
0
阅读权限
10
在线时间
103小时
注册时间
2004-12-14
最后登录
2008-4-13
查看详细资料
引用使用道具报告回复TOP
mbrslydddd
隐居版主
∙
9#大中小发表于2005-6-2018:
41 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
楼上的看样对ALE和remesh的理解有点和我不怎么相同
打个比方,ALE和remesh对网格的作用如同“改革”和“革命”这两个概念一样,ALE只是在有限的范围内适当调整单元内节点的位置,比如帮助文档上ALE一章就有一个高速物体撞击后的网格变化的比较一部分,它在调整网格的畸变程度时并不会改变网格单元的数目。
而remesh则不一样,由于remesh要重新划分网格,因此所占用的计算机资源是很大的,在动态分析中联立这两种网格划分方式可以节省计算机资源。
其次在流固耦合里面采用ALE方法有助于捕捉流体的运动边界。
这点我想很重要。
一个完整的流固耦合分析包含这个三个过程(流体推动固体)
1.单一的流体场分析
2.通过耦合边界FSI传递动量能量
3.单一的固体(结构)分析
固体分析时只是继承了流场分析时通过FSI传来的动量能量,所有对单一的流体场和固体的计算设置只是普通的流场分析和结构分析设置,并不存在所谓的固体耦合参数。
耦合参数设置是对于固体和流体同时而言的。
不知楼上的如何理解的。
UID
106857
帖子
388
精华
2
积分
22
贡献积分
14
阅读权限
100
来自
古都洛阳
在线时间
76小时
注册时间
2005-4-21
最后登录
2007-12-29
查看详细资料
引用使用道具报告回复TOP
zzw420
新手会员
∙
10#大中小发表于2005-6-2019:
26 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
呵呵,我也还处于菜鸟阶段,属于个人见解。
反正在耦合过程中必须要用到这两个命令了。
我做的耦合分析中,只设定了flotran的流场计算时间参数,另外在FSI中设置了耦合时间参数,对于固体,没有设定任何时间参数。
而且我发现,具体是固体推动流体,还是流体推动固体,似乎没有太大区别,无非就是循环计算中谁走第一步的问题。
你所说的3个过程,就是直接顺序耦合的最原始的表达。
在7.0版本以前,就是通过apdl语言来完成这3个步骤。
我理解,FSI就是将这些算法集成到了一体,所以不必要一一指定时间参数。
不知道我是不是正确?
UID
85587
帖子
120
精华
0
积分
1
贡献积分
0
阅读权限
10
在线时间
103小时
注册时间
2004-12-14
最后登录
2008-4-13
查看详细资料
引用使用道具报告回复TOP
cb_tm
cb
版主
∙
11#大中小发表于2005-6-2020:
55 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
1、remesh只有在三角形网格和四面体中,才能使用。
2、FSI只能配对使用。
3、ALE是任意拉格朗日与欧拉法,表明允许网格随着场的变形而发生改变;
在每一个时间步,网格都发生改变。
4、Ansys的帮助中没有FSI中使用remesh的。
5、流体、固体和FSI的时间步必须一致。
本帖最近评分记录
∙nwpuyl技术积分+12005-7-2900:
32
UID
24086
帖子
391
精华
0
积分
17
贡献积分
703
阅读权限
100
来自
chongq
在线时间
222小时
注册时间
2003-7-21
最后登录
2008-4-18
查看详细资料
引用使用道具报告回复TOP
eversoon
新手会员
∙
12#大中小发表于2005-6-2111:
04 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
看到有这么多人做流固耦合方面的分析,真的是象发现新大陆一样啊。
请教各位:
1ALE和remesh是在哪可以打开的,用命令形式还是GUI形式的?
2在求解的选项中,大位移和小位移是可以随便改动的吗?
还是说根据所做的分析的具体问题就已经确定的?
当在做小位移问题的分析的时候,但是在分析时说某个节点的位移超过了某一个限值,那这个是不是就应该更改为大位移选项呢?
3作为流固耦合的分析,假如时对称的模型,那在对称边界上应该如何设置边界条件呢?
UID
105055
帖子
263
精华
1
积分
2
贡献积分
4
阅读权限
10
在线时间
78小时
注册时间
2005-4-13
最后登录
2007-11-28
查看详细资料
引用使用道具报告回复TOP
robbertlee
李士会
新手会员
∙
13#大中小发表于2005-6-2111:
25 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
固体的耦合参数可以用命令deltim,time来设定。
gui方式在solu----loadstepoption-----time--timestep中
UID
74530
帖子
21
精华
0
积分
0
贡献积分
1
阅读权限
10
来自
湖南长沙
在线时间
8小时
注册时间
2004-10-9
最后登录
2008-1-21
查看详细资料
引用使用道具报告回复TOP
zzw420
新手会员
∙
14#大中小发表于2005-6-2113:
45 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
不打开大变形开关,网格肯定会发生畸变,导致不收敛无法计算下去。
所以需要用remesh命令来对畸变的网格重新划分。
UID
85587
帖子
120
精华
0
积分
1
贡献积分
0
阅读权限
10
在线时间
103小时
注册时间
2004-12-14
最后登录
2008-4-13
查看详细资料
引用使用道具报告回复TOP
eversoon
新手会员
∙
15#大中小发表于2005-6-2116:
18 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
引用:
zzw420wrote:
不打开大变形开关,网格肯定会发生畸变,导致不收敛无法计算下去。
所以需要用remesh命令来对畸变的网格重新划分。
那这个remesh功能在GUI形式下是怎么实现的?
UID
105055
帖子
263
精华
1
积分
2
贡献积分
4
阅读权限
10
在线时间
78小时
注册时间
2005-4-13
最后登录
2007-11-28
查看详细资料
引用使用道具报告回复TOP
zzw420
新手会员
∙
16#大中小发表于2005-6-2118:
24 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
自己去帮助文档里搜索,你会记忆深刻!
!
UID
85587
帖子
120
精华
0
积分
1
贡献积分
0
阅读权限
10
在线时间
103小时
注册时间
2004-12-14
最后登录
2008-4-13
查看详细资料
引用使用道具报告回复TOP
eversoon
新手会员
∙前离线
17#大中小发表于2005-6-2215:
14 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
楼主所说的“流固耦合的时间步长设置要分作三个部分:
流体的、固体的和流固耦合的“这三个参数的设置有没有先后,必须在流体模型建立好了就设置流体的参数,固体模型建立好了就设置固体参数?
还是说最后一起设置也可以!
UID
105055
帖子
263
精华
1
积分
2
贡献积分
4
阅读权限
10
在线时间
78小时
注册时间
2005-4-13
最后登录
2007-11-28
查看详细资料
引用使用道具报告回复TOP
zzw420
∙
18#大中小发表于2005-6-2215:
52 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
个人认为,完全不需要按照顺序,就如同你画模型,和指定材料属性一样,不用先后分明的。
自己心里明白各条命令的含义就可以了!
UID
85587
帖子
120
精华
0
积分
1
贡献积分
0
阅读权限
10
在线时间
103小时
注册时间
2004-12-14
最后登录
2008-4-13
查看详细资料
引用使用道具报告回复TOP
eversoon
∙
19#大中小发表于2005-6-2221:
08 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
请教大牛
我今天算了个流固耦合的例子,但是打开了ALE就提示说需要做KEYOPT,,4,
我在命令行里面输入了这个命令,但是还是不能算,好像这个命令没有起作用一样,后来我在GUI的方式下找到了FLOTRANSetUP->FlowEvironment->FLOTRANCoorSys,但是我看好像是KEYOPT,1,3,(不是KEYOPT,,4),我选择了关于Y轴对称,后来算还是不能算过去,最后只能把ALE功能关掉才能算下去,
所以请教各位这是什么原因?
我做的模型是二维的流固耦合模型,怎么才能实现KEYOPT,,4的功能啊?
还有就是怎么能打开remesh的功能,帮助里面好像没有啊!
UID
105055
帖子
263
精华
1
积分
2
贡献积分
4
阅读权限
10
在线时间
78小时
注册时间
2005-4-13
最后登录
2007-11-28
查看详细资料
引用使用道具报告回复TOP
eversoon
∙
20#大中小发表于2005-6-2221:
15 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
引用:
zzw420wrote:
个人认为,完全不需要按照顺序,就如同你画模型,和指定材料属性一样,不用先后分明的。
自己心里明白各条命令的含义就可以了!
好像在设置的时候流体是没有材料属性的,只是在FluidProperty里面设置一些密度粘度什么的,只有固体才设置有材料属性,但是在划分网格的时候不是要选择网格类型和网格材料吗?
流体网格划分的时候网格材料就默认为是固体的材料了(materalnumber1),不知道怎么能改过来?
(在GUI形式下实现网格划分的时候遇到的问题)
[吐血奉献]流固耦合分析成功的条件
zzw420
∙
21#大中小发表于2005-6-2221:
39 只看该作者
Re:
[吐血奉献]流固耦合分析成功的条件
在命令流中,设置fluid141(142)单元之后,加一句keyopt,1(注意:
是单元编号,不是单元号),4,1.就可以了。
只有打开这个,才能让141(142)单元实现ALE的功能。
本人一般都用命令流,所以在划分网格时候都是直接指定划分的单元类型和材料类型。
至于材料的属性,只要是在/solu之前就