NeumannValue
NeumannValue[val,pred]
表示一个 Neumann 边界值 val,被指定为位于赋给 NDSolve 的区域的边界上 pred 为 True 的部分.
更多信息
- NeumannValue 被用在偏微分方程中,用来指定诸如 DSolve 和 NDSolve 这样的函数中的边界值.
- 在 NDSolve[eqns,{u1,u2,…},{x1,x2,…}∈Ω] 中,xi 为独立变量,uj 是因变量,Ω 是边界为 ∂Ω 的区域.
- 以绿色显示 Neumann 值有可能被指定的位置. 它们出现在区域 Ω 的边界 ∂Ω 上,并在边界外向法线的方向上指定了通量.
- ∇·(-c ∇u-α u+γ)+…=f-NeumannValue[g-q u,pred] 用于指定边界 ∂Ω 中 pred 为真的部分的通量,使得 ·(c ∇u+α u-γ)=g-q u 成立. 在 ·(c ∇u+α u-γ)=g-q u 中的系数 c、α 和 γ 通过由∇·(-c ∇u-α u+γ)+β·∇u+a u=f-NeumannValue[g-q u,pred] 给出的 PDE 隐式定义. 是 ∂Ω 的外向单位法线. 系数 g 和 q 可依赖于任意自变量 {x1,x2,…}.
- 对于有限元近似法,PDE 与测试函数 相乘,并在
- 有限元近似法中,Neumann 值被强制作为每个 pred 为 True 的 ∂Ω 的离散化边界元素上的积分条件. 一维情况下,边界元素为点,二维情况下,边界元素为边,三维情况下,边界元素为面.
- 如果边界 ∂Ω 的某些部分没有被边界条件指定,则该部分的通量 ∇·(-c ∇u-α u+γ)+… 被认为是 f=f-0=f-NeumannValue[0,…],所以不指定任何边界条件等价于 Neumann 0 条件.
- 方程右侧的正的 NeumannValue 模拟了进入域的通量.
- 任何自变量 x1,… 的等式和不等式的逻辑组合都可用于谓词 pred.
- NeumannValue 可用来指定 Neumann 和 Robin 边界条件:
-
- ·(c ∇u+α u-γ)=0
自然边界条件 (Neumann 0) 没有指定边界条件或 NeumannValue[0,pred] - ·(c ∇u+α u-γ)=g
Neumann NeumannValue[g,pred] - ·(c ∇u+α u-γ)=g-q u
Robin (广义 Neumann) NeumannValue[g-q u,pred] - ·(c ∇u+α u-γ)=g-h(u)
广义非线性 Neumann NeumannValue[g-h[u],pred] - 对于系统, ∇·∑j(-cj∇uj-αjuj+γ)+…f+NeumannValue[g-∑jqjuj]+… 对应于条件 在区域边界上 pred 为 True 的部分上被满足.
- 对于含时方程,val 和 pred 都有可能依赖于时间.
- NeumannValue 和 Derivative 在偏微分方程中的作用和意义略有不同. »
- 对于有限元近似法,在一维情况下,NeumannValue 在结点上进行操作;二维情况下,在边上进行操作;三维情况下,则在面上进行操作.
- 不应在边界的同一部分上同时指定 DirichletCondition 和 NeumannValue.
- 几个 NeumannValue 可能会在边界上重叠. »
范例
打开所有单元关闭所有单元范围 (4)
求解线段上的非线性方程 ,当 的广义 Neumann 条件 ,当 的 Dirichlet 条件 :
求解具有曲线边上非线性广义 Neumann 边界条件的 PDE:
在边界的同一部分可能存在多个 NeumannValue:
注意 处的扭结,在 下面的部分,NeumannValue 的两种情况同时存在,而在 上面的部分,只有一个 NeumannValue 存在.
NeumannValue 可用于近似一个 DirichletCondition.
求解带有两个 DirichletCondition 实例和 Dirichlet 值的参数 的 PDE:
求解同样的 PDE,其中,DirichletCondition 被缩放的广义 NeumannValue 替代:
这种用 NeumannValue 逼近 DirichletCondition 的方法,仅当 Dirichlet 条件和 Neumann 值需要在边界的同一段上调整时才可以使用.
应用 (12)
一维问题 (2)
二维问题 (2)
含时问题 (4)
属性和关系 (1)
可能存在的问题 (4)
仅指定 Neumann 边界条件可能导致非唯一解. 有些情况下,可能根本无解:
Dirichlet 和 Neumann 边界条件为 处 , 处,,求解在矩形上扩散系数 的拉普拉斯方程 :
注意,设扩散系数 来解拉普拉斯方程 ,使得 Neumann 值变为 :
没有为边界的某些部分指定边界条件,则表示此处为自然边界条件 :
有时,导入的网格甚至生成的网格都可能存在数值不精确的情况. 例如,一个预定区域是一个矩形 ,但该区域的离散化版本不精确,因此实际上是 . 在这种情况下,如果指定了 形式的谓词,就会生成一条错误信息,因为 并不存在. 请看以下构建的范例:
文本
Wolfram Research (2014),NeumannValue,Wolfram 语言函数,https://reference.wolfram.com/language/ref/NeumannValue.html (更新于 2023 年).
CMS
Wolfram 语言. 2014. "NeumannValue." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2023. https://reference.wolfram.com/language/ref/NeumannValue.html.
APA
Wolfram 语言. (2014). NeumannValue. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/NeumannValue.html 年