如何在C#中求解刚性微分方程? [英] how can i solve stiff differential equations in C#?

查看:73
本文介绍了如何在C#中求解刚性微分方程?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Microsoft Oslo Library中的哪种方法可以解决僵硬问题常微分方程?是否还有另一种解决方法?


有吗奥斯陆方法中方程数(矩阵的维数)的任何限制?

解决方案


Microsoft Oslo Library中的哪种方法可以解决Stiff普通差异方程?是否还有另一种解决方法?


有吗奥斯陆方法中方程数(矩阵的维数)的任何限制?


我不知道那个库但是对于使用差分方法求解刚性微分方程,我会使用
隐式 方法。这意味着在每次迭代时都会有一些实际的解决方案,所以你最终会做更多的计算。您可以测试例如
梯形方法 (有时称为(2阶段) Adams-Moulton方法 )。还有  隐式Runge Kutta
Rosenbrock Wanner 方法[etc])。


[当然还有其他方法来解决这样的方程式, 有限元方法 ,具有用于函数空间的简单线性插值基("hat"函数) Galerkin逼近发生,在节点上确切地说是
- 如果这个基数是可能的选择。]



https://ocw.mit.edu/courses/mathematics/18-085-computational-science-and-engineering-i-fall-2008/video-lectures/lecture-10-finite-differences-in-时间/


作为非常好的课程的一个讲座:


https://ocw.mit.edu/courses/mathematics/18-085 -computational-science-and-engineering-i-fall-2008 / video-lectures /


-------------------- -----


由于我不知道您提到的库我不知道限制,但我猜对于稀疏三对角(Block-)系统,限制将是相对较大的e数,因为您只需要知道行(或对角线元素)的索引和从该对角线元素到两个非对角线元素的距离
加上这些元素的值和矩阵中的变化对于第一行和最后一行(块),取决于问题的边界条件。


问候,


 的Thorsten


which method in Microsoft Oslo Library can solve the Stiff ordinary differential Equations? is there another way to solve them at all?

Is there any limit for number of equations (dimension of matrix) in Oslo's Method?

解决方案

which method in Microsoft Oslo Library can solve the Stiff ordinary differential Equations? is there another way to solve them at all?

Is there any limit for number of equations (dimension of matrix) in Oslo's Method?

Hi, I dont know of that library but for solving stiff differential equations with difference methods I would use an implicit method. That means some real-solving at each iteration, so you would end up doing some more computations. You could test eg the Trapezoidal Method (sometimes called (2 stage) Adams-Moulton Method). also there are  implicit Runge Kutta and Rosenbrock Wanner methods [etc]).

[Of course there are other methods to solve such equations, a Finite Element Method, with a simple linear interpolation base ("hat"-functions) for the function-space the Galerkin approximation takes place, will be exact at the nodes - if this base is a possible choice.]

https://ocw.mit.edu/courses/mathematics/18-085-computational-science-and-engineering-i-fall-2008/video-lectures/lecture-10-finite-differences-in-time/

as one lecture of the very good course:

https://ocw.mit.edu/courses/mathematics/18-085-computational-science-and-engineering-i-fall-2008/video-lectures/

-------------------------

Since I dont know the library you mentioned I dont know of the limits, but I guess for sparse tridiagonal (Block-) systems the limit would be a relatively large number, since you only need to know the index of the row (or the diagonal element) and the distance from that diagonal element to the two off-diagonal elements plus the values of those elements and the changes in the matrix for the first and last row (of blocks) depending on the boundary conditions of the problem.

Regards,

  Thorsten


这篇关于如何在C#中求解刚性微分方程?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆