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

问题描述

我尝试在Modelica中实现代码。我在以“参数Integer n_Kapazitaten = 3”开头的行中收到以下错误

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

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},rotation = 0)));
  Modelica.Thermal.HeatTransfer.sources.FixedTemperature PrescribedTemperature2(T = 300) annotation(
      Placement(visible = true,rotation = 0)));
  Modelica.Thermal.HeatTransfer.sources.FixedTemperature PrescribedTemperature3(T = 300) annotation(
      Placement(visible = true,rotation = 0)));
  Modelica.Thermal.HeatTransfer.sources.FixedTemperature PrescribedTemperature4(T = 300) annotation(
      Placement(visible = true,rotation = 0)));
  Modelica.Thermal.HeatTransfer.Components.HeatCapacitor Alu(C = 0.5438) annotation(
      Placement(visible = true,rotation = 0)));
  Modelica.Thermal.HeatTransfer.Components.HeatCapacitor Capacitors[4*n_Kapazitaten](C =heatcapacity) annotation(
      Placement(visible = true,rotation = 0)));
  Modelica.Thermal.HeatTransfer.Components.ThermalConductor Conductors[4*n_Kapazitaten+4](G=thermalconductance) annotation(
      Placement(visible = true,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,{16,40},40}},color = {191,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,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,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,Conductors[i+1].port_b);
  end for;
  connect(Conductors[4*n_Kapazitaten+4].port_a,PrescribedTemperature4.port);
end  SimModelcode;

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

解决方法

您在第2、47、48行的末尾错过了分号(;),并在第49行的末尾添加了斜杠(/)。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...