|
@@ -28,7 +28,7 @@ public class HolonElement {
|
|
|
@Expose
|
|
|
private boolean active;
|
|
|
/*
|
|
|
- * Gives us whether this element is flexible and can flexibly use any part of the energy in flexibility
|
|
|
+ * Gives us whether this element is flexible and can flexibly use any part of the energy in flexibleEnergyAvailable
|
|
|
*/
|
|
|
@Expose
|
|
|
private boolean flexible;
|
|
@@ -36,7 +36,7 @@ public class HolonElement {
|
|
|
* Flexibility (meaning the actual
|
|
|
*/
|
|
|
@Expose
|
|
|
- private float flexibility;
|
|
|
+ private float flexibleEnergyAvailable;
|
|
|
/* Total Energy */
|
|
|
@Expose
|
|
|
private float totalEnergy;
|
|
@@ -74,7 +74,7 @@ public class HolonElement {
|
|
|
setEnergyAt(energy);
|
|
|
setGraphPoints(new LinkedList<>());
|
|
|
setId(IdCounterElem.nextId());
|
|
|
- setFlexibleEnergyAmount(0);
|
|
|
+ setFlexibleEnergyAvailable(0);
|
|
|
setFlexible(false);
|
|
|
}
|
|
|
|
|
@@ -90,7 +90,7 @@ public class HolonElement {
|
|
|
setEnergyAt(energy);
|
|
|
setGraphPoints(new LinkedList<>());
|
|
|
setId(id);
|
|
|
- setFlexibleEnergyAmount(0);
|
|
|
+ setFlexibleEnergyAvailable(0);
|
|
|
setFlexible(false);
|
|
|
}
|
|
|
|
|
@@ -115,7 +115,7 @@ public class HolonElement {
|
|
|
}
|
|
|
setSaving(null);
|
|
|
setId(IdCounterElem.nextId());
|
|
|
- setFlexibleEnergyAmount(0);
|
|
|
+ setFlexibleEnergyAvailable(0);
|
|
|
setFlexible(false);
|
|
|
}
|
|
|
|
|
@@ -231,12 +231,11 @@ public class HolonElement {
|
|
|
* @return totalEnergy (actual)
|
|
|
*/
|
|
|
public float getTotalEnergy() {
|
|
|
- // TODO: anpassen
|
|
|
- if (flexible) {
|
|
|
- totalEnergy = ((float) amount) * (energy + flexibility);
|
|
|
- } else {
|
|
|
- totalEnergy = ((float) amount) * energy;
|
|
|
- }
|
|
|
+// if (flexible) {
|
|
|
+// totalEnergy = ((float) amount) * (energy + flexibleEnergyAvailable);
|
|
|
+// } else {
|
|
|
+ totalEnergy = ((float) amount) * energy;
|
|
|
+// }
|
|
|
return totalEnergy;
|
|
|
}
|
|
|
|
|
@@ -247,13 +246,13 @@ public class HolonElement {
|
|
|
* @return energy value
|
|
|
*/
|
|
|
public float getTotalEnergyAtTimeStep(int x) {
|
|
|
- float result;
|
|
|
- if (flexible) {
|
|
|
- result = ((float) amount) * (energyAt[x] + flexibility);
|
|
|
- } else {
|
|
|
- result = ((float) amount) * energyAt[x];
|
|
|
- }
|
|
|
- return result;
|
|
|
+// float result =((float) amount) * energyAt[x];
|
|
|
+// if (flexible) {
|
|
|
+// result = ((float) amount) * (energyAt[x] + flexibleEnergyAvailable);
|
|
|
+// } else {
|
|
|
+// result = ((float) amount) * energyAt[x];
|
|
|
+// }
|
|
|
+ return ((float) amount) * energyAt[x];
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -296,46 +295,56 @@ public class HolonElement {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Get the flexibility of an element
|
|
|
+ * Get the flexibleEnergyAvailable of an element
|
|
|
*/
|
|
|
- public float getFlexibleEnergyAmount() {
|
|
|
- return this.flexibility;
|
|
|
+ public float getFlexibleEnergyAvailable() {
|
|
|
+ return this.flexibleEnergyAvailable;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Set the flexibility of an element
|
|
|
+ * Set the flexibleEnergyAvailable of an element
|
|
|
*/
|
|
|
- public void setFlexibleEnergyAmount(float f) {
|
|
|
- this.flexibility = f;
|
|
|
+ public void setFlexibleEnergyAvailable(float f) {
|
|
|
+ this.flexibleEnergyAvailable = f;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Get the flexibility of an element
|
|
|
+ * Get the flexibleEnergyAvailable of an element
|
|
|
*/
|
|
|
public boolean isFlexible() {
|
|
|
return this.flexible;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Set the flexibility of an element
|
|
|
+ * Set the flexibleEnergyAvailable of an element
|
|
|
*/
|
|
|
public void setFlexible(boolean b) {
|
|
|
this.flexible = b;
|
|
|
|
|
|
- // if flexibility was set to true
|
|
|
+ // if flexibleEnergyAvailable was set to true
|
|
|
if (b) {
|
|
|
// set active to false
|
|
|
this.active = false;
|
|
|
|
|
|
- // move energy to flexibility (becomes the possible-to-use energy)
|
|
|
- setFlexibleEnergyAmount(getEnergy());
|
|
|
- // and set actually used energy to zero (can be changed by algorithms, the grid itself or the user)
|
|
|
- setEnergy(0);
|
|
|
+ // move energy to flexibleEnergyAvailable (becomes the possible-to-use energy)
|
|
|
+ if (getEnergy() != 0) {
|
|
|
+ setFlexibleEnergyAvailable(getEnergy());
|
|
|
+ // and set actually used energy to zero (can be changed by algorithms, the grid itself or the user)
|
|
|
+ setEnergy(0);
|
|
|
+ setEnergyAt(0);
|
|
|
+ }
|
|
|
} else {
|
|
|
// move the energy to actually used energy and set flexible amount to 0
|
|
|
- setEnergy(getFlexibleEnergyAmount());
|
|
|
- setFlexibleEnergyAmount(0);
|
|
|
+ if (getFlexibleEnergyAvailable() != 0) {
|
|
|
+ setEnergy(getFlexibleEnergyAvailable());
|
|
|
+ setEnergyAt(getFlexibleEnergyAvailable());
|
|
|
+ }
|
|
|
+ setFlexibleEnergyAvailable(0);
|
|
|
}
|
|
|
+
|
|
|
+// System.out.println("after setFlexible(" + String.valueOf(b) + "):");
|
|
|
+// System.out.println("flexible " + flexible + ", active: " + active + ", energy: " + energy
|
|
|
+// + ", flexible energy: " + flexibleEnergyAvailable + "\n");
|
|
|
}
|
|
|
|
|
|
/**
|