【问题标题】:Package to solve nonlinear antiparabolic PDE in C/C++在 C/C++ 中求解非线性反抛物线偏微分方程的软件包
【发布时间】:2013-03-06 03:18:28
【问题描述】:

我想为二变量函数f(q,y)解决以下PDE

d f(q,y) / dq + 1/2 (d^2f(q,y)/dy^2 + x(q)*(df(q,y)/dy)^2) = 0,

在区间-\inf < y < \inf, 0<=q<=1 并且具有边界条件f(1,y) = g(y),其中g(y) 是一个已知函数。

用数值求解这个方程的最佳 C/C++ 包是什么?

【问题讨论】:

  • 到底有没有解析解?什么是 g(y)?由于“偏微分方程”在 q 中没有导数,g(y) 是否满足 q=1 的偏微分方程? f(y) = exp (-(x(q) - 1/2)y) 不是 0
  • 很抱歉有一个错字。有一个q-导数。不,没有解析解
  • x(q) 是已知函数吗?
  • 是的,这是一个已知函数。

标签: c++ c pde


【解决方案1】:

如果您可以访问 NAG 库,请尝试它们(昂贵)。如果您的大学/公司/研究所拥有正确的许可证类型,NAG 的人员将为您提供帮助。我遇到了来自 NAG 的人,他们对技术支持非常认真。有些人对 NAG 库发誓;我几乎没用过它们,因为它们太贵了,而且我总是害怕我的下一份工作无法使用它们,所以我不想依赖它们。

在免费库方面,Netlib 中有一些 PDE 求解器,但我从未使用过。另一种选择是 C 语言中的数值食谱,我实际上不建议这样做。我见过的最糟糕的数字代码将数字食谱例程用作黑匣子。 GSL 是免费的,我已经非常成功地使用它来求解耦合 ODE 系统,但是 GSL 中没有 PDE 求解器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2015-08-21
    相关资源
    最近更新 更多