Something went wrong on our end
-
Peter Wagenhuber authored
droplet grund sequenz mal soweit fertig. jetzt kommt noch der check ob die droplets sich auch nicht gegenseitig auffressen
Peter Wagenhuber authoreddroplet grund sequenz mal soweit fertig. jetzt kommt noch der check ob die droplets sich auch nicht gegenseitig auffressen
TestNloc.java 10.31 KiB
package nloc;
import java.util.List;
import java.util.ArrayList;
import java.util.ListIterator;
import java.util.Arrays;
public class TestNloc {
public static void main(String[] args) {
Nloc nloc0 = new Nloc(getNloc0());
Nloc nloc1 = new Nloc(getNloc1());
Nloc nloc2 = new Nloc(getNloc2());
Nloc nloc3 = new Nloc(getNloc3());
Nloc nloc4 = new Nloc(getNloc4());
try {
Pump pump = nloc4.generateDropletSequence(Arrays.asList("m0","m2","m5"));
List<Droplet> startList = pump.getNormalizedSortedDropletList();
String[] printsequence = new String[startList.get(startList.size()-1).getPosition().getSteps()];
for (Droplet dr: startList) {
switch (dr.getType()) {
case PAYLOAD: printsequence[dr.getPosition().getSteps() - 1] = "P";
break;
case HEADER: printsequence[dr.getPosition().getSteps() - 1] = "H";
break;
}
}
System.out.println("Droplet Sequence:");
for (int i = 0; i < printsequence.length; i++) {
if (printsequence[i] == null) {
printsequence[i] = "-";
}
System.out.print(printsequence[i]);
}
System.out.println("");
} catch (NlocStructureException exc) {
System.out.println(exc.getMessage());
}
}
public static void printPath(List<Channel> path) {
for (Channel ch : path) {
System.out.print("ID: " + ch.getID() + " ");
}
System.out.println("");
}
public static void printPaths(List<List<Channel>> pathlist) {
System.out.println("Number of paths found: " + pathlist.size());
for (List<Channel> p : pathlist) {
printPath(p);
}
}
public static List<Channel> getNloc0() {
Channel chan0 = new Channel("ch0",6,6);
Channel chan1 = new Channel("ch1",8,8);
Channel chan2 = new Channel("ch2",9,9);
Channel chan3 = new Channel("ch3",11,12);
Channel chan4 = new Channel("ch4",19,21);
Channel chan5 = new Channel("ch5",5,5);
Channel chan6 = new Channel("ch6",8,8);
Channel chan7 = new Channel("ch7",9,10);
Channel chan8 = new Channel("ch8",25,28);
Module m0 = new Module("m0", 22,10);
Module m1 = new Module("m1", 10,10);
Pump p0 = new Pump();
Sink s0 = new Sink();
List<Channel> chanlist = Arrays.asList(chan0, chan1, chan2, chan3, chan4,
chan5, chan6, chan7, chan8, m0, m1, p0, s0);
p0.addChild(chan0);
chan0.addChild(chan1);
chan1.addChild(chan2);
chan1.addChild(chan3);
chan2.addChild(chan4);
chan3.addChild(chan5);
chan5.addChild(m0);
m0.addChild(chan6);
chan4.addChild(chan7);
chan6.addChild(chan7);
chan7.addChild(m1);
m1.addChild(chan8);
chan8.addChild(s0);
return chanlist;
}
public static List<Channel> getNloc1() {
Channel chan0 = new Channel("ch0",8,8);
Channel chan1 = new Channel("ch1",8,8);
Channel chan2 = new Channel("ch2",11,12);
Channel chan3 = new Channel("ch3",19,21);
Channel chan4 = new Channel("ch4",35,39);
Channel chan5 = new Channel("ch5",10,11);
Channel chan6 = new Channel("ch6",10,11);
Channel chan7 = new Channel("ch7",12,13);
Channel chan8 = new Channel("ch8",10,11);
Channel chan9 = new Channel("ch9",10,11);
Channel chan10 = new Channel("ch10",25,27);
Channel chan11 = new Channel("ch11",10,11);
Channel chan12 = new Channel("ch12",12,13);
Channel chan13 = new Channel("ch13",13,14);
Channel chan14 = new Channel("ch14",8,8);
Channel chan15 = new Channel("ch15",8,8);
Channel chan16 = new Channel("ch16",8,8);
Channel chan17 = new Channel("ch17",8,8);
Channel chan18 = new Channel("ch18",20,21);
Channel chan19 = new Channel("ch19",20,21);
Channel chan20 = new Channel("ch20",99,108);
Module m0 = new Module("m0", 12,10);
Module m1 = new Module("m1", 10,10);
Module m2 = new Module("m2", 12,10);
Module m3 = new Module("m3", 10,10);
Module m4 = new Module("m4", 10,10);
Pump p0 = new Pump();
Sink s0 = new Sink();
List<Channel> chanlist = Arrays.asList(chan0, chan1, chan2, chan3, chan4,
chan5, chan6, chan7, chan8, chan9, chan10, chan11, chan12, chan13,
chan14, chan15, chan16, chan17, chan18, chan19, chan20, m0, m1, m2,
m3, m4, p0, s0);
p0.addChild(chan0);
chan0.addChild(chan1);
chan0.addChild(chan2);
chan1.addChild(chan3);
chan3.addChild(m0);
m0.addChild(chan4);
chan4.addChild(chan20);
chan20.addChild(s0);
chan2.addChild(chan5);
chan5.addChild(chan6);
chan5.addChild(chan7);
chan6.addChild(chan8);
chan8.addChild(m1);
m1.addChild(chan10);
chan10.addChild(chan19);
chan19.addChild(chan20);
chan7.addChild(chan9);
chan9.addChild(m2);
m2.addChild(chan11);
chan11.addChild(chan12);
chan11.addChild(chan13);
chan12.addChild(chan14);
chan14.addChild(m3);
m3.addChild(chan16);
chan16.addChild(chan18);
chan18.addChild(chan19);
chan13.addChild(chan15);
chan15.addChild(m4);
m4.addChild(chan17);
chan17.addChild(chan18);
return chanlist;
}
public static List<Channel> getNloc2() {
Channel chan0 = new Channel("ch0",8,8);
Channel chan1 = new Channel("ch1",10,11);
Channel chan2 = new Channel("ch2",11,12);
Channel chan3 = new Channel("ch3",19,21);
Channel chan4 = new Channel("ch4",19,21);
Channel chan5 = new Channel("ch5",35,39);
Channel chan6 = new Channel("ch6",8,8);
Channel chan7 = new Channel("ch7",10,11);
Channel chan8 = new Channel("ch8",11,12);
Channel chan9 = new Channel("ch9",10,11);
Channel chan10 = new Channel("ch10",10,11);
Channel chan11 = new Channel("ch11",8,8);
Channel chan12 = new Channel("ch12",10,11);
Channel chan13 = new Channel("ch13",11,12);
Channel chan14 = new Channel("ch14",10,11);
Channel chan15 = new Channel("ch15",10,11);
Channel chan16 = new Channel("ch16",13,14);
Module m0 = new Module("m0", 12,10);
Module m1 = new Module("m1", 10,10);
Module m2 = new Module("m2", 12,10);
Module m3 = new Module("m3", 10,10);
Module m4 = new Module("m4", 10,10);
Pump p0 = new Pump();
Sink s0 = new Sink();
List<Channel> chanlist = Arrays.asList(chan0, chan1, chan2, chan3, chan4,
chan5, chan6, chan7, chan8, chan9, chan10, chan11, chan12, chan13,
chan14, chan15, chan16, m0, m1, m2, m3, m4, p0, s0);
p0.addChild(chan0);
chan0.addChild(chan1);
chan0.addChild(chan2);
chan1.addChild(chan3);
chan3.addChild(m4);
m4.addChild(chan4);
chan4.addChild(chan5);
chan5.addChild(s0);
chan2.addChild(chan6);
chan6.addChild(chan7);
chan6.addChild(chan8);
chan7.addChild(m0);
chan8.addChild(m1);
m0.addChild(chan9);
m1.addChild(chan10);
chan9.addChild(chan11);
chan10.addChild(chan11);
chan11.addChild(chan12);
chan11.addChild(chan13);
chan12.addChild(m2);
chan13.addChild(m3);
m2.addChild(chan14);
m3.addChild(chan15);
chan15.addChild(chan16);
chan14.addChild(chan16);
chan16.addChild(chan5);
return chanlist;
}
public static List<Channel> getNloc3() {
Channel chan0 = new Channel("ch0",7,7);
Channel chan1 = new Channel("ch1",8,8);
Channel chan2 = new Channel("ch2",9,9);
Channel chan3 = new Channel("ch3",19,19);
Channel chan4 = new Channel("ch4",19,19);
Channel chan5 = new Channel("ch5",7,7);
Channel chan6 = new Channel("ch6",8,8);
Channel chan7 = new Channel("ch7",9,9);
Channel chan8 = new Channel("ch8",25,28);
Channel chan9 = new Channel("ch9",25,28);
Channel chan10 = new Channel("ch10",25,28);
Module m0 = new Module("m0", 10,10);
Module m1 = new Module("m1", 10,10);
Module m2 = new Module("m2", 10,10);
Module m3 = new Module("m3", 10,10);
Pump p0 = new Pump();
Sink s0 = new Sink();
List<Channel> chanlist = Arrays.asList(chan0, chan1, chan2, chan3, chan4,
chan5, chan6, chan7, chan8, chan9, chan10, m0, m1, m2, m3, p0, s0);
p0.addChild(chan0);
chan0.addChild(chan1);
chan0.addChild(chan2);
chan1.addChild(m0);
m0.addChild(chan3);
chan3.addChild(chan5);
chan2.addChild(m1);
m1.addChild(chan4);
chan4.addChild(chan5);
chan5.addChild(chan6);
chan5.addChild(chan7);
chan6.addChild(m2);
chan7.addChild(m3);
m2.addChild(chan8);
m3.addChild(chan9);
chan8.addChild(chan10);
chan9.addChild(chan10);
chan10.addChild(s0);
return chanlist;
}
public static List<Channel> getNloc4() {
Channel chan0 = new Channel("ch0",8,8);
Channel chan1 = new Channel("ch1",8,8);
Channel chan2 = new Channel("ch2",9,9);
Channel chan3 = new Channel("ch3",19,19);
Channel chan4 = new Channel("ch4",19,19);
Channel chan5 = new Channel("ch5",8,8);
Channel chan6 = new Channel("ch6",12,13);
Channel chan7 = new Channel("ch7",13,14);
Channel chan8 = new Channel("ch8",25,28);
Channel chan9 = new Channel("ch9",25,28);
Channel chan10 = new Channel("ch10",8,8);
Channel chan11 = new Channel("ch11",12,13);
Channel chan12 = new Channel("ch12",13,14);
Channel chan13 = new Channel("ch13",25,28);
Channel chan14 = new Channel("ch14",25,28);
Channel chan15 = new Channel("ch15",99,108);
Module m0 = new Module("m0", 10,10);
Module m1 = new Module("m1", 10,10);
Module m2 = new Module("m2", 10,10);
Module m3 = new Module("m3", 10,10);
Module m4 = new Module("m4", 10,10);
Module m5 = new Module("m5", 10,10);
Pump p0 = new Pump();
Sink s0 = new Sink();
List<Channel> chanlist = Arrays.asList(chan0, chan1, chan2, chan3, chan4,
chan5, chan6, chan7, chan8, chan9, chan10, chan11, chan12, chan13,
chan14, chan15, m0, m1, m2, m3, p0, s0);
p0.addChild(chan0);
chan0.addChild(chan1);
chan0.addChild(chan2);
chan1.addChild(m0);
chan2.addChild(m1);
m0.addChild(chan3);
m1.addChild(chan4);
chan3.addChild(chan5);
chan4.addChild(chan5);
chan5.addChild(chan6);
chan5.addChild(chan7);
chan6.addChild(m2);
chan7.addChild(m3);
m2.addChild(chan8);
m3.addChild(chan9);
chan8.addChild(chan10);
chan9.addChild(chan10);
chan10.addChild(chan11);
chan10.addChild(chan12);
chan11.addChild(m4);
chan12.addChild(m5);
m4.addChild(chan13);
m5.addChild(chan14);
chan13.addChild(chan15);
chan14.addChild(chan15);
chan15.addChild(s0);
return chanlist;
}
}