NDSolve`FEM`
NDSolve`FEM`

ToGradedMesh

ToGradedMesh[{l,propp,|>}]     特性が prop p であるLineプリミティブ l から1Dのグレーデッドメッシュを作成する.
ToGradedMesh[{{l1,},{l2,}}]     複数のLineプリミティブから1Dのグレーデッドメッシュを作成する.

詳細とオプション

  • グレーデッドメッシュは,座標間の間隔が指数関数的に変化する不均一または異方性のメッシュである.
  • グレーデッドメッシュは,偏微分方程式またはその境界における急激な勾配または不連続性を捉えるために使われる.
  • 以下の任意の特性 prop を使うことができる.
  • "Alignment"adir"Uniform"アラインメントの方向 adir を使う
    "ElementCount"nAutomaticn 個の要素を使う
    "ElementMarker"m0ElementMarker m を使う
    "GradingRatio"rAutomatic段階付けの率 r を使う
    "MaximalDistance"dmaxAutomatic座標間の最長距離が dmax となるように座標を選ぶ
    "MinimalDistance"dminAutomatic座標間の最短距離が dmin となるように座標を選ぶ
  • 以下のアラインメント adir を与えることができる.
  • "Left"左に座標が多く集中している
    "Right"右に座標が多く集中している
    "BothEnds"両端に座標が多く集中している
    "Central"中央に座標が多く集中している
    "Uniform"座標間に一様の間隔を使う
    fun[interval,props]関数 fun を区間 interval と特性 props に使う
  • ToGradedMeshは,1DLineプリミティブを受け取り,1DのグレーデッドElementMeshを返す.
  • 要素の端の座標間のデフォルト最短距離は, で計算される.ここでは入力のLine要素の端点間の距離, は要素数である.
  • ToGradedMeshは以下のオプションを持つ.
  • "MeshOrder" Automatic要素メッシュの次数

例題

すべて開くすべて閉じる

  (3)

パッケージをロードする:

区間について一様なメッシュを作成する:

メッシュを可視化する:

左に座標が集中しているグレーデッドメッシュを作成する:

メッシュを可視化する:

Lineを,"BothEnds"の点分布でデフォルト値を使ったグレーデッドメッシュに変換する:

メッシュを可視化する:

スコープ  (26)

基本の用法  (5)

1から1までのLine"Right"の点分布を持つグレーデッドメッシュに変換する:

メッシュを可視化する:

1から1までのLine"Central"の点分布を持つグレーデッドメッシュに変換する:

メッシュを可視化する:

1から1までのLine"Left"の点分布を持つグレーデッドメッシュに変換する:

メッシュを可視化する:

1から1までのLine"BothEnds"の点分布を持つグレーデッドメッシュに変換する:

メッシュを可視化する:

中央集中のアラインメントを2つ持つグレーデッドメッシュを作成する:

メッシュを可視化する:

Alignment(アラインメント)  (4)

単位区間が一様である1Dメッシュを作成する:

メッシュを可視化する:

以下は同じメッシュを作成する:

メッシュを可視化する:

Lineを,10個の要素を持ち,最短の座標距離が であり,"Central"の点分布を持つグレーデッドメッシュに変換する:

メッシュを可視化する:

座標間の最短距離を計算する:

Lineを,20個の要素を使い,"Central"の点分布を持つグレーデッドメッシュに変換する:

"Center""BothEnds"のアラインメントについては,要素の数が偶数である場合には,メッシュが中央に座標を持つ:

要素数が奇数である場合には,中央座標は存在しない:

チェビシェフのノード間隔のメッシュを与える関数を指定する:

チェビシェフのアラインメントを持つメッシュを作成する:

メッシュを可視化する:

ElementCount(要素数)  (3)

47個の要素を使って,単位区間が一様である1Dメッシュを作成する:

Lineを,点が右により多くあり,50個の要素を持つグレーデッドメッシュに変換する:

メッシュを可視化する:

1から1までのLineを,デフォルトの値を使って"Right"の点分布を持つグレーデッドメッシュに変換する:

メッシュを可視化する:

デフォルトの要素数は20個である.以下は同じメッシュを作成する:

MaximalDistance(最長距離)  (1)

最長距離付きで,左集中のアライメントのメッシュを作成する:

使用した最長距離を求める:

MinimalDistance(最短距離)  (4)

Lineを,右に点が多くあり,最初の間隔が1/50であるグレーデッドメッシュに変換する:

メッシュを可視化する:

使用した最短距離を求める:

点の間隔に0.025の一様な区間距離を持つ1Dメッシュを作る:

使用した最短距離を求める:

メッシュを可視化する:

Lineを,"Central"の点分布を持つグレーデッドメッシュに変換する:

メッシュを可視化する:

隣接座標間の最短距離を計算する:

中央の点において,隣接の一次座標間の距離は,領域の長さを要素数の2倍で割って()計算する.

以下は同じメッシュを構築する:

隣接座標間の最短距離を計算する:

Lineを,左により多くの点があり,10個の要素を作成し,最短間隔が1/33であるグレーデッドメッシュに変換する:

メッシュを可視化する:

隣接座標間の最短距離を計算する:

GradingRatio(段階付けの率)  (4)

Lineを,"Central"の点分布を持ち,段階付けの率が であるグレーデッドメッシュに変換する:

メッシュを可視化する:

Lineを,右により多くの点があり,10個の要素を作成し,段階付けの率が であるグレーデッドメッシュに変換する:

メッシュを可視化する:

Lineを,右により多くの点があり,段階付けの率が であるグレーデッドメッシュに変換する:

隣接座標間の距離を計算する:

増加率が2であることに注目されたい.

Lineを,両端により多くの点があり,段階付けの率が であるグレーデッドメッシュに変換する:

メッシュを可視化する:

隣接座標間の距離を計算する:

端から中央までの要素の長さが因数2で増えることに注目されたい.

複数のものの領域  (5)

3つの線分プリミティブから,点が右に集中,両端に集中,そして左に集中するメッシュを作成する:

メッシュを可視化する:

同じ最長距離をもつ一様なメッシュに繋がれている最大距離を持つ,点が左に集中するメッシュを作成する:

メッシュを可視化する:

さまざまなセクションに要素マーカーがある同じメッシュを作成する:

要素マーカーの和集合を抽出する:

メッシュ座標分布をそれぞれの直線と3つの領域マーカーに割り当てて,3つのLineプリミティブをグレーデッドメッシュに変換する:

メッシュ座標分布とマーカーを可視化する:

各直線にメッシュ座標分布と要素領域マーカーを割り当てて,3つのLineプリミティブをグレーデッドメッシュに変換する:

メッシュ座標分布とマーカーを可視化する:

オプション  (4)

"MeshOrder"  (4)

座標が左に集中しているグレーデッドメッシュを作成する:

メッシュ次数を抽出する:

座標が左に集中している一次メッシュを作成する:

メッシュを可視化する:

座標が右に集中している一次のグレーデッドメッシュを作成する:

メッシュを可視化する:

対数スケールを使い,ノードが異方性メッシュに沿ってどのように分布しているかを可視化する:

座標が左に集中している二次のグレーデッドメッシュを作成する:

メッシュを可視化する:

対数スケールを使い,二次ノードがグレーデッドメッシュに沿ってどのように分布しているかを可視化する:

メッシュのデータ構造は,二次ノードを一次ノードの後に保存する.対数スケールを使い,ソートされた二次ノードがグレーデッドメッシュに沿ってどのように分布しているかを可視化する:

アプリケーション  (4)

2つの1Dのグレーデッドメッシュの積から,2Dのグレーデッドメッシュを作成する:

"Central"の点分布を持つ1Dのグレーデッドメッシュを作成する:

"Central"の点分布と50個の要素を持つ,2つ目の1Dのグレーデッドメッシュを作成する:

領域の積を構築する:

異方性メッシュの領域の積を可視化する:

"BothEnds"の点分布と50個の要素を持ち,端点の距離が1/200である,3つ目の1Dのグレーデッドメッシュを作成する:

領域の積を構築する:

3Dのグレーデッドメッシュを可視化する:

の領域上で,以下の拡散方程式系を解く:

初期条件が および であり, における境界条件が および である.において,および である.

無限領域をモデル化するために,150個の要素と最短距離1/1000で,からのLineの部分上で左揃えのグレーデッドメッシュを作成する:

このメッシュは,左に細かいメッシュの解像度,右に少しだけの要素を持ち,過剰な量のメッシュ要素を必要とすることなく,無限領域を模倣するのに十分な分だけ領域を拡張することができるので,不必要に計算時間を増やさずに済む.

および である変数とパラメータを設定する:

初期条件 で偏微分方程式を設定する:

偏微分方程式を解く:

比較のために,領域 上だけで偏微分方程式を解く:

領域 で時間 における解を可視化する:

無限大での境界条件の動作を捉えるためには,より大きな領域に拡張する必要がある.

単位正方領域上で,拡散係数のスケールに大きな違いがある直立異方性の拡散方程式 を解く.一定のディリクレ境界条件が左の境界に,不連続のディリクレ境界条件が右の境界に与えられる.偏微分方程式を定義する:

ディリクレ条件を定義する:

方向の拡散係数のスケールに大きな違いがあるため,偏微分方程式は基本的に 方向には一次元である.におけるディリクレ条件の不連続性に対処するために,グレーデッドメッシュが構築される.

10個の要素を持つ1Dメッシュを作成する:

"Central"のアラインメントでそれぞれ50個の要素を持つグレーデッドメッシュを作成する:

領域の積を構築する:

異方性メッシュの領域の積を可視化する:

偏微分方程式を解く:

結果の密度プロットを可視化する:

ϕx=1において可視化する:

ϕ の導関数を x 方向に x=1において可視化する:

解の質を評価するために,グレーデッドメッシュの解とデフォルトのメッシュの解を比べると有益である:

関数の動作は,異方性メッシュでより少ないオーバーシュートを持つ:

異方性メッシュの解の関数の導関数は,より多くのオーバーシュートを持つが,その領域はより小さい.

考えられる問題  (7)

"Left"または"Right"のアラインメントでは,最小の要素数は1である:

少なくとも要素を1個使う:

"Central"または"BothEnds"のアラインメントでは, の最小値,つまり要素数は2である:

少なくとも要素を2個使う:

"Right"または"Left"の点分布は,最短距離が(入力Lineの長さが,要素数が )の場合には作成できない:

最短距離 により小さい値を使う:

"BothEnds"または"Central"の点分布は,最短距離が (入力Lineの長さが,要素数が )の場合には作成できない:

最短距離 により小さい値を使う:

ToGradedMeshは,段階付けの率が0以下である場合には作成できない:

正の段階付けの率 を使う:

メッシュ生成は,最も近い座標間の距離 が要素数上の入力メッシュの端点間の距離よりも長い場合には期待通りにいかない.

端点間の距離が2()である入力の Lineについて考える.この入力Lineは,要素が5個()で,最も近い座標間の距離が1に等しく(),"Left"のアライメントを持つグレーデッドメッシュに変換される:

メッシュを可視化する:

最短距離により小さい値を使う:

メッシュを可視化する:

特性"GradingRatio"は,一様なアラインメントには意味を持たない:

おもしろい例題  (1)

点分布を表す関数を指定する:

点分布が関数によて与えられるグレーデッドメッシュを作成する:

メッシュを可視化する:

これを,フィボナッチ数を分布として使う関数と比べる.フィボナッチ分布を得るための関数を書く:

点の分布を指定する関数を使って,Lineをグレーデッドメッシュに変換する:

メッシュを可視化する:

要素間の距離がフィボナッチ数列のパターンに従うことを確かめる:

2つの異なる分布を比べる:

メッシュを可視化する:

対数スケールを使って,fibmeshmesh のノード分布を可視化する:

フィボナッチ分布の構築において,最初の間隔は必要ないことに注意する.他の分布は指定の最短距離を持つより一様な段階付けをベキ法則のアプローチを使うのに対し,フィボナッチ数列は要素の数のみが必要であるからである.

Wolfram Research (2021), ToGradedMesh, Wolfram言語関数, https://reference.wolfram.com/language/FEMDocumentation/ref/ToGradedMesh.html.

テキスト

Wolfram Research (2021), ToGradedMesh, Wolfram言語関数, https://reference.wolfram.com/language/FEMDocumentation/ref/ToGradedMesh.html.

CMS

Wolfram Language. 2021. "ToGradedMesh." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/FEMDocumentation/ref/ToGradedMesh.html.

APA

Wolfram Language. (2021). ToGradedMesh. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/FEMDocumentation/ref/ToGradedMesh.html

BibTeX

@misc{reference.wolfram_2024_togradedmesh, author="Wolfram Research", title="{ToGradedMesh}", year="2021", howpublished="\url{https://reference.wolfram.com/language/FEMDocumentation/ref/ToGradedMesh.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_togradedmesh, organization={Wolfram Research}, title={ToGradedMesh}, year={2021}, url={https://reference.wolfram.com/language/FEMDocumentation/ref/ToGradedMesh.html}, note=[Accessed: 05-November-2024 ]}