LaplacianPDETerm[vars]
ラプラス(Laplace)項
をモデル変数 vars で表す.
LaplacianPDETerm[vars,pars]
モデルパラメータ pars を使う.
LaplacianPDETerm
LaplacianPDETerm[vars]
ラプラス(Laplace)項
をモデル変数 vars で表す.
LaplacianPDETerm[vars,pars]
モデルパラメータ pars を使う.
詳細
- ラプラス項は,ポテンシャル,熱移動,音響,構造力学,流体動力学等の多くの物理現象の説明に使われる微分演算子項である.
- LaplacianPDETermは,偏微分方程式の一部として使われる微分演算子項を返す.
- LaplacianPDETermを使って,従属変数
,独立変数
,時間変数
でラプラス方程式がモデル化できる. - 定常モデル変数 vars は vars={u[x1,…,xn],{x1,…,xn}}である.
- 従属モデル変数 vars は vars={u[t,x1,…,xn],{x1,…,xn}}または vars={u[t,x1,…,xn],t,{x1,…,xn}}である.
- 拡散係数として
を持つラプラス項
はDiffusionPDETermの
として実現される. - 次は,使用可能なパラメータ pars である.
-
パラメータ デフォルト シンボル "CoordinateChart" "Cartesian" 
"RegionSymmetry" None 
-
パラメータ デフォルト シンボル "RegionSymmetry" None 
- パラメータ"RegionSymmetry"の可能な選択肢には"Axisymmetric"がある.
- "Axisymmetric"領域対称性は,以下のように角変数を削除することで円筒座標系が削減された切頭円筒座標系を表す.
-
次元 削減 方程式 1D 

2D 

- 拡散係数
はNeumannValueの意味に影響を与える.
例題
すべて開く すべて閉じる例 (2)
スコープ (6)
LaplacianPDETerm[{u[t, x], {x}}]LaplacianPDETerm[{u[r, z], {r, z}}, <|"RegionSymmetry" -> "Axisymmetric"|>]項をActivate(アクティブに)する:
Activate[%]軸対称はラプラス項を構成する演算子を使って切頭円筒座標系を使った結果であることを確認する:
Div[1 * Grad[u[r, z], {r, θ, z}, "Cylindrical"], {r, θ, z}, "Cylindrical"]LaplacianPDETerm[{u[r, θ], {r, θ}}, <|"CoordinateChart" -> "Polar"|>]項をActivateする:
Activate[%]{vals, funs} = NDEigensystem[{LaplacianPDETerm[{u[r, θ], {r, θ}}, <|"CoordinateChart" -> "Polar"|>], DirichletCondition[u[r, θ] == 0, r == π], PeriodicBoundaryCondition[u[r, θ], θ == -π && r < π, Function[X, X + {0, 2π}]]}, u, {r, θ}∈Rectangle[{0, -π}, {π, π}], 4]RevolutionPlot3D[#[r, θ], {r, 0, π}, {θ, -π, π}, PlotRange -> All]& /@ funs円板の扇形上のラプラス項の固有値と固有ベクトルを極座標で求める:
{vals, funs} = NDEigensystem[{LaplacianPDETerm[{u[r, θ], {r, θ}}, <|"CoordinateChart" -> "Polar"|>], DirichletCondition[u[r, θ] == 0, True]}, u, {r, θ}∈Rectangle[{0, 0}, {π, π / 2}], 4]RevolutionPlot3D[#[r, θ], {r, 0, π}, {θ, 0, π / 2}, PlotRange -> All]& /@ funsΩ = RegionIntersection[RegionDifference[Ball[], Ball[{0, 0, 0}, 3 / 4]], Cuboid[]];
{vals, funs} = NDEigensystem[LaplacianPDETerm[{u[x, y, z], {x, y, z}}], u[x, y, z], {x, y, z}∈Ω, 3]DensityPlot3D[Evaluate[funs[[2]]], {x, y, z}∈Ω, ...]アプリケーション (1)
半径5の有限円柱内の
についてのラプラス方程式を解く.解析領域は中空ではない3Dの円柱であるが,この領域が
軸について回転対称であるので,軸対称定常LaplacianPDETermが使え,この領域は2D
の切頭円筒座標系で定義できる.
Ω2D = Rectangle[{0, 0}, {5, 10}];model2D = LaplacianPDETerm[{u[r, z], {r, z}}, <|"RegionSymmetry" -> "Axisymmetric"|>]measure2D = AbsoluteTiming[MaxMemoryUsed[solution2D = NDSolveValue[{model2D == 0, {DirichletCondition[u[r, z] == z * (10 - z), r == 5 ], DirichletCondition[u[r, z] == 0, z == 10]}}, u, {r, z}∈Ω2D ]] ];ContourPlot[solution2D[r, z], {r, z}∈Ω2D, ...]計算にかかった合計時間と評価中に使ったメモリ(MB)を出力する:
Print["Time -> ", measure2D[[1]], " s", "
Memory -> ", measure2D[[2]] / (1024. ^ 2), " MB"]2D軸対称偏微分モデルを解くための時間とメモリの計算費用は完全な3Dモデルを解くのにかかるそれよりはるかに少ない.完全な3Dモデルを構築する:
Ω3D = Cylinder[{{0, 0, 0}, {0, 0, 10}}, 5];model3D = LaplacianPDETerm[{u[x, y, z], {x, y, z}}];記号領域の最適近似と重要部分の細分化のための境界位置を調整しながら完全な3Dモデルを解く:
measure3D =
AbsoluteTiming[
MaxMemoryUsed[
solution3D =
NDSolveValue[{model3D == 0,
{DirichletCondition[u[x, y, z] == z * (10 - z), Sqrt[x ^ 2 + y ^ 2] == 5 ],
DirichletCondition[u[x, y, z] == 0, z == 10]
}}, u, {x, y, z}∈ Ω3D, Method -> {"FiniteElement", "MeshOptions" -> {"ImproveBoundaryPosition" -> True, "MeshRefinementFunction" -> Function[{vertices, volume}, Block[{x, y, z}, {x, y, z} = Mean[vertices];(volume > 0.0025) && (Sqrt[x ^ 2 + y ^ 2] > 4) && (z < 1)]]}}]
] ];計算にかかった合計時間と評価中に使ったメモリ(MB)を出力する:
Print["Time -> ", measure3D[[1]], " s", "
Memory -> ", measure3D[[2]] / (1024. ^ 2), " MB"]SliceContourPlot3D[solution3D[x, y, z], {x, y, z} ∈ Ω3D, ...]Print["Speed improvement factor -> ", #[[1]], "
Memory reduction factor -> ", #[[2]]]&[measure3D / measure2D//N]Plot3D[solution2D[r, z] - solution3D[r, 0, z], {r, z}∈ Ω2D, PlotRange -> All]考えられる問題 (1)
おもしろい例題 (1)
ラプラス方程式を解くことで迷路から出る道を求める.まず迷路を設定する:
maze = [image];mesh = ImageMesh[Binarize[Image[Rasterize[maze, ImageResolution -> 600]]]]入口を値1のDirichletCondition,出口を値0のDirichletConditionとしてラプラス方程式を解く. DirichletConditionの位置を設定するために領域の境界を求める:
{{xlow, xhigh}, {ylow, yhigh}} = RegionBounds[mesh]solution = NDSolveValue[{LaplacianPDETerm[{u[x, y], {x, y}}] == 0, DirichletCondition[u[x, y] == 1 , x <= xlow + 2], DirichletCondition[u[x, y] == 0, x >= xhigh - 2]}, u, {x, y}∈mesh];ContourPlot[Evaluate[Sqrt[Total[Grad[solution[x, y], {x, y}] ^ 2]]], {x, y}∈mesh, Contours -> 2, PlotPoints -> 33]関連するガイド
-
▪
- 偏微分方程式項
テキスト
Wolfram Research (2020), LaplacianPDETerm, Wolfram言語関数, https://reference.wolfram.com/language/ref/LaplacianPDETerm.html (2026年に更新).
CMS
Wolfram Language. 2020. "LaplacianPDETerm." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2026. https://reference.wolfram.com/language/ref/LaplacianPDETerm.html.
APA
Wolfram Language. (2020). LaplacianPDETerm. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/LaplacianPDETerm.html
BibTeX
@misc{reference.wolfram_2026_laplacianpdeterm, author="Wolfram Research", title="{LaplacianPDETerm}", year="2026", howpublished="\url{https://reference.wolfram.com/language/ref/LaplacianPDETerm.html}", note=[Accessed: 15-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_laplacianpdeterm, organization={Wolfram Research}, title={LaplacianPDETerm}, year={2026}, url={https://reference.wolfram.com/language/ref/LaplacianPDETerm.html}, note=[Accessed: 15-November-2026]}