pdeCoeff1D

首发版本:3.00.6.1

语法

pdeCoeff1D(diff, [conv=0], [react=0], [source=0], [mass=1])

详情

构造一维偏微分方程(PDE)的算子形式(Operator-form)系数字典。

该函数将方程的各项系数(扩散、对流、反应、源项、质量项)封装为求解器 pdeSolver 可识别的系数字典对象。支持常系数(标量)和变系数(函数)。

参数

diff 数值标量或函数,指定扩散项系数(Diffusion coefficient)。

conv 可选参数,数值标量或函数,指定对流项系数(Convection coefficient)。默认值为 0。

react 可选参数,数值标量或函数,指定反应项系数(Reaction coefficient)。默认值为 0。

source 可选参数,数值标量或函数,指定源项系数(Source term)。默认值为 0。

mass 可选参数,数值标量或函数,指定质量项系数(Mass coefficient)。默认值为 1。

注意:

  • 若系数为标量,必须为有限的有效值(即非 NULL、NaN 或 Inf)。

  • 若系数为函数,该函数必须接收 2 个参数(通常代表空间位置和时间),且返回值必须是有限的数值标量,不得为非标量形式(如向量、矩阵)或非数值类型(如布尔、时间、DECIMAL)。

  • 在求解阶段,mass 系数必须始终为正数且有限。

返回值

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

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

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

  • form: STRING 标量,固定为 "operator"。

  • diff: DOUBLE 标量或函数,扩散项系数。

  • conv: DOUBLE 标量或函数,对流项系数。

  • react: DOUBLE 标量或函数,反应项系数。

  • source: DOUBLE 标量或函数,源项系数。

  • mass: DOUBLE 标量或函数,质量项系数。

例子

例 1. 构造常系数扩散方程

coeff = pdeCoeff1D(diff=0.2)

例 2. 构造完整的一维对流-扩散-反应方程

coeff = pdeCoeff1D(diff=0.01, conv=-0.3, react=-0.05, source=2.0, mass=1.5)

例 3. 构造变系数(Black-Scholes 模型)

coeff = pdeCoeff1D(
    diff=def(S, tau) { return 0.5 * 0.2 * 0.2 * S * S },
    conv=def(S, tau) { return 0.05 * S },
    react=-0.05
)

相关函数: pdeInfopdeSolver