1

我试图模拟这个简单的例子(在 OpenModelica 1.9.1 Beta1 (r18938) 中):

模型爸爸

参数 Real tw1=32.1;

参数 Real tw2=36.4;

真正的TK2;

方程

1=(tw2-tw1)/(2.3*log10((tk2-tw1)/(tk2-tw2)));

结束sjoelund.se;

结束爸爸;

然后我收到了这条消息:Too few rows in data_2 matrix
然后我还收到另一个错误消息:

LOG_NLS        | warning     | Error solving nonlinear system Nonlinear function (residualFunc5, size 1) at time 0 Debug more 
stdout        | warning     | Error in initialization. Storing results and exiting. 
Use -lv=LOG_INIT -w for more information. 
Process crashed 
Simulation process exited with code -1
4

1 回答 1

1

r21400开始,OpenModelica 将处理 log10 的倒数。非线性求解器很难找到解,因为很多数字不是 log10 的有效输入(并且很难尝试对其进行数值线性化)。

现在生成的代码是:

tk2 = (tw2 * 10.0 ^ ((tw2 - tw1) / 2.3) - tw1) / (-1.0 + 10.0 ^ ((tw2 - tw1) / 2.3))
于 2014-07-03T09:35:02.550 回答