点中都知道流场,我一直在研究用数字方式计算总流体应力张量应用流体应力方程(见下文)并不是很简单,因为它需要一个分析速度场。我知道这个问题可能是“幼稚的”,但你能给我推荐适当的文献吗?
流体应力张量的数值计算
通常,您采样的流体速度数据将“存在”在网格的特定元素上。例如,在 3D 中,速度场“存在”在体积网格的表面上。它们是面上的标量值,表示通过该面的流体通量。
这很好地解释了如何计算离散网格上的微分量。 http://www.geometry.caltech.edu/pubs/ETKSD07.pdf
网格上的通量是 2 形式,其梯度是 3 形式,这意味着它存在于网格的单元上。在数据中,它将是存储在单元格中的 3 个数字,表示 x 方向、y dir 和 z dir 上的通量差异。网格上的梯度算子实际上是一个差分通量1-通量2。所以你在一个单元格的数字变成了 [flux(x+)-flux(x-),flux(y+)-flux(y-),flux(z+)-flux(z-)]。我假设您在常规立方体网格上...如果不是,那么一切都会有所不同...这是 u 梯度的隐式表示。这是表示细胞方向的基础中的对角矩阵。
大概您的压力数据也存在于网格的单元格中,因此您可以简单地乘以恒等式并将它们添加到您的 grad(u)+grad(u)T 中。您的数据结果将是网格每个单元格的 3x3 矩阵。
这是您的应力张量的隐式表示。我相信由此产生的对角矩阵将代表细胞方向上的应力。将速度离散化为通量的选择迫使您的应力矩阵是对角线的。如果需要,您可以将应力张量的基础旋转到其他东西,那么它不一定是对角线。
如果由于某种原因您记录的速度数据没有“活”在脸上,那仍然可以。您可以执行一个额外的步骤,将您的数据所在的任何位置转换为人脸。例如,如果您选择将速度数据表示为网格单元处的 (x,y,z) 向量,则可以对面内的隐含速度场进行积分,从而得到速度场的通量表示。你需要一个插值方案来进行整合,就像 HBR 说的那样。但是一个超级简单的方法可能是取你的 (x,y,z) 速度在细胞面方向的分量与另一侧的 (x,y,z) 速度分量之间的差异的细胞面。这显然不是一个平滑的插值。有很多插值方案。
分布和字段来自哪里?如果您有任何网格,您始终可以计算插值变量的多项式,并且您可以针对任意一组点对其进行解析微分。为了说明这一点,速度可以近似为 ,因此它的梯度是
您可以创建多项式基础,使得,必须是连续且可导一次(至少)。Hermite 多项式非常适合这项任务。
这是通过显式计算完成的。您可以首先使用最小二乘法重建梯度,例如 S. Muzaferija D. Gosman - Finite-Volume CFD Procedure and Adaptive Error Control Strategy for Grids of Arbitrary Topology, JCP, 138(2), pp. 766-787 中描述的方法, 1997.链接
从那里,计算是直截了当的。