Modelica 错误:意外的令牌参数-Modellica

Modelica 错误:意外的令牌参数-Modellica,modelica,openmodelica,Modelica,Openmodelica,我尝试在Modelica中实现一个代码。在以“参数整数n_Kapazitaten=3”开头的行中出现以下错误 [错误]SimModelcode,第8行:意外标记:“参数” 你能帮我解决这个错误吗?解决这个问题似乎很容易。但由于我是Modellica的初学者,我非常感谢您的帮助。提前谢谢 第2行、第47行、第48行末尾缺少分号(;),第49行末尾添加了斜杠(/)。您应该提供一个最小的可复制示例,而不是发布完整模型的代码: model SimModelcode parameter Real l_

我尝试在Modelica中实现一个代码。在以“参数整数n_Kapazitaten=3”开头的行中出现以下错误

[错误]SimModelcode,第8行:意外标记:“参数”


你能帮我解决这个错误吗?解决这个问题似乎很容易。但由于我是Modellica的初学者,我非常感谢您的帮助。提前谢谢

第2行、第47行、第48行末尾缺少分号(
),第49行末尾添加了斜杠(
/
)。

您应该提供一个最小的可复制示例,而不是发布完整模型的代码:
model SimModelcode
  parameter Real l_Volume 
  parameter Integer n_Kapazitaten=3 ; //Anzahl der Kapazitäten
  parameter Integer n_Unterteilung=8 ;//Anzahl der Unterteilung
  parameter Real l_aussen[n_Unterteilung]=0.3;//die Länge der obigen Kante vom dem Außenrechteck
  parameter Real  l_Alu=0.05;//die Länge der obigen Kante vom Alublock
  parameter Real h_aussen[n_Unterteilung]=0.2;//die Höhe der linken Kante von dem Außenrechteck
  parameter Real h_Alu=0.02;//die Höhe der linken Kante von Alublock
  parameter Real dicke=0.01;
  parameter Integer lambda_Kunststoff=10;
  parameter Integer cp_Alu=200;
  parameter Integer cp_Kunststoff=10;
  parameter Integer rho_Kunststoff=1185;
  parameter Integer rho_Alu=2719;
  Modelica.Thermal.HeatTransfer.Sources.PrescribedHeatFlow PrescribedHeatFlow(Q_flow = 10) annotation(
      Placement(visible = true, transformation(origin = {-14, -24}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
  Modelica.Thermal.HeatTransfer.Sources.FixedTemperature PrescribedTemperature1(T = 300) annotation(
      Placement(visible = true, transformation(origin = {64, 42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
  Modelica.Thermal.HeatTransfer.Sources.FixedTemperature PrescribedTemperature2(T = 300) annotation(
      Placement(visible = true, transformation(origin = {64, 42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
  Modelica.Thermal.HeatTransfer.Sources.FixedTemperature PrescribedTemperature3(T = 300) annotation(
      Placement(visible = true, transformation(origin = {64, 42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
  Modelica.Thermal.HeatTransfer.Sources.FixedTemperature PrescribedTemperature4(T = 300) annotation(
      Placement(visible = true, transformation(origin = {64, 42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
  Modelica.Thermal.HeatTransfer.Components.HeatCapacitor Alu(C = 0.5438) annotation(
      Placement(visible = true, transformation(origin = {64, 42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
  Modelica.Thermal.HeatTransfer.Components.HeatCapacitor Capacitors[4*n_Kapazitaten](C =heatcapacity) annotation(
      Placement(visible = true, transformation(origin = {64, 42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
  Modelica.Thermal.HeatTransfer.Components.ThermalConductor Conductors[4*n_Kapazitaten+4](G=thermalconductance) annotation(
      Placement(visible = true, transformation(origin = {64, 42}, extent = {{10, -10}, {-10, 10}}, rotation = 0)));
equation
  l_link=((l_aussen[n_Unterteilung]-l_Alu)/2) /(n_Kapazitaten+1);// Abstand zwischen zwei Kapazitäten in linkem Block und rechtem Block
  l_oben=((h_aussen[n_Unterteilung]-h_Alu)/2)/(n_Kapazitaten+1);//Abstand zwischen zwei Kapazitäten in obigem Block und unterem Block
  V_alu=l_Alu*h_Alu*dicke;
  cpm_alu=V_alu*cp_alu;
  for i in 1:n_Unterteilung loop
    h_aussen[i]=h_Alu+(i/n_Unterteilung)*(h_aussen[n_Unterteilung]-h_Alu);//Berechnung der Höhe in den linken Trapezflächen
    Flache_link[i]=h_aussen[i]*dicke;//Berechnung der Flache in den linken Trapezflächen
    l_aussen[i]=l_Alu+(i/n_Unterteilung)*(l_aussen[n_Unterteilung]-l_Alu);//Berechnung der Länge in den obigen Trapezflächen
    Flache_oben[i]=l_aussen[i]*dicke;//Berechnung der Höhe in den obigen Trapezflächen
  end for; 
  G[1:n_Kapazitaten+2]= lambda_Kunststoff*(Flache_link[1:n_Unterteilung+1:2]/l_link);
  G[n_Kapazitaten+2:2*(n_Kapazitaten+1)+1]= lambda_Kunststoff*(Flache_oben[1:n_Unterteilung+1:2]/l_oben);
  G[2*(n_Kapazitaten+1)+1:3*(n_Kapazitaten+1)+1]= lambda_Kunststoff*(Flache_link[1:n_Unterteilung+1:2]/l_link);
  G[3*(n_Kapazitaten+1)+4*(n_Kapazitaten+1)+1]= lambda_Kunststoff*(Flache_oben[1:n_Unterteilung+1:2]/l_oben);
  for i in 1:n_Kapazitaten loop
    h_Volume[i]=h_Alu+(i/n_Kapazitaten)*(h_aussen[n_Unterteilung]-h_Alu)
    l_Volume[i]=l_Alu+(i/n_Kapazitaten)*(l_aussen[n_Unterteilung]-l_Alu)
    V_link[i]=(dicke*(h_Volume[i])*((i/n_Kapazitaten)*(l_aussen[n_Unterteilung]-l_Alu)/2))/; //Volumen in linkem und rechtem Block pro Kapazitat 
    V_oben[i]=(dicke*(l_Volume[i])*((i/n_Kapazitaten)*(h_aussen[n_Unterteilung]-h_Alu)/2));//Volumen in obigem und unterem Block pro Kapazitat 
    m_link[i]=rho_Kunststoff*V_link[i];
    m_oben[i]=rho_Kunststoff*V_oben[i];
    cpm_link[i]=cp_Kunststoff*m_link[i];
    cpm_oben[i]=cp_Kunststoff*m_oben[i];
  end for;
  cpm[1:n_Kapazitaten+1]=cp_Kunststoff*m_link[1:n_Kapazitaten+1];
  cpm[n_Kapazitaten+1:2*n_Kapazitaten+1]=cp_Kunststoff*m_oben[1:n_Kapazitaten+1];
  cpm[2*n_Kapazitaten+1:3*n_Kapazitaten+1]=cp_Kunststoff*m_link[1:n_Kapazitaten+1];
  cpm[3*n_Kapazitaten+1:4*n_Kapazitaten+1]=cp_Kunststoff*m_oben[1:n_Kapazitaten+1];
  
  ///for i=1:4*n_Kapazitaten
    //Capacitors_links=Capacitors[n_Kapazitaten];
    //Capacitors_oben=Capacitors[n_Kapazitaten:2*n_Kapazitaten];
    //Capacitors_rechts=Capacitors[2*n_Kapazitaten:3*n_Kapazitaten];
    //Capacitors_unten=Capacitors[3*n_Kapazitaten:4*n_Kapazitaten]
  //end for;
  
  for i in 1:4*n_Kapazitaten+4 loop 
    thermalconductance[i]=G[i];
  end for;
  for i in 1:4*n_Kapazitaten loop 
    heatcapacity[i]=cpm[i];
  end for;  


  connect(PrescribedHeatFlow.port, Aluminium.port) annotation(
      Line(points = {{54, 42}, {16, 42}, {16, 40}, {16, 40}}, color = {191, 0, 0}));
  connect(Conductors[1].port_a,Alu.port );
  connect(Conductors[n_Kapazitaten+2].port_a,Alu.port );
  connect(Conductors[2*(n_Kapazitaten+1)+1].port_a,Alu.port );
  connect(Conductors[3*(n_Kapazitaten+1)+1].port_a,Alu.port );
   
  for i in 1:n_Kapazitaten loop
    connect(Conductors[i].port_a,Capacitors[i].port);
    connect(Capacitors[i].port,Conductors[i+1].port_b);
  end for;
  connect(Conductors[n_Kapazitaten+1].port_a,PrescribedTemperature1.port);
  for i in n_Kapazitaten:2*n_Kapazitaten loop
    connect(Conductors[i].port_a,Capacitors[i].port);
    connect(Capacitors[i].port,Conductors[i+1].port_b);
  end for;
  connect(Conductors[2*n_Kapazitaten+2].port_a,PrescribedTemperature2.port);
  for i in 2*n_Kapazitaten:3*n_Kapazitaten loop
    connect(Conductors[i].port_a,Capacitors[i].port);
    connect(Capacitors[i].port,Conductors[i+1].port_b);
  end for;
  connect(Conductors[3*n_Kapazitaten+3].port_a,PrescribedTemperature3.port);
  for i in 3*n_Kapazitaten:4*n_Kapazitaten loop
    connect(Conductors[i].port_a,Capacitors[i].port);
    connect(Capacitors[i].port,Conductors[i+1].port_b);
  end for;
  connect(Conductors[4*n_Kapazitaten+4].port_a,PrescribedTemperature4.port);
end  SimModelcode;