当我使用OpenModelica检查Modelica.Thermal.HeatTransfer.Components.HeatCapacitor时,它告诉我HeatCapacitor有4个方程式和4个变量。但是我只能在下面列出的模型中找到4个变量(即T,port.T,der_T,port.Q_flow)的3个方程:
T = port.T;
der_T = der(T);
C*der(T) = port.Q_flow;
我通过删除der_T和上面列出的第二个方程式创建了一个名为MyHeatCapacitor的新模型。该工具表明MyHeatCapacitor具有3个方程式,包含3个变量。
这两种热电容器模型可以给我正确的答案。我只是想知道在哪里可以找到方程式部分中未出现的方程式。
谢谢!!!
答案 0 :(得分:4)
当您创建function modpow(m,e,n){
var e parseInt(document.getElementById("number_e").value);
var n = parseInt(document.getElementById("number_n").value);
var temparray = [];
temparray.push[m % n];
var temp = Math.pow(temparray[i],2) % n;
var resultat = 1;
for (i=0; i<e-1; i++){
temp = Math.pow(temparray[i],2) % n;
}
while (e>0){
resultat = resultat*temparray[i];
}
}
的实例并将热量HeatCapacitor
连接到热量类别的另一个实例的端口时,将生成缺少的方程式。该工具将从connect语句生成拓扑方程,当您检查模型时,拓扑方程将增加方程的数量。
拓扑方程生成如下:
连接的连接器的所有流量变量总和为零
对于port
,这是HeatPort
,例如以下是2个实例的等式:
Q_flow
非流动变量被视为潜在变量。连接实例的电位设置为相等。
对于instance1.Q_flow + instance2.Q_flow = 0
,这是HeatPort
,例如用于2个连接实例的以下方程式:
T
由于热电容器使用a因果连接器(热端口),因此在检查时该工具知道它将稍后连接到另一个实例,从而得出上述方程式。因此,两个instance1.T = instance2.T
实例具有2 * 4 = 8个变量和2 * 3 = 6个方程。通过这两个拓扑方程,总共可以得到8个方程。
如果未进行任何连接,则假定为默认连接,流量设置为零。