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
)
