流固耦合分析成功的条件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本人近来查看好多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中打开大变形分析选项,否则求解不收敛而退出
如果是FSI的话,只需要设置FSI的时间参数就可以了吧?!不用固体和流体分别指定了。另外,如果remesh次数太多,在计算一定时间后,每一个时间步都重新划分,你怎么解决?
先试着回答第一个问题吧。在流固耦合中,只设置FSI的时间参数可能是行不通的,FSI边界是动量能量的传递边界,它的参数设置只是定义动量能量以怎样的方式在流体和固
体间传递,而流体和固体的相关时间参数设置是定义了:(1)当流体推动固体时,流体的流动参数计算>FSI耦合边界>固
体的变形或移动参数计算(2)当固体推动流体时,固体的变形或移动>FSI耦合边界>流体的流动计算。因此本人认为FSI 是流固耦合的一个中间环节,没有它,流体和固体的能量和动量的传递不能进行,同样若只有它,流体和固体的参数设置不知道,能量和动量也没有办法传递。所以我认为必须同时指定流体、固体和FSI的相关参数设置。
------------------------------
第二个问题:好像帮助文档上的ALE一章那个例子就是在每个时间步内都重新进行了remensh,本人认为ALE+remesh 的原理是这样的,在任意一个时间步内,流体网格的变形都会通过ALE方法来进行规则化,(1)保持流体耦合的边界(2)减小内部网格的畸变程度。然而当ALE规则化后的网格不能满足你所定义的remesh的最小限度时,就要启动remesh选项重新划分了。这样我认为若要降低remesh的次数你可以通过降低时间步长来实现,本人曾经计算过一个大位移的例子,是为流体输送固体颗粒的案例,当采用较小的时间步长时,整个计算结束都没有出现一次remesh。
---------------------------------
以上是我个人的一点看法,欢迎大家批评指正。
根据楼上的提出的一些问题我再作一次详细的解释吧。
-------------------------
---
1“挖去固体所占的空间”应该这样来解释。我们知道在流固耦合中,固体可能处于流体的空间内部,
比如ANSYS帮助文档上那个橡皮垫正是处于流体场的内部。为什么要在流体场的建模时要挖去固体所
占的区域呢,这是流体场网格采用ALE算法而决定的,ALE 算法首先可以很好的跟踪流体或者是固体的
运动边界(这点和固体分析时Lagrange算法是相似的),其次它可以通过自身算法的特点来规则化内部
网格的畸变,而Eluer算法则不行,Euler算法在计算流体时必须将网格划分到流体可能流到的所有区
域。因此采用ALE方法做流固耦合的流体场建模时是要挖去固体区域的,这样在计算过程中即使固体
发生了变形后,采用ALE算法流体网格仍然可以拟合变形后的边界。挖去的固体空间这个过程只是在
做流体场的建模时挖去的,我们要在固体区的建模时补上。
2.我所说是一种直接流固耦合的方法。