1
时间步我有一个调用外部函数的Modelica模型。如果时间步长过大,则外部C++代码通常会引发异常。如何减少在应对外部函数引发异常
这似乎是正确的事情以响应做的是减少时间步长,然后再试一次。有没有办法减少时间步骤来应对异常?
时间步我有一个调用外部函数的Modelica模型。如果时间步长过大,则外部C++代码通常会引发异常。如何减少在应对外部函数引发异常
这似乎是正确的事情以响应做的是减少时间步长,然后再试一次。有没有办法减少时间步骤来应对异常?
没有直接标准化的方式,但你可以捕获该异常,要么返回它作为一个错误标志的Modelica和使用assert
,或者在C-包装(在catch部分使用ModelicaError使用ModelicaError
C++可能是可能的)。
规范表明一个失败的断言(或ModelicaError的呼叫)之后的模拟可以与另一评价继续例如,用更短的步长,或者通过改变迭代变量的值。