我正在尝试使用 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 方向的正常离散化替换左侧。
如果您真的希望像文本中那样完全离散化:
when sample(?t,?t) then Q=pre(Q)+?t/?x*...