引用场函数、坐标系和参考坐标系

下面提供了用于引用场函数、坐标系和参考坐标系的语法。

引用场函数

引用场函数时,使用在函数名属性中指定的场函数名称。名称区分大小写,并且必须根据其在函数名中的显示在表达式中准确输入名称。

如果名称中包含除 '_' 以外的任何非字母数字字符,将场函数名称括在花括号 '{}' 中。如果名称以数字开头,或者要引用包含非西欧字母中字符的对象名称,也要使用花括号。引用此类名称的一些示例为:

  • ${Five Things}
  • ${Temp@X}
  • ${3rdInletMassflow}
  • ${test-Temperature}
定义不随空间变化的物理量时,表达式只能引用不随空间变化的场函数。$Time$TimeStep$Iteration 等变量以及与报告关联的场函数有效。$Temperature$Pressure 等变量在空间中的每个不同点具有不同的值,并且不能使用。有关详细信息,请参见上下文和数据类型。如果要引用先前时间步或迭代中选定的场函数数据,须首先设置一个场历史记录监视器。请参见访问以前的时间步或迭代的场数据
标量场函数
要引用标量场函数,使用美元符号 $ 后跟函数名(如函数名属性中所定义)。例如:
  • $Temperature
  • 0.5*${Temp@X}
矢量场函数
要引用矢量、组分表或位置场函数,使用两个美元符号 $$ 后跟函数名(如函数名属性中所定义)。例如:
  • $$Velocity
  • $${User-defined Force}
矢量场函数的分量
要引用矢量、组分表或位置场函数的分量,引用场函数并将相关分量用方括号括起。例如,要将一个新的标量函数定义为笛卡尔速度分量的总和,可以根据速度矢量将其定义为:
$$Velocity[0] + $$Velocity[1] + $$Velocity[2]
对称张量场函数
要引用张量场函数,使用三个美元符号 $$$ 后跟函数名(如函数名属性中所定义)。例如:
  • $$$StrainTensor
  • $$$StressTensor
对称张量场函数的分量
要引用张量场函数的分量,引用场函数并将相关分量用方括号括起。例如,要引用对称张量 Tensor-1 的分量 a 01 ,则使用:
$$${Tensor-1}[0,1]

引用局部坐标系

为了在坐标系之间转换,Simcenter STAR-CCM+ 对矢量和位置场函数加以区分。

例如,让 C 表示原点(位置)为 O 且方向矩阵为 R 的局部笛卡尔坐标系,根据基准坐标系,矩阵的列数为正交基矢量 C。矢量 v 从基准坐标到 C 的转换由以下公式给出:

1. EQUATION_DISPLAY
vC=RTv
(6)

但是,将点 p 从基准坐标系转换为 C 需要从 p 中减去局部原点 O,然后计算局部坐标系内的 p 坐标:

2. EQUATION_DISPLAY
pC=RT(pO)
(7)

矢量和位置从 C 到基准坐标系的转换为:

3. EQUATION_DISPLAY
v=RvC
(8)

4. EQUATION_DISPLAY
p=RpC+O
(9)

存在用于将位置型场和矢量型场转换为不同局部坐标系的语法。例如:

$$Position(@CoordinateSystem("Laboratory.Coordinate System
1"))

位置场从基准坐标系转换为坐标系 1 坐标系。对于位置,矢量的分量采用所指定坐标系的单位:

  • 如果坐标系为笛卡尔,则 $$Position(@CoordinateSystem("Laboratory.CartesianSystem"))[X,Y,Z]
  • 如果坐标系为圆柱坐标系,则 $$Position(@CoordinateSystem("Laboratory.CylindricalSystem"))[半径, θ, z]
  • 如果坐标系为球坐标系,则 $$Position(@CoordinateSystem("Laboratory.SphericalSystem"))[半径, θ, phi]

对于局部坐标系具有一个或多个嵌套级别的情况,使用限定符 @CoordinateSystem,并且使用 . 字符将每个坐标系与其父进行分隔。例如,考虑在以下模拟树的 Spherical 1(球 1) 局部坐标系中给定位置的场函数:



表达式将写为:

$$Position(@CoordinateSystem("Laboratory.Initial ship
orientation.Spherical 1"))

Boat-CSys(船-CSys) 坐标系将引用为:

$$Position(@CoordinateSystem("Laboratory.Boat-CSys"))
位置形心场之间的区别非常重要:
  • 位置提供节点或网格单元中心的坐标,具体取决于平滑标志。
  • 形心专门提供模拟网格的网格单元的几何形心。

一般情况下,应该在用户场函数表达式内使用位置,因为其无需任何插值便可提供适当的几何位置,甚至在衍生零部件上也是如此。在诸如报告和绘图等后处理操作中,位置根据平滑标志使用几何上的适当几何位置。如果已设置平滑标志,将使用节点位置。如果未设置平滑标志,则使用网格单元、面或线段中心。但是,形心场专门引用模拟网格的网格单元或面的几何形心。如果在可视化或分析操作期间设置平滑标志,则会像任何其他场一样将形心插入模拟网格或衍生零部件的节点位置,这可能会产生小插值误差。

引用局部参考坐标系中的速度

使用场函数语法,可以将基准坐标系中的速度转换为局部参考坐标系中的等效速度。例如:

$$Velocity(@ReferenceFrame("Rotating"))

此函数将在名为旋转的局部参考坐标系中生成速度矢量。