SimpleGridEdge.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package holeg.simple_grid;
  2. import holeg.model.GridEdge;
  3. import holeg.power_flow.ComplexNumber;
  4. import java.io.PrintStream;
  5. public class SimpleGridEdge implements GridEdge {
  6. public SimpleGridNode from;
  7. public SimpleGridNode to;
  8. public double lengthKilometers = 1;
  9. public boolean overrideInPerUnit = false;
  10. public ComplexNumber overrideImpedance = null;
  11. public double overrideShuntSusceptance = 0;
  12. public double overrideTapRatio = 0;
  13. public double current = 0;
  14. public ComplexNumber power = ComplexNumber.Zero;
  15. public ComplexNumber loss = ComplexNumber.Zero;
  16. public Object tag;
  17. @Override
  18. public SimpleGridNode getFrom() {
  19. return from;
  20. }
  21. @Override
  22. public SimpleGridNode getTo() {
  23. return to;
  24. }
  25. @Override
  26. public double getLengthKilometers() {
  27. return lengthKilometers;
  28. }
  29. @Override
  30. public boolean getOverrideInPerUnit() {
  31. return overrideInPerUnit;
  32. }
  33. @Override
  34. public ComplexNumber getOverrideImpedance() {
  35. return overrideImpedance;
  36. }
  37. @Override
  38. public double getOverrideShuntSusceptance() {
  39. return overrideShuntSusceptance;
  40. }
  41. @Override
  42. public double getOverrideTapRatio() {
  43. return overrideTapRatio;
  44. }
  45. @Override
  46. public void setCurrent(double current) {
  47. this.current = current;
  48. }
  49. @Override
  50. public void setPowerFlow(ComplexNumber power) {
  51. this.power = power;
  52. }
  53. @Override
  54. public void setLineLoss(ComplexNumber loss) {
  55. this.loss = loss;
  56. }
  57. public void print(PrintStream stream) {
  58. stream.printf("%.0f km, current: %.2f A, power flow: %s, line loss: %s", lengthKilometers, current, power.toString(), loss.toString());
  59. stream.println();
  60. }
  61. }