使用C#求解偏微分方程

Pi.*_*Pi. 5 .net c# math differential-equations

我正在研究一个项目(C#和.NET Framework),它要求我解决一些偏微分方程.是否有基于.NET Framework的特定库我可以看到并使我的工作更简单?

我使用MATLAb并且在那里求解偏微分方程是非常简单的.我怎么解决这个问题?

duf*_*ymo 7

取决于您想要解决的PDE以及您希望如何处理它们.

我所知道的每种方法都需要线性代数.你会想找到一个很好的.NET矩阵包,你可以找到最好的,可以有效地处理稀疏matricies.

线性椭圆(稳态扩散),抛物线(瞬态扩散)和双曲线(F = MA动态)偏微分方法需要稍微不同的方法.

所有这三个PDE都可以使用经典的有限差分,有限元(加权残差)或边界元素(格林函数)来创建您想要解决的系统矩阵.一般的非线性偏微分方程可能最好使用有限元/加权残差技术进行攻击.

但抛物线和双曲线PDF将在您离散后转变为耦合的ODE集.你必须做瞬态整合来反复解决时间演变.抛物线ODE是时间上的第一顺序; 双曲线ODE是时间上的二阶.

我正在学习CUDA和NVIDIA.您可能希望查看针对您的语言的CUDA绑定.

所有这些都是他们自己的重大话题.请Google提供一些消息来源,因为这里不可能提供更多粗略概述.

更新:我最近了解了Microsoft Solver Foundation.我自己没有调查过,但也许它对C#开发人员解决这个问题很有帮助.


Ric*_*ton 2

您可以在 MATLAB 中解决问题,并使用MATLAB 编译器+ Builder NE 工具箱创建链接到应用程序其余部分的 .NET 程序集。