我构建了一个 Modelica 模型,但是在检查模型时(这是模型下载链接),它显示了一个局部奇点,如下面的屏幕截图所示。

所以我删除了错误消息中显示的代码。
h[3]=(hout+hl)/2
Run Code Online (Sandbox Code Playgroud)
但尽管模型检查良好,但存在导致初始化失败的强烈非线性问题。
所以我尝试删除以下代码行:
h[1]=(hin+hv)/2
Run Code Online (Sandbox Code Playgroud)
并且模型不仅检查而且没有初始化问题。
我的问题是:
如何最小化Modelica模型的非线性并保证收敛?我发现这个问题存在于很多领域,尤其是在热工水力模型中,我发现处理这个问题的一种方法是使用Modelon 的 Thermao Power Library和ThermoSysPro for EDF 的方式,这两个库划分模型或连接器分为流量和体积两种。为了确保收敛,它需要使用交错网格方案,如下面的屏幕截图所示。
那么有没有另一种方法来处理热工水力模型中的非线性问题呢?关于如何处理热工水力模型中的非线性问题,是否有共同的看法?