ちょっと、そこ! Combigridサプライヤーとして、私はあなたとPDES用のコンバリドソルバーを実装する方法(部分微分方程式)を実装する方法を共有することを非常に興奮させています。 PDEは、熱伝達のモデル化から流体の流れのシミュレーションまで、科学と工学のいたるところにあります。そして、combigridメソッドは実際のゲームになる可能性があります - これらの方程式を効率的に解くことに関しては、チェンジャーです。
combigidとは何ですか?
まず、Combigridが何であるかについてすぐに進みましょう。 Combigridは、スパースグリッドとフルグリッドの利点を組み合わせた手法です。スパースグリッドは、高次元の問題で計算コストを削減できるため、優れています。しかし、彼らにはいくつかの制限があります。一方、完全なグリッドは正確ですが、特に高次元では非常に計算上高価になる可能性があります。 Combigridは、2つの間にスイートスポットを見つけようとします。
ステップ1:問題の定義
あなたが最初にしなければならないことは、あなたのPDEの問題を明確に定義することです。 PDEのタイプ(例、楕円形、放物線、双曲線)、PDEが定義されているドメイン、および境界条件を知る必要があります。たとえば、熱伝導の問題を扱っている場合、放物線PDEがあります。ドメインは長方形のプレートである可能性があり、境界条件はプレートの端の温度を指定する可能性があります。
フォームの単純な2D楕円形があるとしましょう。
[ - \ delta u(x、y)= f(x、y)\ quad \ text {in} \ quad \ omega =(0,1)\ times(0,1)]
Dirichlet境界条件(u(x、y)= g(x、y))on(\ partial \ omega)。ここで、(\ delta)はラプラシアン演算子、(f(x、y))は特定のソース関数、(g(x、y))は境界値関数です。
ステップ2:離散化
問題を定義したら、次のステップはPDEを離散化することです。これは、連続PDEを数値的に解決できる代数方程式のシステムに変えることを意味します。有限差分法、有限要素法、またはスペクトル法など、これを行うにはいくつかの方法があります。
CombiRIDアプローチのために、これらのメソッドの組み合わせをスパースグリッドに使用します。基本的なアイデアは、グリッドポイントに一連の階層基底関数を構築することです。これらの基礎関数により、これらの関数の線形組み合わせとしてPDEの解を近似することができます。
2D問題のためにcombididを構築する方法を見てみましょう。それぞれの方向に1Dグリッドのセットを定義することから始めます。たとえば、(x) - 方向では、異なるレベル(l)のグリッド(g_ {x}^l)のセットを持つことができます。同じことが(y) - 方向にも当てはまります。次に、これらの1Dグリッドを組み合わせて2Dコンビッドを形成します。
コンバリドのグリッドポイントの数は、フルグリッドよりもはるかに小さく、多くの計算リソースを節約します。しかし、近似が十分に正確であることを確認する必要があります。


ステップ3:複合構造
CombiDの構築は重要なステップです。各ディメンションで1Dグリッドのレベルを定義することから始めます。 1Dグリッドのレベル(L)は、グリッドポイントの数を決定します。より高いレベルは、より多くのグリッドポイントと潜在的に高い精度を意味します。
次に、組み合わせ手法を使用して、1Dグリッドをさまざまな寸法で組み合わせます。古典的な組み合わせ手法や適応的な組み合わせ手法など、さまざまな組み合わせスキームがあります。古典的な組み合わせ手法は、適切な重みの異なるサブグリッドで得られたソリューションを単に要約しています。
Pythonでは、PYCCF(Python Combigrid Framework)などのライブラリを使用して、Combidsを構築および作業できます。 2Dコンビッドを構築する方法の簡単な例を次に示します。
import pyccf#dimensionsの数を定義するdim = 2#各次元のレベルを定義レベル= [3、3]#combigrid combigrid = pyccf.combigrid(dim、revel)を作成します
ステップ4:離散化されたシステムの解決
CombiRIDを構築した後、代数方程式の離散化されたシステムを解く必要があります。これは、コンジュゲート勾配法などの反復方法またはガウス除去などの直接的な方法を使用して実行できます。
ソルバーの選択は、システムのサイズとプロパティに依存します。通常、反復方法は大規模なスケールの問題に対してより効率的ですが、直接的な方法は、小規模から中程度のサイズの問題でより速くなります。
たとえば、方程式(ax = b)のシステムがあり、(a)は離散化から得られる剛性マトリックス、(x)は未知のベクトル(グリッドポイントの近似溶液)、(b)は正しいハンドサイドベクトルです。
scipy.sparse.linalgからnpとしてnumpyをインポートしますcg#aは剛性マトリックスであり、bは正しい - ハンドサイドベクトル#aはまばらなマトリックスであり、bはnumpy配列x、情報= cg(a、b)です
ステップ5:投稿 - 処理
システムを解決したら、ソリューションを処理する必要があります。これには、ソリューションの視覚化、関心のある物理的な量の計算、ソリューションの精度の確認が含まれます。
PythonのMatplotlibなどのライブラリを使用して、ソリューションを視覚化できます。たとえば、ソリューション(u(x、y))が2D関数である場合、輪郭プロットまたは表面プロットを作成して、ソリューションがドメインでどのように変化するかを確認できます。
matplotlib.pyplotはplt#x_gridとy_gridがxおよびy方向のグリッドポイントであり、uはグリッドポイントx、y = np.meshgrid(x_grid、y_grid)plt.contourf(x、y、y、u)plt.colorbar()plt.show(
私たちの複合製品
当社では、幅広いコンバイド関連製品を提供しています。たとえば、PP二軸ジオグリッド複合ジオテキスタイル、これは土壌の補強と安定化に最適です。二軸ジオグリッドの強度とジオテキスタイルのろ過特性を組み合わせます。
別の製品はですポリプロピレン二軸ジオグリッドジオテキスタイル。この製品は、高品質のポリプロピレンで作られており、優れた機械的特性を提供します。道路建設や堤防の補強など、さまざまな土木工学アプリケーションで使用できます。
またありますGeoTextileを使用したPPジオグリッドコンポジット、これは、補強機能と分離機能の両方を提供する汎用性の高い製品です。
調達についてはお問い合わせください
PDEの問題のためにCombiGRIDソルバーを実装することに興味がある場合、またはCombigRid製品を購入したい場合は、ご連絡をお待ちしています。あなたが研究者、エンジニア、請負業者であろうと、私たちはあなたが必要なサポートと製品を提供することができます。私たちに手を差し伸べるだけで、私たちはどのように協力できるかについて素晴らしい会話を始めます。
参照
- Gerstner、T。、&Griebel、M。(1998)。スパースグリッドを使用した数値統合。数値数学、77(1)、209-232。
- Bungartz、HJ、&Griebel、M。(2004)。スパースグリッド。 Acta Numerica、13、147-269。
- Press、WH、Teukolsky、SA、Vetterling、WT、&Flannery、BP(2007)。数値レシピ:科学コンピューティングの技術。ケンブリッジ大学出版局。











