TestHeadlessProgram.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package holeg.test_headless;
  2. import holeg.HolegPowerFlow;
  3. import holeg.PowerFlowSettings;
  4. import holeg.model.Grid;
  5. import holeg.model.GridEdge;
  6. import holeg.model.GridNode;
  7. import holeg.power_flow.ComplexNumber;
  8. import holeg.simple_grid.SimpleGridBuilder;
  9. import holeg.simple_grid.SimpleGridEdge;
  10. import holeg.simple_grid.SimpleGridNode;
  11. public class TestHeadlessProgram {
  12. public static void test() {
  13. // Build grid
  14. SimpleGridBuilder builder = new SimpleGridBuilder();
  15. SimpleGridNode generatorA = builder.addGenerator(new ComplexNumber(4.4));
  16. SimpleGridNode houseA = builder.addHouse(new ComplexNumber(1));
  17. SimpleGridNode houseB = builder.addHouse(new ComplexNumber(2));
  18. SimpleGridNode houseC = builder.addHouse(new ComplexNumber(2));
  19. SimpleGridNode generatorB = builder.addGenerator(new ComplexNumber(1));
  20. // generatorA -- houseA
  21. // |
  22. // |---- houseB -- houseC --- generatorB
  23. builder.connect(generatorA, houseA, 11);
  24. builder.connect(generatorA, houseB, 10);
  25. builder.connect(houseB, houseC, 10);
  26. builder.connect(houseC, generatorB, 10);
  27. // Grid
  28. Grid grid = builder.getGrid();
  29. HolegPowerFlow flow = new HolegPowerFlow();
  30. flow.solve(grid, PowerFlowSettings.getDefault(), null);
  31. // Show results
  32. for (GridNode node : grid.getNodes())
  33. ((SimpleGridNode)node).print(System.err);
  34. for (GridEdge edge : grid.getEdges())
  35. ((SimpleGridEdge)edge).print(System.err);
  36. }
  37. }