MultiBondLib.Passive

Passive elements of the Modelica multibond library

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'.

Package Content

NameDescription
MultiBondLib.Passive.C C multibondgraphic capacitor
MultiBondLib.Passive.CF CF multibondgraphic capacitive field
MultiBondLib.Passive.G G multibondgraphic conductrance
MultiBondLib.Passive.GF GF multibondgraphic conductive field
MultiBondLib.Passive.I I multibondgraphic inductance
MultiBondLib.Passive.IF IF multibondgraphic inductive field
MultiBondLib.Passive.mTF_effort mTF_effort modulated multibondgraphic effort transformator
MultiBondLib.Passive.mTF_flow mTF_flow modulated multibondgraphic flow transformator
MultiBondLib.Passive.R R multibondgraphic resistance
MultiBondLib.Passive.RF RF multibondgraphic resistive field
MultiBondLib.Passive.TF2_effort TF2_effort projective multibondgraphic effort transformator
MultiBondLib.Passive.TF2_flow TF2_flow projective multibondgraphic flow transformator
MultiBondLib.Passive.TF_effort TF_effort multibondgraphic effort transformator
MultiBondLib.Passive.TF_flow TF_flow multibondgraphic flow transformator
MultiBondLib.Passive.SGY SGY symplectic gyrator
MultiBondLib.Passive.GY_effort GY_effort multibondgraphic effort gyrator
MultiBondLib.Passive.GY_flow 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

TypeNameDefaultDescription
IntegernNCardinality of Bond connection
RealC[:]{1}Bondgraphic Capacitances

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 

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");
  
  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

TypeNameDefaultDescription
IntegernNCardinality of Bond connection
RealC[n, n][1]Bondgraphic Capacitive Field

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connection
RealG[:]{1}Bondgraphic Conductances

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 

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");
  
  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

TypeNameDefaultDescription
IntegernNCardinality of Bond connection
RealG[n, n][1]Bondgraphic Conductive Field

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connection
RealI[:]{1}Bondgraphic Inductances

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connection
RealI[n, n][1]Inductive Field

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connections

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 
MultiBondConMultiBondCon2 
RealSignalM[n, n]transformation matrix

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connections

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 
MultiBondConMultiBondCon2 
RealSignalM[n, n]transformation matrix

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connection
RealR[:]{1}Bondgraphic Resistances

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 

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");
  
  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

TypeNameDefaultDescription
IntegernNCardinality of Bond connection
RealR[n, n][1]Bondgraphic Resistive Field

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 

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

TypeNameDefaultDescription
IntegernANCardinality of Bond connection A
IntegernBNCardinality of Bond connection B
RealM[nB, nA]{{1}}transformation matrix

Connectors

TypeNameDescription
MultiBondConMultiBondConA 
MultiBondConMultiBondConB 

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

TypeNameDefaultDescription
IntegernANCardinality of Bond connection A
IntegernBNCardinality of Bond connection B
RealM[nB, nA]{{1}}transformation matrix

Connectors

TypeNameDescription
MultiBondConMultiBondConA 
MultiBondConMultiBondConB 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connections
RealM[n, n]{{1}}transformation matrix

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 
MultiBondConMultiBondCon2 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connections
RealM[n, n]{{1}}transformation matrix

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 
MultiBondConMultiBondCon2 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connections

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 
MultiBondConMultiBondCon2 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connections
RealM[n, n]{{1}}transformation matrix

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 
MultiBondConMultiBondCon2 

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

TypeNameDefaultDescription
IntegernNCardinality of Bond connections
RealM[n, n]{{1}}transformation matrix

Connectors

TypeNameDescription
MultiBondConMultiBondCon1 
MultiBondConMultiBondCon2 

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 Aug 31 09:47:33 2006.