Fluent内置流固耦合|01 使用流程
- 作者优秀
- 优秀教师/意见领袖/博士学历/特邀专家
- 平台推荐
- 内容稀缺
本文摘要(由AI生成):
本文介绍了Fluent中流固耦合(FSI)的建模和仿真计算方法,包括单向和双向FSI。FSI计算需使用一致网格,并在计算区域中至少包含一个固体区域。对于双向FSI模拟,需要定义动网格属性以处理固体变形区域。在强FSI问题中,应启用Implicit Update选项并定义适当参数。此外,本文还提供了针对不满意结果的解决方法,如修改解算方法和增加最大内部迭代次数。
本文介绍如何在Fluent中对单向和双向流固耦合(FSI)进行建模和仿真计算。由于所有的流体与结构计算都是由Fluent完成的,因此这种流固耦合又被称为“内置流固耦合”。在ANSYS系统中,流固耦合计算还可以使用System Coupling模块及Mechanical模块配合Fluent来实现。
1 模型介绍及局限性
Fluent内置的流固耦合(FSI)功能允许完全模拟单向或双向的FSI问题。单向流固耦合问题假设只有流体侧会通过作用在结构上的流体压力对固体侧产生影响。由于没有来自固体侧的反馈信息,单向FSI模拟可以同时计算流体流动和结构变形,也可以在流体模拟完成后单独计算固体侧结构应力。但如果固体区域的变形对流体流场有较大影响,则必须通过在流体域中启用动网格而将其考虑为双向流固耦合。
结构方程求解存在以下局限性:
- 结构模型仅支持以下网格类型:2D模型中只支持四边形网格和/或三角形网格;3D模型中只支持六面体网格、四面体网格、楔形网格和/或金字塔网格类型。注意固体结构计算模型中不支持多面体网格。
- FSI模型初始化和/或启动后,不允许替换网格。因为网格将被分割,并且在有限元分析的情况下不支持后续的数据迁移。但是允许重新划分流体区域,因为这不会影响固体区域的划分。
- 流体与固体区域必须采用一致网格(共节点网格),且计算区域被双侧壁面分开(即壁面与影子面)
- 计算区域中至少应该包含1个固体区域才能激活结构计算模型
- 不支持以下动网格选项:In-Cylinder、Six DOF、Contact Detection
- Intrinsic FSI类型只能在Dynamic Mesh Zones对话框中选择双侧壁面中邻接流体域的那一侧壁面
- 对于与固体区域相邻的壁面或介于固体和流体区域之间的壁面:
- 唯一支持位移和力的UDF宏为DEFINE_WALL_node_DISP和DEFINE_WALL_node_force。所有其他边界Profile文件或UDF(如DEFINE_PROFILE)将出错
- 结构模型不能在Workbench中的Fluent模块里启用
- 线弹性结构模型只适用于应力载荷不超过固体材料屈服强度的情况
2 设置FSI模拟
设置内置FSI模拟的步骤如下所述。注意这里只列出与结构模型相关的步骤。用户还需要像往常一样定义其他设置(例如其他材质属性、边界条件、其他模型)。
注:在内置FSI模拟中,建议使用Double Precision求解器。
”
基本使用步骤包括:
- 选择模型树节点General,在参数面板中设置计算为稳态或瞬态,并且根据模型需要决定是否指定重力加速度
- 选择模型树节点Cell Zone Conditions指定固体区域参数
- ��于双向FSI问题,建议先获得流体的稳态收敛解,然后继续执行下面步骤来设置和运行结构模型
- 利用模型树节点Models → Structure打开结构模型设置对话框,在其中选择使用Linear Elasticity或Nonlinear Elasticity选项。线弹性模型在计算过程中结构刚度矩阵保持不变,内部载荷与节点位移成线性关系。非线性弹性模型允许对几何非线性弹性进行建模,以便模拟实体单元区域中的大变形。
- 进入模型树节点Materials,设置固体材料参数Youngs Modulus及Poisson Ratio
- 如果想要利用UDF定义作用在固体区域壁面节点上的位移或力,可以使用解释或编译的方式加载宏DEFINE_WALL_node_DISP或DEFINE_WALL_node_FORCE
- 对于每个固体区域壁面,在边界条件设置对话框的Structure标签页下设置边界条件
Fluent中提供了4种类型的结构边界条件:
Stress Free。指定固体 位移不受流体流动应力载荷的影响。
Node X-、Node Y-及Node Z-Force。指定固体 位移由作用在节点上指定的力产生的。
Node X-、Node Y-及Node Z-Displacement。直接指定作用在固体节点上的位移。
Face Pressure。在固体壁面上指定面压力。
Intrinsic FSI。指定壁面位移是由流体流动的压力载荷引起的,只能作用在固体域双侧面上。
在典型的Fluent模拟中,对称边界条件作用于固体区域的壁面边界。但是在内置的FSI模拟中,此时应该使用壁面边界,然后适当地设置Structure选项卡。例如当对称平面为XY平面时,应将x和y方向位移指定为Stress Free,然后将z方向位移指定为0
- 对于双向FSI模拟,需要定义动网格属性以允许处理固体的变形区域。包括以下内容:
- 激活动网格Smoothing,且选择使用Diffusion或Linearly Elastic Solid
- 对于涉及到强FSI的问题(如流体与固体密度相当或大变形时),在Dynamic Mesh任务页中启用Implicit Update选项,并在Option对话框的Implicit Update选项卡中定义适当的参数
- 为双侧壁面紧邻流体单元区域的一侧定义Intrinsic FSI动网格区域
- 对于瞬态模拟,可以从Solution Methods任务页的Structure Transient Formulation下拉列表中进行选择Newmark或Backward Euler以指定用于求解有限元半离散方程的直接时间积分法
- 如果发现默认值不能产生令人满意的结果,可以修改以下设置:
- 可以指定线性解算器用于结构模型计算的解算方法。默认情况下使用双共轭梯度稳定(BCGSTAB)方法。这个方法在速度和健壮性之间取得了很好的平衡。如果使用BCGSTAB检测到发散,则可以使用广义最小残差(GMRES)方法进行迭代作为回退以增强线性解算器的鲁棒性,并且控制台将通知“fe-structure”方程正在稳定。如果发现残差等级下降缓慢,可以尝试使用以下文本命令从默认值500增加最大内部迭代次数:
define → models → structure → controls → max-iter
- 如果BCGSTAB方法在内部迭代次数较多的情况下继续产生不满意的残差,或者反复看到控制台消息说正在使用GMRES回退,则可以将求解方法更改为GMRES方法。但GMRES的使用对内存的要求也更高。使用GMRES��法建议从最大迭代次数50开始。共轭梯度法(CG)也是可行的:虽然在某些情况下,它是最不稳健的方法,但由于其利用了线性系统中使用的矩阵的对称性,因此可以加快计算速度方程式。若想要更改求解方法,可以使用以下文本命令
define → models → structure → controls → amg-stabilization
- 对于瞬态模拟,可以使用以下文本命令修改结构模型计算的数值阻尼因子:
define → models → structure → controls → numerical-damping-factor?
- 可以使用以下文本命令启用显式流体结构相互作用力:
define → models → structure → expert → explicit-fsi-force?
- 可以使用以下文本命令将曹勇压力包含到流体结构相互作用力中:
define → models → structure → expert → include-pop-in-fsi-force?
- 可以使用以下文本命令启用包含粘性流体结构相互作用力:
define → models → structure → expert → include-viscous-fsi-force?
- 若有必要,利用Solution → Monitors → Residual Edit..修改x-、y-及z-displacement 的默认残差标准
- (可选)利用Results → Surfaces New → Structural Point... 在固体分区内的感兴趣点处创建结构点曲面用于监视和报告数据。注意对于双向FSI模拟,结构点曲面不一定在空间中保持固定,但随着实体区域的移动/变形,结构点曲面将继续表示其原始单元。若要在此类结构点曲面上监视场变量,可以创建报表定义。例如可以利用Solution → Report Definitions New → Surface Report → Vertex Average... 监视并绘制围绕结构点曲面的节点位移的顶点平均值:
- 初始化求解。注意对于标准初始化,可以指定初始X、Y和Z位移。为了保证结构模型文件的质量,在启用结构模型的情况下,在写入cas及dat文件时只支持通用流体格式(CFF)
- 利用Solution → Run Calculation求解计算。对于单向耦合计算,可以先计算流场,之后禁用流场计算再进行结构场计算。不管是单向耦合还是双向耦合,都建议先计算稳态结构再切换到瞬态计算,这样可以避免出现计算发散
博士
|
教师
探讨CFD职场生活,闲谈CFD里外
获赞 2569粉丝 11332文章 737课程 27