The classic 0- and 1-junctions are offered in two variants with eight or four connectors. Unused connectors are ignored and do not corrupt the model. Giant junctions can be constructed by connecting two junctions of the same sex via a multibond.
All connectors of the classic junctions do have the same cardinality, which can be set by a parameter.
There are also partial 0- or 1-junctions. Such a junction allows a multibond to intrude into a path of multibonds with higher cardinality.
Name | Description |
---|---|
J0 | Model of a standard 0-junction with up to 4 ports |
J0large | Model of a large 0-junction with up to 8 ports |
J0Partial | Model of a partial 3-Port 0-junction |
J1 | Model of a standard 1-junction with up to 4 ports |
J1large | Model of a large 1-junction with up to 8 ports |
J1Partial | Model of a partial 3-Port 1-junction |
All connectors of the junction do have the same cardinality, which can be set by an parameter.
Name | Default | Description |
---|---|---|
n | N | Cardinality of Bond connections |
model J0 "Model of a standard 0-junction with up to 4 ports" extends Interfaces.FourPortZero; equation e2 = e1; e3 = e1; e4 = e1; f1 + f2 + f3 +f4 = zeros(n); end J0;
All connectors of the junction do have the same cardinality, which can be set by an parameter.
Name | Default | Description |
---|---|---|
n | N | Cardinality of Bond connections |
model J0large "Model of a large 0-junction with up to 8 ports" extends Interfaces.EightPortZero; equation e2 = e1; e3 = e1; e4 = e1; e5 = e1; e6 = e1; e7 = e1; e8 = e1; f1 + f2 + f3 +f4 + f5 + f6 + f7 + f8= zeros(n); end J0large;
A small multibond with cardinality nPartial is intruding a path of multibonds of cardinality n. The bonds of the small multibond are then connected to some of the other bonds by a 0-junction.
The exact junction behaviour can be specified by the parameter "order". This has to be a permutation vector of size n. The single bonds of the small multibond are then connected to the first nPartial bonds, denoted by the permutation vector.
The functionality of this junction can be emulated by the usage of compositon, permutation and junction elements. The figure below shows the equivalent graph.
Name | Default | Description |
---|---|---|
n | N | Cardinality throughgoing Bond connections |
nPartial | 1 | Cardinality of intruding Bond connection (<=n) |
order[n] | {1} |
model J0Partial "Model of a partial 3-Port 0-junction" final parameter Integer N = MBG_defaults.n; parameter Integer n = N "Cardinality throughgoing Bond connections"; parameter Integer nPartial = 1 "Cardinality of intruding Bond connection (<=n)"; Interfaces.MultiBondCon MultiBondCon1(n=n); Interfaces.MultiBondCon MultiBondCon2(n=n); Interfaces.MultiBondCon MultiBondCon3(n=nPartial); parameter Integer order[n] = {1}; protected outer Defaults MBG_defaults; equation for i in 1:nPartial loop // if i <= nPartial then MultiBondCon2.e[order[i]] = MultiBondCon1.e[order[i]]; MultiBondCon3.e[i] = MultiBondCon1.e[order[i]]; MultiBondCon1.d*MultiBondCon1.f[order[i]]+MultiBondCon2.d*MultiBondCon2.f[order[i]]+MultiBondCon3.d*MultiBondCon3.f[i]=0; // else // end if; end for; for i2 in (nPartial+1):n loop MultiBondCon2.e[order[i2]] = MultiBondCon1.e[order[i2]]; MultiBondCon1.d*MultiBondCon1.f[order[i2]]+MultiBondCon2.d*MultiBondCon2.f[order[i2]]=0; end for; end J0Partial;
All connectors of the junction do have the same cardinality, which can be set by an parameter.
Name | Default | Description |
---|---|---|
n | N | Cardinality of Bond connections |
model J1 "Model of a standard 1-junction with up to 4 ports" extends Interfaces.FourPortOne; equation e1+e2+e3+e4 = zeros(n); f1 = f2; f1 = f3; f1 = f4; end J1;
All connectors of the junction do have the same cardinality, which can be set by an parameter.
Name | Default | Description |
---|---|---|
n | N | Cardinality of Bond connections |
model J1large "Model of a large 1-junction with up to 8 ports" extends Interfaces.EightPortOne; equation e1 + e2 + e3 +e4 + e5 + e6 + e7 + e8= zeros(n); f2 = f1; f3 = f1; f4 = f1; f5 = f1; f6 = f1; f7 = f1; f8 = f1; end J1large;
A small multibond with cardinality nPartial is intruding a path of multibonds of cardinality n. The bonds of the small multibond are then connected to some of the other bonds by a 1-junction.
The exact junction behaviour can be specified by the parameter "order". This has to be a permutation vector of size n. The single bonds of the small multibond are then connected to the first nPartial bonds, denoted by the permutation vector.
The functionality of this junction is similar to the partial 0-junction.
Name | Default | Description |
---|---|---|
n | N | Cardinality of through going Bond connections |
nPartial | N | Cardinality of intruding Bond connection (<=n) |
order[n] | {1} |
model J1Partial "Model of a partial 3-Port 1-junction" final parameter Integer N = MBG_defaults.n; parameter Integer n = N "Cardinality of through going Bond connections"; parameter Integer nPartial = N "Cardinality of intruding Bond connection (<=n)"; Interfaces.MultiBondCon MultiBondCon1(n=n); Interfaces.MultiBondCon MultiBondCon2(n=n); Interfaces.MultiBondCon MultiBondCon3(n=nPartial); parameter Integer order[n] = {1}; protected outer Defaults MBG_defaults; equation for i in 1:nPartial loop MultiBondCon2.f[order[i]] = MultiBondCon1.f[order[i]]; MultiBondCon3.f[i] = MultiBondCon1.f[order[i]]; MultiBondCon1.d*MultiBondCon1.e[order[i]]+MultiBondCon2.d*MultiBondCon2.e[order[i]]+MultiBondCon3.d*MultiBondCon3.e[i]=0; end for; for i2 in (nPartial+1):n loop MultiBondCon2.f[order[i2]] = MultiBondCon1.f[order[i2]]; MultiBondCon1.d*MultiBondCon1.e[order[i2]]+MultiBondCon2.d*MultiBondCon2.e[order[i2]]=0; end for; end J1Partial;