タグ付けされた質問 「time-integration」

2
数値積分器に関して「シンプレクティック」とは何を意味し、SciPyのodeintはそれらを使用しますか?
このコメントで私は書いた: ...デフォルトのSciPyインテグレータ。シンプレクティック法のみを使用していると仮定しています。 odeintここでは、「非スティッフ(Adams)メソッド」または「スティッフ(BDF)メソッド」のいずれかを使用するSciPyを参照しています。ソースによると: def odeint(func, y0, t, args=(), Dfun=None, col_deriv=0, full_output=0, ml=None, mu=None, rtol=None, atol=None, tcrit=None, h0=0.0, hmax=0.0, hmin=0.0, ixpr=0, mxstep=0, mxhnil=0, mxordn=12, mxords=5, printmessg=0): """ Integrate a system of ordinary differential equations. Solve a system of ordinary differential equations using lsoda from the FORTRAN library odepack. Solves the initial …

3
いくつかの最適化問題がタイムステップと同等であることはよく知られていますか?
y0y0y_0β∈Rβ∈R\beta \in \mathbb Ryyyuuu12∥y−y0∥2+β2∥u∥212‖y−y0‖2+β2‖u‖2\begin{equation} \frac{1}{2} \| y - y_0 \|^2 + \frac{\beta}{2} \| u \|^2 \end{equation}Ay=u.Ay=u.\begin{equation} Ay = u. \end{equation}y,y0,u∈Rny,y0,u∈Rn y, y_0, u \in \mathbb R^n A∈Rn×nA∈Rn×n A \in \mathbb R^{n \times n} ラグランジアンを形成し、静止点を探し、制御を削除すると、1次条件 によってPremultiplying第一方程式および第二に、我々は、正規方程式を書くことができる これらを微分方程式の後方オイラー近似の単一ステップとして解釈することができます uuuATλAy=y0−y=1βλATλ=y0−yAy=1βλ\begin{align*} A^T \lambda &= y_0 - y \\ Ay &= \frac{1}{\beta} \lambda \end{align*}AAAATATA^T(I+βAAT)λ(I+βATA)y=βAy0=y0(I+βAAT)λ=βAy0(I+βATA)y=y0\begin{align} (I …

2
擬似時間ステップとは何ですか?
PDEソルバーに関するいくつかの文献を読んでいると、今日疑似時間ステップという用語に出会いました。これは一般的な用語のようですが、そのための適切な定義や紹介記事を見つけることができませんでした。 したがって:擬似時間ステップとは何ですか?通常どのように使用されますか?

1
BDFと暗黙のルンゲクッタの時間ステップ
BDFタイムステッピングよりも高次の暗黙的なルンゲクッタ(IMRK)を選択する理由はありますか?段階IMRKにはqが必要なので、BDFの方がはるかに簡単に思えますqqqqqqタイムステップごとに線形解。BDFとIMRKの安定性は重要なポイントのようです。暗黙のタイムステッパーを比較/比較するリソースが見つかりません。 それが役立つ場合、最終的な目標は移流拡散PDEの高次の暗黙的なタイムステッパーを選択することです。

1
天文学シミュレーションに統合する正しい方法は何ですか?
私は、システム内の惑星(または、あらゆるオブジェクト)の動きをシミュレートするために、ニュートン物理学を使用する単純な天文学シミュレーターを作成しています。すべての物体はユークリッド平面の円であり、位置、速度、質量、半径、合力などのプロパティを持っています。 ユニバースを小さなタイムステップ(通常は数ミリ秒)で更新したいのですが、位置の変化を正しく計算する方法がわかりません。 力は簡単ですfr = sum(G * body.m * bodyi.m / dist(body, bodyi)^2)。 しかし、そこからどのように進むのですか? 私はこれを行うことができます: a = Fr/body.m v += a*dt position += v*dt しかし、それはもちろん間違っています。位置計算の係数として0.5を追加した場合はどうでしょうか?

5
空間と時間の両方で並列処理を使用したPDE計算の例
初期境界値PDEの数値解法では、空間で並列処理を使用することが非常に一般的です。時間離散化で何らかの形式の並列処理を使用することはあまり一般的ではなく、通常、並列処理ははるかに制限されています。時間的並列性を示すコードと公開された作品の数が増えていることは承知していますが、空間的並列性を含むものはありません。 空間と時間の両方に並列性を含む実装の例はありますか?出版物と入手可能なコードの両方に興味があります。

1
後者がより正確である場合、leapfrog統合はシンプレクティックであり、RK4はそうではないのはなぜですか?
理論的にエネルギーを節約する必要のあるシステムでは、最も正確なシミュレーションがエネルギーを節約します(正確な位置、速度などを提供します)。RK4はleapfrogよりも正確ですが、leapfrogはエネルギーを節約しますが、RK4はそうではありません。どうしてこれなの?

1
FEMで集中質量行列を作成する方法
有限要素法、たとえば熱方程式を使用して時間依存のPDEを解く場合、明示的な時間ステップを使用すると、質量行列のために線形システムを解かなければなりません。たとえば、熱方程式の例に固執すると、 ∂u∂t=c∇2u∂u∂t=c∇2u\frac{\partial{u}}{\partial{t}} = c\nabla{}^{2}u 次に、フォワードオイラーを使用して M(un+1−undt)=−cKunM(un+1−undt)=−cKunM(\frac{u^{n+1}-u^{n}}{dt}) = -cKu^{n} したがって、明示的な時間ステップ方式を使用している場合でも、線形システムを解く必要があります。明示的なスキームを使用する主な利点は線形システムを解く必要がないことなので、これは明らかに大きな問題です。この問題を回避する一般的な方法は、通常の(一貫性のある)質量行列を対角行列に変換し、逆変換を簡単にする「集中」質量行列を使用することです。グーグル検索を行ったとき、この集中質量行列がどのように作成されるかはまだ完全にはわかりません。たとえば、彼の論文、ADVECTION-DEFUSION EQUATIONの質量ランピングに関する数値実験Edson Wendland HarryとEdmar Schulzにより、対角線上にすべての係数を単純に合計することにより、集中質量行列を作成します。したがって、たとえば、元の一貫した質量行列が次の場合、 ⎛⎝⎜⎜⎜4212242112422124⎞⎠⎟⎟⎟(4212242112422124)\begin{pmatrix} 4 & 2 & 1 & 2 \\ 2 & 4 & 2 & 1 \\ 1 & 2 & 4 & 2 \\ 2 & 1 & 2 & 4\end{pmatrix} 集中質量行列は次のようになります。 ⎛⎝⎜⎜⎜9000090000900009⎞⎠⎟⎟⎟(9000090000900009)\begin{pmatrix} 9 & 0 …

2
奇妙な結果を持つ3次対4次シンプレクティック積分器のテスト
では私の答えにMSEの質問 2D、ハミルトニアンの物理シミュレーションに関しては、私はより高次の使用を示唆しているシンプレクティック積分器を。 次に、さまざまな時間ステップがさまざまな次数のメソッドのグローバル精度に及ぼす影響を示すのは良い考えだと思い、その効果のためにPython / Pylabスクリプトを作成して実行しました。比較のために私が選んだもの: (leap2)Wikipediaの2次例 Iは、名前の下にそれを知っているが、私は、よく知っていると馬跳び、 (ruth3)ルースの3次シンプレクティック積分器、 (ruth4)Ruthの4次シンプレクティック積分器。 奇妙なことに、どのタイムステップを選択しても、テストでは、Ruthの3次法の方がRuthの4次法よりも1桁精度が高いようです。 したがって、私の質問は次のとおりです。詳細は以下。 これらの方法は、分離可能なハミルトニアン、つまりとして記述できる システムでその強さを展開します。 ここで、はすべての位置座標を含み、 は共役運動量を含み、 は運動論を表しますエネルギーとポテンシャルエネルギー。H(q、p )= T(p )+ V(q)H(q,p)=T(p)+V(q)H(q,p) = T(p) + V(q)qqqpppTTTVVV この設定では、力と運動量を、それらが適用される質量によって正規化できます。したがって、力は加速度に変わり、モーメンタは速度に変わります。 シンプレクティックインテグレーターには、特別な(与えられた定数)係数が付属しており、これにおよびラベルを付けます。これらの係数を使用すると、システムを時間 から時間に進化させるための1つのステップは次の形式になります。a1、… 、aんa1,…,ana_1,\ldots,a_nb1、… 、bんb1,…,bnb_1,\ldots,b_ntttt + δtt+δtt+\delta t 以下のために:i = 1 、… 、ni=1,…,ni=1,\ldots,n すべての位置のベクトルを指定して、すべての加速度のベクトルを計算しますgggqqq すべての速度のベクトルをvvvb私gδtbigδtb_i\,g\,\delta t すべての位置のベクトルをqqqa私vδtaivδta_i\,v\,\delta t 知恵は今係数にあります。これらは、 [a1b1a2b2][a1b1a2b2a3b3][a1b1a2b2a3b3a4b4]=[120121]=[23724−23341−124]=12−2–√3[1201−2√3211−2√32−2–√3121](leap2)(ruth3)(ruth4)[a1a2b1b2]=[121201](leap2)[a1a2a3b1b2b3]=[23−23172434−124](ruth3)[a1a2a3a4b1b2b3b4]=12−23[121−2321−2321201−231](ruth4)\begin{align} \begin{bmatrix} a_1 & a_2 \\ b_1 …

1
Parareal、PITA、PFASSTの違いは何ですか?
Parareal、PITA、およびPFASSTアルゴリズムはすべて、時間に依存する問題の解を並列化するドメイン全体の手法です。 これらの方法の背後にある基本原則は何ですか? それらの主な違いは何ですか? あるものが別のものに基づいていると言えますか?どうやって? 彼らのアプリケーションはどうですか? 「どちらが良いですか」という質問には答えられないことはわかっていますが、それらのアプリケーション領域と検証条件をよく理解しておくと役に立ちます。

3
明示的な時間ステップスキームを使用して、ODEがスティッフであるかどうかを数値で決定できますか?
私はODEを持っています: あなた』= − 1000 u + s i n (t )u′=−1000u+sin(t)u'=-1000u+sin(t) u (0 )= − 11000001u(0)=−11000001u(0)=-\frac{1}{1000001} この特定のODEは分析的に硬いことを知っています。また、明示的な(順方向)時間ステップメソッド(Euler、Runge-Kutta、Adamsなど)を使用した場合、時間ステップが大きすぎると、メソッドが非常に大きなエラーを返すはずであることも知っています。だから、私は2つの質問があります: これは、一般に、エラー項の分析式が利用できない、または導出できない場合に、ODEがどのように決定されるのですか? 一般に、ODEが硬い場合、「十分に小さい」タイムステップをどのように決定しますか?

4
ルンゲクッタ法とオイラー法がなぜそれほど違うのですか?
私は連立一次方程式を解く午前、、数値的に。オイラー法とルンゲクッタ法(RK)の一般的な方法を使用してこれを行いました。この2つの分析ソリューションの精度にはかなりの違いがあることに気づきました。これの理由は何ですか?バツ˙––= A––⋅ X––バツ˙_=あ_⋅バツ_\underline {\dot x}=\underline A\cdot \underline x

2
時間依存PDEの時空間有限要素離散化
FEMの文献では、時間に依存するPDEのソリューションでは、通常、準変分法が使用されます。完全に変分的なアプローチ、つまり、FEMによって空間と時間が離散化され、構造化されていない時空間メッシュの使用を可能にするアプローチを見たことはありません。タイムステッピングメソッドの方が実装が簡単かもしれませんが、時空間メッシュが実行できない特別な理由はありますか?特定の問題の物理的特性を尊重するためにメッシュを調整する必要があると思いますが、確実ではありません。

1
ヘッセンベルク行列の指数を計算するアルゴリズム
[1]のように、クリロフ法を使用してODEのラージシステムの解を計算することに興味があります。このような方法には、指数関数に関連する関数(いわゆる関数)が含まれます。これは基本的に、Arnoldi反復を使用してクリロフ部分空間を作成し、この部分空間に関数を投影することにより、行列関数のアクションを計算することで構成されます。これにより、はるかに小さいヘッセンバーグ行列の指数を計算する問題が軽減されます。φφ\varphi 指数を計算するアルゴリズムがいくつかあることを知っています([2] [3]とその参照を参照)。行列がヘッセンバーグであることを利用できる指数を計算するための特別なアルゴリズムがあるのだろうか? [1] Sidje、RB(1998)。Expokit:行列指数を計算するためのソフトウェアパッケージ。ACM Transactions on Mathematical Software(TOMS)、24(1)、130-156。 [2] Moler、C。、およびVan Loan、C。(1978)。行列の指数を計算する19の疑わしい方法。SIAMレビュー、20(4)、801〜836。 [3]モーラーC.、およびバンローンC.(2003)。25年後のマトリックスの指数を計算する19の疑わしい方法。SIAMレビュー、45(1)、3-49。

1
どの数値法が時間反転対称性を維持しますか?
私は時間反転対称性を含む物理システムがある場合(たとえばハミルトニアンとV (X )実数)とIは、微分方程式を解くしたいですこのシステムについて説明してください。時間反転の対称性を維持するために、ODEのどのソルバーを使用すればよいですか(たとえば、mathematica)。この対称性を破るソルバーはどれですか?H(x 、p )= p2/ 2m+V(x )H(バツ、p)=p2/2メートル+V(バツ)H(x,p)=p^2/2m + V(x)V(x )V(バツ)V(x) 編集:私はこの質問を拡張したいと思います。私たちが結合された第一次微分方程式のシステム考える 基盤となるシステムは、時間反転対称性が含まれている場合、どのように統合する方法が最もよく使用されていますか?a˙1(t )= f1(a1、a2、a3、… 、aん; t )a˙2(t )= f2(a1、a2、a3、… 、aん; t )a˙3(t )= f3(a1、a2、a3、… 、aん; t )⋮a˙1(t)=f1(a1、a2、a3、…、aん;t)a˙2(t)=f2(a1、a2、a3、…、aん;t)a˙3(t)=f3(a1、a2、a3、…、aん;t)⋮\dot{a}_1 (t) = f_1(a_1,a_2,a_3,\ldots,a_n;t) \\ \dot{a}_2(t) = f_2(a_1,a_2,a_3,\ldots,a_n;t) \\ \dot{a}_3(t) = f_3(a_1,a_2,a_3,\ldots,a_n;t) \\ \vdots

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.