【问题标题】:How to solve these coupled differential equations in Matlab?如何在 Matlab 中求解这些耦合微分方程?
【发布时间】:2012-10-14 01:15:23
【问题描述】:

我有三个偏微分方程 (PDE) 和一个变量的解析解,如图所示。使用这些方程我想求解 \phi(x,y,t), p(x,y,t), C_{a}(x,y,t) 和 C_{b}(x,y,t)即在空间和时间方面。

我知道 Matlab 中有一个函数 pdepe( ) 可以解决一维抛物线椭圆 PDE 的初始边界值问题。我想知道如何使用这个函数或 Matlab 中的其他函数来解决下面描述的二维和耦合问题。

问题:

以下两个方程分别表示两个物种 a 和 b 的 PDE:

其中 D_{h} 和 q 给出为:

这里,R_{a}=R_{b}=R,其中 R 为:

最后,最后一个方程为:

初始条件和边界条件:

总域大小为 10 cm x 5 cm,y 形子域的宽度为 0.5 cm。该子域的初始 phi 为 0.50,而在周围矩阵中则为 0.26。 1 Pa 和 0 Pa 的常数 p 分别保持在边界 (1) 和 (2) 处,对应于大约 10^-3 m m^-1 的梯度。边界 (3) 和 (4) 上的 p 由边界 (1) 和 (2) 之间的线性梯度确定。 C_{a} = 2 mol m^-3 和 C_{b} = 0.2302 mol m^-3 的常数 C 保持在边界 (3),而边界 (4) 的浓度设置在 C_{a} = 1 mol m^-3 和 C_{b} = 0.4603 mol m^-3。边界 (1) 处的浓度由边界 (3) 和 (4) 之间的恒定梯度确定,同时设置平流通量边界条件 $$(\frac{\partial C}{\partial x} = 0)$$在 (2) 的出口处。

【问题讨论】:

  • 对我的回答发表评论会很好......
  • 嗨罗迪:我否决了你的答案,因为我认为(我也希望你也是)这是一个评论而不是一个答案。从下次开始,我会记住,通过发表评论让您知道。这次很抱歉。
  • 我不知道你知道什么。建议pdepe 可能是您问题的解决方案,因此它是一个答案。然后您稍后重新制定问题以包括您知道它存在但只是不知道如何使用它的事实,嗯......这是非常重要的信息。那么:你用这个功能尝试了什么?
  • 我的方程除了时间维度之外还有二维空间维度。函数pdepe 允许求解空间一维且具有时间维度的偏微分方程。希望能帮助您了解我为什么不能使用pdepe

标签: matlab solution pde differential-equations


【解决方案1】:

你有 PDE 工具箱吗?

如果是:pdetool 似乎是要走的路(我没有它,所以我无法验证或试验其中任何一个——你必须自己在那里做一些试验)。

如果不是:您可能会发现 thisthis 值得调查。这些基本上是二维波动方程的 FDM 实现。您可以获取它们的内核并将它们转换为求解耦合方程的方法。

也许更简单:看看here;这是一个相当不错的 FEM 工具包,可以与 Matlab 一起使用。

【讨论】:

  • 谢谢罗迪。我还没有检查,但一旦我有时间就会做。链接似乎对我的问题有用!
【解决方案2】:

这应该可以在 FEATool Matlab FEM Toolbox 中实现。由于 2D(以及 1D 和 3D)对流-扩散-反应 PDE 方程已经预先定义并且易于耦合,您只需输入扩散、对流和源项。尽管您的确切问题不能以tutorial 的形式提供,但其他一些convection-diffusion example models 可能是一个很好的起点。 (也很抱歉无法发表评论。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多