Connectors and Connector Classes
connector Pin // connector class, electrical connector
voltage v;
flow Current i; // keyword flow : indicates that currents of connected pins sum to zero.
end Pin;
Pin pin; //an instance pin of class pin
Flow 의 경우 부호와 관련이 깊다. 방향에 상관이 있는 계수의 경우 Flow로 지정해 준다.
connector Flange // connector class
Position s;
flow Force f;
end Flange;
Flange flange; // an instance flange of class Flange
Flow 변수와 비Flow 변수가 있다.
Non Flow variables : potential or temperature ...
Flow variables :
Couping
Equality coupling for non-flow variables.
온도같은 경우 하나의 물체에서 다른 연결된 물체의 온도와 같아지는것과 같음.
Sum-to-zero coupling, for fow variables.
열적인 시스템에 있어서 한 시스템에서의 나가는 온도와 들어오는 온도가 같을때 0 이 되는것을 보았을때 sum-to-zero 라고 볼 수 있다.
모델리카에서의 여러가지 시스템
connect (connector1, connector2)
// 두개의 connect 식은 connectors에 참조되어야 하며, 같은 클래스나 멤버로써 선언되어야 한다.
/*
connect(pin1, pin2);
pin1.v = pin2.v;
pin1.i + pin2,i = 0;
*/
Connector간의 연결
- 여러개의 연결 가능
- non-flow 의 경우 v1 = v2 = v3 = .... = vn
- flow 의 경우 i1 + i2 + ... + in = 0
전기적인 시스템에 있어서 대부분 positive pin과 negative pin 을 가지고 있다 ( +, -)
두개의 핀을 갖고 있는 시스템을 base로 만들어 놓고, 다른 컴포넌트 시스템을 만들 때, base를 가지고 와서 만들 수 있다. 작동 메커니즘이 p와 n사이의 현상들이 각각 다르겠지만, base를 만들어놓고 식만 대입하면 되기때문에 base를 만들어 놓는다고 말할 수 있다.
partial model TwoPin // partial class (cannot be instantiated)
Voltage v
Current i
Pin p;
Pin n;
equation
v = p*v - n*v;
0 = p*i + n*i;
i = p*i;
end TwoPin;
본 TwoPin을 가져오는 코드는 다음과 같다.
model Resistor "Ideal electrical resistor"
extends TwoPin;
parameter Real R;
equation
R*i = v;
end Resistor;
위의 모델의 경우 저항기의 equation을 적용시킬 수 있었지만 추가적으로 Inductor 및 Capacitor등의 equation을 적용시킨다면 p와 n의 사이의 관계에 대한 적용 모델을 쉽게 만들 수 있다.
ex) inductor의 경우 : L*der(i) = v; / capacitor의 경우 : i = C*der(v);