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)
