在 Modelica 模型中离散化 PDE 的时间导数项

Discretizing time derivative terms of PDE in the Modelica model

我正在尝试使用 Modelica 来离散化 PDE 模型,但我对如何离散化时间导数项感到困惑。
如下图所示,它是热传导 PDE 模型的典型方法,它使用 der 算子而不是对时间导数项进行离散化。

我想做的是离散化方程中的所有导数项,包括时间导数,但我不确定如何表达 Q(t+Δt)-Q(t),因为我不知道不知道Modelica有没有机制可以让我使用不同时间点的变量值

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

没有简单的支持。

一个简单的可能性是使用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*...