MultiBondLib.Passive

Passive elements of the Modelica multibond library

MultiBondLib.Passive.C MultiBondLib.Passive.CF MultiBondLib.Passive.G MultiBondLib.Passive.GF MultiBondLib.Passive.I MultiBondLib.Passive.IF MultiBondLib.Passive.mTF_effort MultiBondLib.Passive.mTF_flow MultiBondLib.Passive.R MultiBondLib.Passive.RF MultiBondLib.Passive.TF2_effort MultiBondLib.Passive.TF2_flow MultiBondLib.Passive.TF_effort MultiBondLib.Passive.TF_flow MultiBondLib.Passive.SGY MultiBondLib.Passive.GY_effort MultiBondLib.Passive.GY_flow

Information


This package contains passive bond graphic elements:

In contrast to the classic BondLib, passive field elements are modelled as multibondgraphic one-ports. Transformators and Gyrators are modelled always as two-ports. This allows a most natural usage. Even though the field elements provide the most general solution, use the non-field elements whenever possible, because this leads to better equations.

The mnemonic code of modulated elements is preceeded by the letter 'm'.

NameDescription
C multibondgraphic capacitor
CF multibondgraphic capacitive field
G multibondgraphic conductrance
GF multibondgraphic conductive field
I multibondgraphic inductance
IF multibondgraphic inductive field
mTF_effort modulated multibondgraphic effort transformator
mTF_flow modulated multibondgraphic flow transformator
R multibondgraphic resistance
RF multibondgraphic resistive field
TF2_effort projective multibondgraphic effort transformator
TF2_flow projective multibondgraphic flow transformator
TF_effort multibondgraphic effort transformator
TF_flow multibondgraphic flow transformator
SGY symplectic gyrator
GY_effort multibondgraphic effort gyrator
GY_flow multibondgraphic flow gyrator


MultiBondLib.Passive.C MultiBondLib.Passive.C

multibondgraphic capacitor

MultiBondLib.Passive.C

Information


This is the model of the multibondgraphic capacitance.

It implements the following relation between the bondgraphic effort and flow:

The effort is proportional to the integrated flow
or:
f = C .* der(e); where C is a vector or a scalar and .* denotes an elementwise multiplication.

The cardinality of the element can be set by the parameter n.
The capacitance can be specified by the vector C of length n or of length 1. In the latter case, the capacitance C is treaten like a scalar.


Parameters

NameDefaultDescription
nNCardinality of Bond connection
C[:]{1}Bondgraphic Capacitances

Modelica definition

model C "multibondgraphic capacitor" 
        extends Interfaces.PassiveOnePort;
  parameter Real[:] C={1} "Bondgraphic Capacitances";
protected 
  parameter Real[n] Cvec = if size(C,1) == n then C else ones(n)*C[1];
equation 
  assert((size(C,1) == n) or (size(C,1) == 1),"C must be of length 1 or n");
//  f = diagonal(Cvec)*der(e);
//  f = Cvec.*der(e);
  for i in 1:n loop
    f[i] = Cvec[i]*der(e[i]);
  end for;
end C;

MultiBondLib.Passive.CF MultiBondLib.Passive.CF

multibondgraphic capacitive field

MultiBondLib.Passive.CF

Information


This is the model of the multibondgraphic capacitive field

It implements the following relation between the bondgraphic effort and flow vectors:

The effort is linear dependent on the integrated flow
or:
f = C * der(e); where C is a n x n matrix.

The cardinality of the element can be set by the parameter n.
The capacitve field can be specified by the matrix C of size n x n. Please note that C should be a symmetric matrix.


Parameters

NameDefaultDescription
nNCardinality of Bond connection
C[n, n][1]Bondgraphic Capacitive Field

Modelica definition

model CF "multibondgraphic capacitive field" 
        extends Interfaces.PassiveOnePort;
  parameter Real[n,n] C=[1] "Bondgraphic Capacitive Field";
equation 
  f = C*der(e);
end CF;

MultiBondLib.Passive.G MultiBondLib.Passive.G

multibondgraphic conductrance

MultiBondLib.Passive.G

Information


This is the model of the multibondgraphic conductance

It implements the following relation between the bondgraphic effort and flow:

The flow is proportional to the effort
or:
f = G .* e; where G is a vector or a scalar and .* denotes an elementwise multiplication.

The cardinality of the element can be set by the parameter n.
The conductance can be specified by the vector G of length n or of length 1. In the latter case, the capacitance G is treaten like a scalar.


Parameters

NameDefaultDescription
nNCardinality of Bond connection
G[:]{1}Bondgraphic Conductances

Modelica definition

model G "multibondgraphic conductrance" 
         extends Interfaces.PassiveOnePort;
  parameter Real[:] G={1} "Bondgraphic Conductances";
protected 
  parameter Real[n] Gvec = if size(G,1) == n then G else ones(n)*G[1];
equation 
  assert((size(G,1) == n) or (size(G,1) == 1),"G must be of length 1 or n");
//  f = diagonal(Gvec)*e;
//  f = Gvec.*e;
  for i in 1:n loop
    f[i] = Gvec[i]*e[i];
  end for;
  
end G;

MultiBondLib.Passive.GF MultiBondLib.Passive.GF

multibondgraphic conductive field

MultiBondLib.Passive.GF

Information


This is the model of the multibondgraphic conductive field

It implements the following relation between the bondgraphic effort and flow vectors:

The flow is linear dependent on the effort
or:
f = G * e; where G is a n x n matrix.

The cardinality of the element can be set by the parameter n.
The conductive field can be specified by the matrix G of size n x n. Please note that G should be a symmetric matrix.


Parameters

NameDefaultDescription
nNCardinality of Bond connection
G[n, n][1]Bondgraphic Conductive Field

Modelica definition

model GF "multibondgraphic conductive field" 
         extends Interfaces.PassiveOnePort;
  parameter Real[n,n] G=[1] "Bondgraphic Conductive Field";
equation 
  f = G*e;
  
end GF;

MultiBondLib.Passive.I MultiBondLib.Passive.I

multibondgraphic inductance

MultiBondLib.Passive.I

Information


This is the model of the multibondgraphic inductance.

It implements the following relation between the bondgraphic effort and flow:

The flow is proportional to the integrated effort
or:
e = I .* der(f); where I is a vector or a scalar and .* denotes an elementwise multiplication.

The cardinality of the element can be set by the parameter n.
The inductance can be specified by the vector I of length n or of length 1. In the latter case, the capacitance I is treaten like a scalar.


Parameters

NameDefaultDescription
nNCardinality of Bond connection
I[:]{1}Bondgraphic Inductances

Modelica definition

model I "multibondgraphic inductance" 
        extends Interfaces.PassiveOnePort;
  parameter Real[:] I={1} "Bondgraphic Inductances";
protected 
  parameter Real[n] Ivec = if size(I,1) == n then I else ones(n)*I[1];
equation 
  assert((size(I,1) == n) or (size(I,1) == 1),"I must be of length 1 or n");
  for i in 1:n loop
    e[i] = Ivec[i]*der(f[i]);
  end for;
end I;

MultiBondLib.Passive.IF MultiBondLib.Passive.IF

multibondgraphic inductive field

MultiBondLib.Passive.IF

Information


This is the model of the multibondgraphic inductive field

It implements the following relation between the bondgraphic effort and flow vectors:

The flow is linear dependent on the integrated effort
or:
e = I * der(f); where I is a n x n matrix.

The cardinality of the element can be set by the parameter n.
The inductive field can be specified by the matrix I of size n x n. Please note that I should be a symmetric matrix.


Parameters

NameDefaultDescription
nNCardinality of Bond connection
I[n, n][1]Inductive Field

Modelica definition

model IF "multibondgraphic inductive field" 
         extends Interfaces.PassiveOnePort;
  parameter Real[n,n] I=[1] "Inductive Field";
  
equation 
  e = I*der(f);
  
end IF;

MultiBondLib.Passive.mTF_effort MultiBondLib.Passive.mTF_effort

modulated multibondgraphic effort transformator

MultiBondLib.Passive.mTF_effort

Parameters

NameDefaultDescription
nNCardinality of Bond connections

Modelica definition

model mTF_effort "modulated multibondgraphic effort transformator" 
  extends Interfaces.TwoPort;
  Interfaces.RealSignal M[n,n] "transformation matrix";
equation 
  e2 = M*e1;
  f1 = transpose(M)*f2;
end mTF_effort;

MultiBondLib.Passive.mTF_flow MultiBondLib.Passive.mTF_flow

modulated multibondgraphic flow transformator

MultiBondLib.Passive.mTF_flow

Parameters

NameDefaultDescription
nNCardinality of Bond connections

Modelica definition

model mTF_flow "modulated multibondgraphic flow transformator" 
  extends Interfaces.TwoPort;
  Interfaces.RealSignal M[n,n] "transformation matrix";
equation 
    f2 = M*f1;
    e1 = transpose(M)*e2;
end mTF_flow;

MultiBondLib.Passive.R MultiBondLib.Passive.R

multibondgraphic resistance

MultiBondLib.Passive.R

Information


This is the model of the multibondgraphic resistance

It implements the following relation between the bondgraphic effort and flow:

The effort is proportional to the flow
or:
e = R .* f; where R is a vector or a scalar and .* denotes an elementwise multiplication.

The cardinality of the element can be set by the parameter n.
The resistance can be specified by the vector R of length n or of length 1. In the latter case, the capacitance R is treaten like a scalar.


Parameters

NameDefaultDescription
nNCardinality of Bond connection
R[:]{1}Bondgraphic Resistances

Modelica definition

model R "multibondgraphic resistance" 
         extends Interfaces.PassiveOnePort;
  parameter Real[:] R={1} "Bondgraphic Resistances";
protected 
  parameter Real[n] Rvec = if size(R,1) == n then R else ones(n)*R[1];
equation 
  assert((size(R,1) == n) or (size(R,1) == 1),"R must be of length 1 or n");
//  e = diagonal(Rvec)*f;
//  e = Rvec.*f;
  for i in 1:n loop
    e[i] = Rvec[i]*f[i];
  end for;
  
end R;

MultiBondLib.Passive.RF MultiBondLib.Passive.RF

multibondgraphic resistive field

MultiBondLib.Passive.RF

Information


This is the model of the multibondgraphic resistive field

It implements the following relation between the bondgraphic effort and flow vectors:

The effort is linear dependent on the flow
or:
e = R * f; where R is a n x n matrix.

The cardinality of the element can be set by the parameter n.
The resistive field can be specified by the matrix R of size n x n. Please note that R should be a symmetric matrix.


Parameters

NameDefaultDescription
nNCardinality of Bond connection
R[n, n][1]Bondgraphic Resistive Field

Modelica definition

model RF "multibondgraphic resistive field" 
         extends Interfaces.PassiveOnePort;
  parameter Real[n,n] R=[1] "Bondgraphic Resistive Field";
equation 
  e = R*f;
end RF;

MultiBondLib.Passive.TF2_effort MultiBondLib.Passive.TF2_effort

projective multibondgraphic effort transformator

MultiBondLib.Passive.TF2_effort

Information


This is the model of the projective multibondgraphic effort transformator. This is a two-port element, where
both connectors are of different cardinality. The bond on side A must be of cardinality nA 
and the bond on side B of cardinality nB.

The bondgraphic effort is projected by the matrix M in direction of the arrow
or:
eA = M * der(eB) and
fB = transpose(M) * der(fA);
where M is a nB x nA matrix.

The cardinality of the two ports can be set by the parameters nA and nB.
The transformation can be specified by the matrix M of size nB x nA.


Parameters

NameDefaultDescription
nANCardinality of Bond connection A
nBNCardinality of Bond connection B
M[nB, nA]{{1}}transformation matrix

Modelica definition

model TF2_effort "projective multibondgraphic effort transformator" 
  extends Interfaces.TwoDiffPort;
  parameter Real[nB,nA] M = {{1}} "transformation matrix";
equation 
  eB = M*eA;
  fA = transpose(M)*fB;
end TF2_effort;

MultiBondLib.Passive.TF2_flow MultiBondLib.Passive.TF2_flow

projective multibondgraphic flow transformator

MultiBondLib.Passive.TF2_flow

Information


This is the model of the projective multibondgraphic flow transformator. This is a two-port element, where
both connectors are of different cardinality. The bond on side A must be of cardinality nA 
and the bond on side B of cardinality nB.

The bondgraphic flow is projected by the matrix M in direction of the arrow
or:
fA = M * der(fB) and
eB = transpose(M) * der(eA);
where M is a nB x nA matrix.

The cardinality of the two ports can be set by the parameters nA and nB.
The transformation can be specified by the matrix M of size nB x nA.


Parameters

NameDefaultDescription
nANCardinality of Bond connection A
nBNCardinality of Bond connection B
M[nB, nA]{{1}}transformation matrix

Modelica definition

model TF2_flow "projective multibondgraphic flow transformator" 
  extends Interfaces.TwoDiffPort;
  parameter Real[nB,nA] M = {{1}} "transformation matrix";
equation 
  fB = M*fA;
  eA = transpose(M)*eB;
end TF2_flow;

MultiBondLib.Passive.TF_effort MultiBondLib.Passive.TF_effort

multibondgraphic effort transformator

MultiBondLib.Passive.TF_effort

Information


This is the model of the multibondgraphic effort transformator. This is a two-port element, where
both connectors are of the same cardinality.

The bondgraphic effort is transformed by the matrix M in direction of the arrow
or:
e2 = M * der(e1) and
f1 = transpose(M) * der(f2);
where M is a n x n matrix.

The cardinality of the element can be set by the parameter n. Both connectors have this cardinality.
The transformation can be specified by the matrix M of size n x n. Please note, that the offdiagonal part of M should be an antisymmetric matrix.


Parameters

NameDefaultDescription
nNCardinality of Bond connections
M[n, n]{{1}}transformation matrix

Modelica definition

model TF_effort "multibondgraphic effort transformator" 
  extends Interfaces.TwoPort;
  parameter Real[n,n] M = {{1}} "transformation matrix";
equation 
  e2 = M*e1;
  f1 = transpose(M)*f2;
end TF_effort;

MultiBondLib.Passive.TF_flow MultiBondLib.Passive.TF_flow

multibondgraphic flow transformator

MultiBondLib.Passive.TF_flow

Information


This is the model of the multibondgraphic flow transformator. This is a two-port element, where
both connectors are of the same cardinality.

The bondgraphic flow is transformed by the matrix M in direction of the arrow
or:
f2 = M * der(f1) and
e1 = transpose(M) * der(e2);
where M is a n x n matrix.

The cardinality of the element can be set by the parameter n. Both connectors have this cardinality.
The transformation can be specified by the matrix M of size n x n. Please note, that the offdiagonal part of M should be an antisymmetric matrix.


Parameters

NameDefaultDescription
nNCardinality of Bond connections
M[n, n]{{1}}transformation matrix

Modelica definition

model TF_flow "multibondgraphic flow transformator" 
  
  extends Interfaces.TwoPort;
  parameter Real[n,n] M = {{1}} "transformation matrix";
  final parameter Boolean transformFlow = true "tue, if the matrix describes the transformation of the flow.
Otherwise the effort is transformed";
equation 
    f2 = M*f1;
    e1 = transpose(M)*e2;
end TF_flow;

MultiBondLib.Passive.SGY MultiBondLib.Passive.SGY

symplectic gyrator

MultiBondLib.Passive.SGY

Information


This is the model of the symplectic gyrator.This is a two-port element, where
both connectors are of the same cardinality.
This element can be used in partially dualized bondgraphs.

The bondgraphic effort and flow are switched between the ports.
or:
e2 = f1 and
f2 = e1;

The cardinality of the two ports can be set by the parameter n.


Parameters

NameDefaultDescription
nNCardinality of Bond connections

Modelica definition

model SGY "symplectic gyrator" 
  extends Interfaces.TwoPort;
equation 
  f2 = e1;
  f1 = e2;
end SGY;

MultiBondLib.Passive.GY_effort MultiBondLib.Passive.GY_effort

multibondgraphic effort gyrator

MultiBondLib.Passive.GY_effort

Information


This is the model of the multibondgraphic effort gyrator. This is a two-port element, where
both connectors are of the same cardinality.

The bondgraphic effort is transformed by the matrix M into bondgraphic flow in direction of the arrow
or:
f2 = M * der(e1) and
f1 = transpose(M) * der(e2);
where M is a n x n matrix.

The cardinality of the element can be set by the parameter n. Both connectors have this cardinality.
The gyrator can be specified by the matrix M of size n x n. Please note, that the offdiagonal part of M should be an antisymmetric matrix.


Parameters

NameDefaultDescription
nNCardinality of Bond connections
M[n, n]{{1}}transformation matrix

Modelica definition

model GY_effort "multibondgraphic effort gyrator" 
  extends Interfaces.TwoPort;
  parameter Real[n,n] M = {{1}} "transformation matrix";
equation 
  f2 = M*e1;
  f1 = transpose(M)*e2;
end GY_effort;

MultiBondLib.Passive.GY_flow MultiBondLib.Passive.GY_flow

multibondgraphic flow gyrator

MultiBondLib.Passive.GY_flow

Information


This is the model of the multibondgraphic flow gyrator. This is a two-port element, where
both connectors are of the same cardinality.

The bondgraphic flow is transformed by the matrix M into bondgraphic effort in direction of the arrow
or:
e2 = M * der(f1) and
e1 = transpose(M) * der(f2);
where M is a n x n matrix.

The cardinality of the element can be set by the parameter n. Both connectors have this cardinality.
The gyrator can be specified by the matrix M of size n x n. Please note, that the offdiagonal part of M should be an antisymmetric matrix.


Parameters

NameDefaultDescription
nNCardinality of Bond connections
M[n, n]{{1}}transformation matrix

Modelica definition

model GY_flow "multibondgraphic flow gyrator" 
  extends Interfaces.TwoPort;
  parameter Real[n,n] M = {{1}} "transformation matrix";
equation 
  e2 = M*f1;
  e1 = transpose(M)*f2;
end GY_flow;

HTML-documentation generated by Dymola Thu Feb 23 12:19:31 2006.