【问题标题】:Discretizing time derivative terms of PDE in the Modelica model在 Modelica 模型中离散 PDE 的时间导数项
【发布时间】:2021-01-19 14:48:42
【问题描述】:

我正在尝试使用 Modelica 来离散化 PDE 模型,但我不知道如何离散化时间导数项。
如下图所示,这是热传导 PDE 模型的一种典型方法,它使用der 算子而不是离散时间导数项。

我要做的是离散化方程中的所有导数项,包括时间导数,但我不知道如何表达 Q(t+Δt)-Q(t),因为我不知道如果 Modelica 中有一种机制允许我使用不同时间点的变量的值。

我的问题是:
是否可以对时间导数项进行离散化?

【问题讨论】:

    标签: modelica dymola


    【解决方案1】:

    没有简单的支持。

    一个简单的可能性是使用der(Q)=(Q(t+Δt)-Q(t))/Δt;,它基本上给出了线的方法,https://en.wikipedia.org/wiki/Method_of_lines

    要使用它,您必须将方程从 Q(t+Δt)-Q(t)=-uΔt/Δx(Q(t,i+1)-Q(t,i)) 重写为 (Q(t+Δt)-Q(t))/Δt=-u(Q(t,i+1)-Q(t,i))//Δx,并将左侧替换为 der(Q),并在 x 方向上使用正态离散化。

    如果你真的希望它像文本中那样完全离散化:

    • 如上所述,使用具有特定步长的 Euler 作为积分方法(或者在更高级的情况下,使用与 solverMethod="ExplicitEuler" 同步的方法)。
    • 手动写when sample(Δt,Δt) then Q=pre(Q)+Δt/Δx*...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-07
      • 2021-07-06
      • 1970-01-01
      • 2021-06-18
      • 2022-07-26
      • 2011-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多