InitializePDECoefficients::femcscd
詳細
例題
例
関連項目
関連リンク
NDSolve`FEM`
InitializePDECoefficients::femcscd
詳細
-
- このメッセージは,偏微分方程式が移流に支配されている場合に,そして時には数値的に不安定性が見られる場合に生成される.
- 詳細は,「有限要素法の使用上のヒント」 のチュートリアルに記載されている.
- Off[message]はメッセージを非表示にし,On[message]はメッセージを表示させる.例えば,Off[InitializePDECoefficients::femcscd]のように使う.
例題
例 (2)
この場合,初期条件がないので,時間依存の偏微分方程式は三次元の空間偏微分方程式として取り扱われる.三次元偏微分方程式は,移流に支配される:
NDSolveValue[{D[T[x, y, t], t] - Laplacian[T[x, y, t], {x, y}] == 0, DirichletCondition[T[x, y, t] == 20, x == 100 && t == 0]}, T[x, y, t], {x, 0, 100}, {y, 0, 100}, {t, 0, 100}]NDSolveValue[{D[T[x, y, t], t] - Laplacian[T[x, y, t], {x, y}] == 0, DirichletCondition[T[x, y, t] == 20, x == 100], T[x, y, 0] == 20}, T[x, y, t], {x, 0, 100}, {y, 0, 100}, {t, 0, 100}]pde = D[1 / r * D[r * g[r, z], r], r] - g[r, z] + 1 / (2 * Pi * r) == 0境界条件を持つ偏微分方程式を解くと,警告メッセージが発せられる:
if = Interpolation[{{0., 0.}, {1., 0.0634}, {2., 0.0573}, {3., 0.0467}, {4., 0.0378}, {5., 0.0312}, {6., 0.0263}, {7., 0.0227}, {8., 0.0199}, {9., 0.0177}, {10., 0.0159}, {11., 0.0145}, {12., 0.0133}, {13., 0.0122}, {14., 0.0114}, {15., 0.0106}, {16., 0.0099}, {17., 0.0094}, {18., 0.0088}, {19., 0.0084}, {20., 0.008}}];
sol = NDSolveValue[{pde, g[0, z] == if[0], g[20, z] == if[20], g[r, 10] == g[r, -10] == if[r]}, g, {r, 0, 20}, {z, -10, 10}];Plot[sol[r, 0], {r, 0, 20}]この状態を改善するためには,より細かいメッシュを使うとよい:
Needs["NDSolve`FEM`"]
mesh = ToElementMesh[Rectangle[{0, -10}, {20, 10}], "MaxBoundaryCellMeasure" -> 0.1, MeshElementType -> TriangleElement];
mesh["Wireframe"]まだメッセージは発せられるが,解はかなり改善されたものになった:
sol2 = NDSolveValue[{pde, g[0, z] == if[0], g[20, z] == if[20], g[r, 10] == g[r, -10] == if[r]}, g, {r, z}∈mesh];
Plot[sol2[r, 0], {r, 0, 20}]