pdeDomain2D

首发版本:3.00.6.1

语法

pdeDomain2D(xGrid, yGrid)

详情

用于定义二维偏微分方程(PDE)求解时的空间范围和网格划分。

该函数通过接收 x 和 y 两个方向的严格递增空间网格,构造一个二维张量积(Tensor Product)结构化求解区域。pdeDomain2D 的作用是将指定的节点向量封装为求解器 pdeSolver 可识别的“求解区域”对象。

主要应用场景:

  • 定义二维计算区域:通过两条坐标轴的起点和终点确定求解的物理平面范围。

  • 灵活的网格配置:x 方向和 y 方向的网格彼此独立,可以分别使用不同的节点数、取值范围或加密方式(如一维均匀,另一维非均匀)。

参数

xGrid 数值向量,指定 x 方向的计算节点。

yGrid 数值向量,指定 y 方向的计算节点。

注意:

  • 所有节点必须为有限的有效值(即非 NULL、NaN 或 Inf),且必须严格递增。

  • 每条坐标轴至少包含 3 个点。通常点数越多,数值解越精确,但计算耗时也会相应增加。

  • 网格的覆盖范围(即最大值与最小值的差值)必须为有限数值。

  • 可使用 pdeGrid1D 函数分别构造 x 和 y 方向的节点。

返回值

返回一个包含以下字段的字典(DICTIONARY):

  • type: STRING 标量,固定为 "structured2D"。

  • dim: INT 标量,固定为 2。

  • xGrid: DOUBLE 向量,为规范化后的空间节点。

  • yGrid: DOUBLE 向量,为规范化后的空间节点。

注意:如需查看已创建区域的统计信息(如各维度的节点数、网格是否均匀等),可使用 pdeInfo 函数。

例子

例 1. 在 x 方向和 y 方向分别生成等间距的节点:

// x 方向 0 到 1 均匀分布 41 个点,y 方向 0 到 1 均匀分布 31 个点
xGrid = (0..40) / 40.0
yGrid = (0..30) / 30.0
domain = pdeDomain2D(xGrid, yGrid)

例 2. 在 x 方向使用固定步长,在 y 方向手动指定关键节点:

// x 方向均匀,y 方向在 0 到 0.1 之间加密
xGrid = -1.0 -0.5 0.0 0.5 1.0
yGrid = 0.0 0.05 0.1 0.4 1.0
domain = pdeDomain2D(xGrid, yGrid)

例 3. 为两个维度分别配置不同的加密策略:

// x 方向使用 sinh 加密,y 方向使用均匀网格
xGrid = pdeGrid1D(0.0, 300.0, 401, "sinh", 100.0, 3.0)
yGrid = seq(0, 100) / 100.0
domain = pdeDomain2D(xGrid, yGrid)

相关函数: pdeGrid1DpdeInfopdeSolver