의 매개 변수 하나만 변경하면 전달할 때 다른 변수에 대한 모든 등식을 명시 적으로 작성하지 않고도 변수 집합 중 하나의 변수 만 수정하고 싶습니다.Modelica - 복잡한 커넥터가있는 complexe 유형 커넥터
연결 문과 하나의 특정 변수를 덮어 쓰는 것이 이상적입니다.
class FluidClass
String name(start="name")"name";
Real fl(start=1000)"flow [l/h]";
Real p(start=1)"pressure [bar]";
Real T(start=25)"temperature [degC]";
Real DS(start=80)"dry substance [%]";
Real rho(start=100)"viscosity [mPas]";
end FluidClass;
connector fl "flow"
extends FluidClass;
end fl;
model setParam "set parameter"
fl fli annotation(Placement(
transformation(extent={{-5,-5},{5,5}}),
iconTransformation(extent={{-105,-5},{-95,5}})));
fl flo "flow output" annotation(Placement(
transformation(extent={{-50,0},{-40,10}}),
iconTransformation(extent={{95,-5},{105,5}})));
input Modelica.Blocks.Interfaces.RealInput u "set value";
parameter EnumType1 var "variable to change";
type EnumType1 = enumeration(
fl "Flow rate",
p "Pressure",
T "Temperature",
DS "Dry substance",
rho "Viscosity");
equation
// enter your equations here
if var ==1 then //flow
flo.name=fli.name;
flo.fl=u;
flo.p=fli.p;
flo.T=fli.T;
flo.DS=fli.DS;
flo.rho=fli.rho;
end if;
if var ==2 then //pressure
flo.name=fli.name;
flo.fl=fli.fl;
flo.p=u;
flo.T=fli.T;
flo.DS=fli.DS;
flo.rho=fli.rho;
end if;
if var ==3 then //temperature
flo.name=fli.name;
flo.fl=fli.fl;
flo.p=fli.p;
flo.T=u;
flo.DS=fli.DS;
flo.rho=fli.rho;
end if;
if var ==4 then //DS
flo.name=fli.name;
flo.fl=fli.fl;
flo.p=fli.p;
flo.T=fli.T;
flo.DS=u;
flo.rho=fli.rho;
end if;
if var ==5 then //viscosity
flo.name=fli.name;
flo.fl=fli.fl;
flo.p=fli.p;
flo.T=fli.T;
flo.DS=fli.DS;
flo.rho=u;
end if;
end setParam;
매우 도움을 주셔서 감사합니다.
안녕하세요. 마이클, 귀하의 저의 답변을 많이 보았고 그물을 통해 작품 몇 개를 읽었을 때 기쁜 답입니다. – Geronimo
사실, 저는 유동적 인 서술서로 약간 놀았지만, 단지 압도 당했고 게다가 그들의 적절한 사용을 이해하지 못했거나 실행시키지 못했습니다. 내가하고있는 일은 동료들로부터 탁월한 성과를 얻으려고 노력하고 있으며, OO 접근 방식과 동적 구성 요소를 통해 더 적절하다고 판단한 도구를 사용하여 모델을 면밀히 검사 할 수 있습니다. – Geronimo
나는 Modelica와 함께 그것을 발견하고 주제에 "더 매끄러운"소개를하기를 희망하면서 너무 정확한 사실로 과부하하지 않고 내 자신의 서지를 구축하려고했습니다. 우리가 지금하고있는 일에 첫 발걸음을 내딛어서 지금 그것을 극도로 제한하십시오. "주류"소프트웨어만큼 도움이되지 않으므로 학습 곡선이 다른 소프트웨어 도구보다 훨씬 편합니다. 그러나 다시 한 번 감사의 말씀을 전하고 귀하의 조언을 따르도록하겠습니다. – Geronimo