Questions tagged «time-integration»

2
对于数字积分器,“折衷”是什么意思,SciPy的odeint是否使用它们?
在此评论中,我写道: ...默认的SciPy积分器,我假设它仅使用辛方法。 在这里,我指的是SciPy odeint,它使用“非刚性(Adams)方法”或“刚性(BDF)方法”。根据消息来源: 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 …

3
众所周知,一些优化问题等同于时间步长吗?
给定所需的状态和正则化参数,请考虑以下问题:找到状态和控件以最小化功能 受约束 \ begin {equation} Ay = u。\ end {equation} 在这里,为简单起见,我们可以考虑y,y_0,u \ in \ mathbb R ^ n和A \ in \ mathbb R ^ {n \ times n}。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 …

2
什么是伪时间步长?
在阅读有关PDE求解器的一些文献时,我遇到了今天的伪时间步长一词。这似乎是一个常用术语,但是我找不到合适的定义或介绍性文章。 因此:什么是伪时间步长,通常如何使用?

1
BDF vs隐式Runge Kutta时间步进
有什么理由为什么要在BDF时间步长上选择高阶隐式Runge Kutta(IMRK)?对于我而言,BDF似乎容易得多,因为阶段IMRK需要每个时间步q线性求解。BDF和IMRK的稳定性似乎是有争议的。我找不到任何比较/对比隐式时间步进器的资源。qqqqqq 如果有帮助,最终目标是为我选择对流扩散PDE的高阶隐式时间步进器。

1
天文学模拟中正确的整合方式是什么?
我正在创建一个简单的天文模拟器,该模拟器应使用牛顿物理学来模拟系统(或任何物体)中行星的运动。所有的物体都是在欧几里得平面上的圆,具有诸如位置,速度,质量,半径和合力之类的属性。 我想以较小的时间步长(通常是几毫秒)来更新Universe,但是我不确定如何正确计算位置的变化。 力很简单: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计算示例
在初始边界值PDEs的数值解中,在空间中采用并行性是很常见的。在时间离散化中采用某种形式的并行性的情况要少得多,并且并行性通常受到更大的限制。我知道越来越多的代码和已发表的作品展示了时间并行性,但是它们都不包含空间并行性。 是否有在空间和时间上都包含并行性的实现示例?我对出版物和可用代码都感兴趣。


1
如何在有限元法中建立集总质量矩阵
当使用有限元方法求解与时间相关的PDE时,例如说热方程,如果我们使用显式的时间步长,则由于质量矩阵,我们必须求解线性系统。例如,如果我们坚持使用热方程示例, ∂ü∂Ť= Ç ∇2ü∂u∂t=c∇2u\frac{\partial{u}}{\partial{t}} = c\nabla{}^{2}u 然后使用前向欧拉,我们得到 中号(un + 1- 你ñdŤ)= − c KüñM(un+1−undt)=−cKunM(\frac{u^{n+1}-u^{n}}{dt}) = -cKu^{n} 因此,即使我们使用显式的时间步进方案,我们仍然必须求解线性系统。这显然是一个主要问题,因为使用显式方案的主要优点是不必求解线性系统。我已经读过,解决此问题的常用方法是改用“集总”质量矩阵,该矩阵将常规(一致?)质量矩阵转换为对角矩阵,从而使反演变得微不足道。在进行谷歌搜索后,我仍然不能完全确定这个集总质量矩阵是如何创建的。例如,看他的关于扩散-扩散方程的质量集总的数值实验由Edson Wendland Harry和Edmar Schulz编写,他们通过简单地将所有系数求和到对角线上来创建集总质量矩阵。因此,例如,如果我们原始的一致质量矩阵为: ⎛⎝⎜⎜⎜421个22421个1个24221个24⎞⎠⎟⎟⎟(4212242112422124)\begin{pmatrix} 4 & 2 & 1 & 2 \\ 2 & 4 & 2 & 1 \\ 1 & 2 & 4 & 2 \\ 2 & 1 & 2 …

2
三阶与四阶辛积分器的测试结果很奇怪
在我的回答到关于MSE问题关于汉密尔顿的2D物理模拟,我一直在使用高阶建议辛积分。 然后,我认为演示不同时间步长对具有不同顺序的方法的全局精度的影响可能是一个好主意,为此我编写并运行了Python / Pylab脚本。为了比较,我选择了: (jump2) 我熟悉的Wikipedia的2阶示例,尽管我知道它的名称是jumpfrog, (ruth3)Ruth的三阶辛积分器, (ruth4)露丝的四阶辛格积分器。 奇怪的是,无论我选择什么时间步长,Ruth的三阶方法在我的测试中似乎都比Ruth的四阶方法更精确,甚至高出一个数量级。 因此,我的问题是:我在这里做错了什么?详细信息如下。 这些方法在具有可分离哈密​​顿量的系统中展现出它们的优势,即可以写为 H(q,p)=T(p)+V(q)H(q,p)=T(p)+V(q)H(q,p) = T(p) + V(q) ,其中qqq包括所有位置坐标, ppp包括共轭矩a, TTT表示动力学能量和VVV势能。 在我们的设置中,我们可以通过对其施加的质量进行归一化。因此,力变成加速度,而力矩变成速度。 辛积分器带有特殊的(给定的,恒定的)系数,我将它们标记为a1,…,ana1,…,ana_1,\ldots,a_n和b1,…,bnb1,…,bnb_1,\ldots,b_n。与那些系数,一个步骤,用于从时间演进系统ttt 到时间t + δŤt+δtt+\delta t的形式为 对于i = 1 ,… ,ni=1,…,ni=1,\ldots,n: 给定所有位置的向量q,计算所有加速度的向量Gggqqq 将所有速度的向量vvv改变b一世GδŤbigδtb_i\,g\,\delta t 变化矢量qqq的所有位置的一个一世vδŤaivδ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 & b_2 \end{bmatrix} &= \begin{bmatrix} \frac{1}{2} & …

1
Parareal,PITA和PFASST有什么区别?
Parareal,PITA和PFASST算法都是跨域技术,用于并行解决时间相关问题的解决方案。 这些方法背后的指导原则是什么? 它们之间的主要区别是什么? 我可以说一个基于另一个吗?怎么样? 那他们的应用呢? 我知道对“哪个更好?”这个问题没有答案,但是对它们的应用领域和验证条件的充分了解对我有帮助。

3
我可以使用显式的时间步进方案来数字确定ODE是否僵硬吗?
我有一个ODE: u (0 )= − 1ü′= − 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等),则如果时间步长太大,则该方法应返回非常大的错误。因此,我有两个问题: 通常,当错误项的解析表达式不可用或不可推导时,这将如何确定刚性ODE? 通常,当ODE僵硬时,如何确定“足够小的”时间步长?

2
随时间变化的PDE的时空有限元离散化
在FEM文献中,半变量方法通常用于时变PDE的解决方案中。我还没有看到一种完全可变的方法,即FEM将空间和时间离散化,也许允许使用非结构化的时空网格。尽管时间步进方法可能更易于实现,但是否存在时空网格划分不可行的特定原因?我想人们必须定制网格来尊重给定问题的物理特性,但是我不确定。

1
Hessenberg矩阵的指数计算算法
我对使用krylov方法计算ODE标记系统的解决方案感兴趣,如[1]所示。这种方法涉及与指数有关的函数(所谓的 -functions)。它实质上包括通过使用Arnoldi迭代构造一个Krylov子空间并将该函数投影到该子空间上来计算矩阵函数的作用。这减少了计算较小的Hessenberg矩阵的指数的问题。φφ\varphi 我知道有几种算法可以计算指数(请参见[2] [3]及其参考)。我想知道是否有一种特殊的算法可以利用矩阵是Hessenberg的事实来计算指数? [1] Sidje,RB(1998)。Expokit:用于计算矩阵指数的软件包。ACM Transactions on Mathematical Software(TOMS),24(1),130-156。 [2] Moler,C.和Van Loan,C.(1978)。十九种计算矩阵指数的可疑方法。SIAM评论,20(4),801-836。 [3] Moler,C.和Van Loan,C.(2003)。25年后的十九种方法来计算矩阵的指数。SIAM评论,45(1),3-49。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.