Diffuse-interface immersed-boundary framework for conjugate-heat-transfer problems
https://doi.org/10.1103/PhysRevE.99.053304
三区
混合交错离散体积和非交错离散体积
看不懂,不会 FVM
计算固体体积分数的步骤
对于每一个点:
-
找固体表面上距离这个点最近的点,找到的最近固体表面点的位置 - 当前点的位置记为向量 d
-
向量 d 与最近固体表面点处的固体表面的法向量做点积,结果为正数表示当前点是固体单元,结果为负数表示当前点是流体单元
- 单元类型分为三种情况,因此体积分数的赋值也随之分为三种情况。如果某个单元全是流体,那么赋值为 0;如果全是固体,那么赋值为 1;如果只有部分是固体,那么在这一个单元内进行子样本点的采样,位于固体内的点的数量除以总样本点的数量就是体积分数
计算固体体积分数的 trick
在 IB 固体的包围盒内更新体积分数,以加速计算
统一固体和流体控制方程
看不懂一点
A versatile immersed boundary method for high-fidelity simulation of Conjugate Heat Transfer
https://doi.org/10.1016/j.jcp.2023.112182
JCP
信息传输
the coupling between fluid and solid thermal solution is performed by an immersed boundary technique that translates the information from the normal and tangential surface directions into the Cartesian grid directions.
流体和固体热溶液之间的耦合通过浸入边界技术执行,该技术将信息从法向和切向表面方向转换为笛卡尔网格方向。
有点不理解为什么信息会有法向的和切向的
因为对流扩散的话……应该单纯是向四面八方吧
新的数值技术
为什么一直在说壁面条件啊
我也看不懂这新的壁面条件
好吧,他的主要贡献是,在壁面几何结构与背景网格不重合的时候,给出了壁面上诺伊曼边界的实现,并且应用在共轭传热里面
在他的引言里面,他也说了这种诺伊曼边界条件别人是做过的
但是似乎是因为他用的 IBM 方案与别人有所不同,所以它基于这个方案实现的诺伊曼边界就是别人没做过的。这个 IBM 方案特殊在会沿着 x 重建一遍,沿着 y 重建一遍(我不知道重建是指什么),于是他的诺伊曼边界是在沿着 x 重建的时候,在 x 上满足诺伊曼条件,沿着 y 重建的时候,也沿着 y 满足诺伊曼条件
而不是像别人那样,直接沿着法向定义诺伊曼要求的梯度
引入人工耗散来删除扩散项
However, differently from previous studies [47], [48], here, this target numerical dissipation is not introduced through the computation of second derivatives in equations (2), (5). We use instead the viscous filtering technique for DNS/LES recently developed by the authors [49]. It consists of designing the coefficients of a finite-difference filter to provide both the molecular and artificial dissipations. This way, by applying the filter every time step, the diffusive terms can be actually removed from the governing equations. In [49] for instance, the authors have shown that for a DNS in the same computational configuration for a Prandtl number Pr=0.25 with Mixed-type boundary conditions, the viscous filtering technique enabled to use a 30× larger time step with respect to the full-explicit time integration with third-order Adams-Bashforth used before, leading to -95% saving of computational resources.
然而,与以前的研究 [47]、[48] 不同的是,这个目标数值耗散不是通过计算方程 (2)、(5) 中的二阶导数来引入的。相反,我们使用了作者最近开发的 DNS/LES 粘性过滤技术 [49]。它包括设计有限差分滤波器的系数,以提供分子耗散和人工耗散。这样,通过在每个时间步长应用滤波器,实际上可以从控制方程中删除扩散项。例如,在 [49] 中,作者已经表明,对于具有混合类型边界条件的普朗特数 Pr=0.25 的相同计算配置中的 DNS,与之前使用的三阶 Adams-Bashforth 的完全显式时间积分相比,粘性滤波技术能够使用大 30× 的时间步长,从而节省了 -95% 的计算资源。
这个引入人工耗散来删除扩散项的操作似乎很强
壁面处的局部插值方案
看不懂
弱耦合
计算流体的时候,对温度外插,然后计算温度的导数,实现狄利克雷边界条件
然后就可以求解流体的能量方程
但是他这里似乎是单独算了流体的温度
然后他把这些值输入到固体温度求解器里面,再求解固体的温度
好奇怪……
总结来看的话,他这个共轭传热和 IBM 的耦合仅仅是局限于圆柱体的流场区域
那么其实……似乎没有和 IBM 耦合啊?可能还是我理解上有问题
看上去就是传统的单独的共轭传热,注重外推插值方案
A new approach for conjugate heat transfer problems using immersed boundary method for curvilinear grid based solvers
https://doi.org/10.1016/j.jcp.2014.02.045
JCP
边界不相容公式 boundary non-conforming formulations
这个似乎单纯是与贴体网格相对立的概念而已
delta 函数的问题
IBM 的 detla 函数的问题是由于扩散性质导致边界模糊
对于弹性边界来说可能不是问题,但这大大增加了具有刚性浸入表面的流动的网格分辨率要求。
这个论述我是第一次知道
(不过也是因为我传统 IBM 的文章看得少)
共轭传热边界条件
共轭传热边界条件实际上是狄利克雷边界和诺伊曼边界的组合
这个论述我是第一次知道
(不过也是因为我传统共轭传热的文章看得少)
浸没边界法框架
The major steps in the implementation can be listed as follows: (1) identify the location of the immersed surface and determine which of the surrounding nodes are fluid and which are solid, (2) solve the governing equations at all nodes in the domain that are not in the immediate vicinity of the boundary and (3) at the nodes that are directly next to the IB, apply a special treatment to reflect the presence of an immersed surface.
实现的主要步骤如下:(1)识别浸没表面的位置并确定周围节点中哪些是流体,哪些是固体,(2)求解域中所有节点的控制方程不在边界附近,并且 (3) 在直接靠近 IB 的节点处,应用特殊处理以反映浸没表面的存在。
这就很奇怪,为什么远离边界的地方的控制方程是相同的
搜索定位和插值 (SLI) 算法 Search–locate and interpolate (SLI) algorithm
该算法确定任意拉格朗日点所在的单元,并提供三线性插值所需的加权系数
有点奇怪,不知道为什么要猜测某个点在哪个单元格里面
他既然都用了结构化网格了,那么直接 x/dx 就是索引了呗?
Interface tracking 界面追踪
这里讲的是用 SLI 来定位各个三角形表面
那其实就是说,浸没边界一开始是以三角形面来表示的
他要识别出用背景欧拉网格中,浸没边界占据了哪些背景单元,就用 SLI 来定位各个三角形表面所在的背景单元
(但是他没有说某个三角形面会不会占据多个背景单元)
如果浸没边界是固定的,那么只在模拟开始时定位一次
如果浸没边界是移动的,那么在每个时间步开始时定位一次
节点类型
三种节点类型,全是流体,全是固体,IB 点
For any non-CHT simulation, solution to the governing equations using the iterative solvers is necessary only at the fluid nodes. No solution is needed at the solid nodes, while at the IB nodes, values of the solution variables are obtained by applying the desired BC (discussed later) at the immersed boundary. For CHT simulations though, the temperature field is solved both in the fluid and solid regions. Hence, IB node assignment is necessary on either side of the immersed boundary as opposed to only fluid side for non-CHT simulations. The solid nodes that lie directly next to the immersed boundary are called solid IB nodes.
对于任何非 CHT 模拟,仅在流体节点处需要使用迭代求解器求解控制方程。在实体节点处不需要求解,而在 IB 节点处,通过在浸入边界处应用所需的 BC(稍后讨论)来获得解变量的值。但对于 CHT 模拟,流体和固体区域的温度场都需要求解。因此,在浸没边界的两侧都需要 IB 节点分配,而不是非 CHT 模拟中仅在流体侧分配。直接位于浸没边界旁边的实体节点称为实体 IB 节点。
这个“非 CHT 模拟中 IB 点仅在流体侧分配”感觉怪怪的。单纯一层 IB 点哪有什么在流体侧在固体侧的说法?IB 点的连线本身就代表边界,就和物体边界重合,难道这个作者以前用的 IB 点的连线并不和物体边界重合?而是往外扩,完全在流体的这一侧?
不过后面看了他这个图,我感觉他说的可能是对背景单元分类的时候,靠近浸没边界点的,固体内部的背景单元和流体内的背景单元,都会被判定为 IB 单元
就,他说的并不是拉格朗日浸没边界点,而是说的他自己划分的三种类型之一的 IB 背景单元
分配节点类型
对每个拉格朗日浸没边界点,都查找一个固定范围(模板)内的所有背景单元
对模板内的所有背景单元,判断它是在固体内还是流体内
判断方法是找到距离这个背景单元最近的拉格朗日浸没边界点,然后从最近拉格朗日浸没边界点到背景单元的距离向量点乘这个拉格朗日浸没边界点出的法向量,正数是流体,负数是固体
(所以这个法向是需要预先知道的)
对于那些所有模板都没有访问到的,远离浸没边界的单元,使用一种 burning algorithm 去递归设置
探针
为了外插,得到边界处某一侧的导数,需要定义外插的位置,也就是探针的位置
探针的位置的直接算法就是沿着表面的法线分布
分数步算法的实现
定义一个楼梯界面,实际上也就是被各个拉格朗日点模板遍历到的最远的流体单元的边界?
划分了三个区域,全是流体的区域,全是固体的区域,IB 模板覆盖的区域
三个区域分别求解
速度的话,流体正常求,IB 区域特殊求解,固体区域不需要求解
温度的话,不知道为什么流体区域和固体区域用了相同的记号
IB 区域也是特殊处理
质量守恒的实现
固体内部不需要处理速度
流体内部的速度需要无散
然后他这个质量守恒要求确保离开 IB 的总质量通量与离开楼梯界面的质量相同
总结
我有点不知道这是哪里体现了曲线网格了
可能是体现在,他在开篇说,它使用的 IBM 方案是曲线坐标系的
但是我是不知道他之后提出的那些算法有什么是特定需要曲线坐标系才能完成的
DNS of buoyancy-dominated turbulent flows on a bluff body using the immersed boundary method
https://doi.org/10.1016/j.jcp.2008.12.037
JCP
并行效率
还真的会有论文在写算法的时候提到并行效率啊
NS 求解
LES
局部细化网格
IBM 求解
IB-ADM
在 IB 附近重建速度和标量
共轭传热
看了几遍还是不知道流体和固体是怎么求解传热的
难道是他默认我知道是怎么求解的吗?
我猜应该是分开解
然后他需要对边界做特殊处理
他似乎是迭代求解这个传热,直到误差收敛
验证案例
有一个 case 是两个环形圆柱体之间旋转流的共轭传热,看上去这个例子很常用