对称张量场函数

STAR-CCM+ 为对称张量值的场函数提供支持。 这些函数在内部存储为 3 x 3 对称矩阵的六个浮点值。

对称张量值场函数目前仅由有限元固体应力模块生成,但它们可以构造并用于一般计算。 类似于矢量值场函数,可以访问对称张量的各个分量,对它们执行坐标转换,并对它们计算常见的代数运算。

构造

在场函数表达式编辑器中,对称张量值变量必须以 $$$ 作为前缀。

对称张量变量通过以下方式构造:

操作 表达式语法 结果
3 x 3 下三角形指定 [1 ; 2,3 ; 4,5,6]
A = [ 1 2 4 2 3 5 4 5 6 ]
3 x 3 上三角形指定 [1,2,3 ; 4,5 ; 6]
A = [ 1 2 3 2 4 5 3 5 6 ]
对称张量支持所有基本算术运算,除了两个对称张量的乘法。 两个对称张量的乘法会产生非对称张量,因此当前版本的 STAR-CCM+ 不支持此操作。

坐标系转换

通过相似转换将对称张量转换为局部坐标系。 例如,用户自定义场函数表达式

$$$A( @CoordinateSystem("Laboratory.Sph1") )

将对称张量 A 转换为局部球坐标系 Sph1,其父项是基准坐标系。 使 R 表示 3 x 3 正交矩阵,该矩阵将矢量 v s Sph1 转换为基准坐标。 该转换的数学形式为:

1. EQUATION_DISPLAY
A s = R T A R
(10)

R 的这些列是 Sph1 中的(位置相关)局部基准。

A s 的分量现在相对于 Sph1 中特定位置的局部基准。 (回想一下,局部曲线坐标系的单位基矢量取决于该局部坐标系内的坐标。) A s v s 的矩阵矢量积,

2. EQUATION_DISPLAY
A s v s = R T A R v s
(11)

因此相当于将 v s 转换为基准坐标系,应用 A ,然后将结果转换回 Sph1。 在 STAR-CCM+ 中,可以对任何对称张量 A 和任何矢量 v (均在基准坐标系中)验证该表达式

$$$A(@CoordinateSystem("Laboratory.Sph1")) *
$$v(@CoordinateSystem("Laboratory.Sph1"))

产生的值是否与通过以下方式产生的值相同

($$$A*$$v)(@CoordinateSystem("Laboratory.Sph1"))

3. EQUATION_DISPLAY
( R T A R ) ( R T v ) = R T ( A v )
(12)

坐标系分量

在每个坐标系中选择对称张量的分量时,以下标签对应于相应的矩阵项:

坐标系类型 张量分量
Laboratory(基准)
i i = a 00 i j = a 01 i k = a 02 j j = a 11 j k = a 12 k k = a 22
局部笛卡尔坐标系
i i = a 00 i j = a 01 i k = a 02 j j = a 11 j k = a 12 k k = a 22
圆柱
r r = a 00 r θ = a 01 r z = a 02 θ θ = a 11 θ z = a 12 z z = a 22
球体
r r = a 00 r θ = a 01 r ϕ = a 02 θ θ = a 11 θ ϕ = a 12 ϕ ϕ = a 22