Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge branch 'master' of framagit.org:simgrid/simgrid
[simgrid.git] / src / plugins / battery.cpp
index 2628095..21d1ceb 100644 (file)
@@ -1,3 +1,7 @@
+/* Copyright (c) 2023. The SimGrid Team. All rights reserved.          */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
 #include <simgrid/Exception.hpp>
 #include <simgrid/plugins/battery.hpp>
 #include <simgrid/s4u/Actor.hpp>
@@ -166,8 +170,8 @@ public:
   bool is_active() const;
   double get_power();
   double get_state_of_charge();
-  double get_state_of_charge_min();
-  double get_state_of_charge_max();
+  double get_state_of_charge_min() const;
+  double get_state_of_charge_max() const;
   double get_state_of_health();
   double get_capacity();
   double get_cumulative_cost();
@@ -195,7 +199,7 @@ void Battery::set_power(const double p)
     if (power_w_ > 0) {
       soc_shutdown = capacity_wh_ * 3600 * (state_of_charge_ - state_of_charge_min_) / (power_w_ * charge_efficiency_);
       soh_shutdown = (energy_budget_j_ - energy_exchanged_j_) / (power_w_ * charge_efficiency_);
-    } else if (power_w_ < 0) {
+    } else { // power_w_ < 0
       soc_shutdown =
           capacity_wh_ * 3600 * (state_of_charge_max_ - state_of_charge_) / (abs(power_w_) / discharge_efficiency_);
       soh_shutdown = (energy_budget_j_ - energy_exchanged_j_) / (abs(power_w_) / discharge_efficiency_);
@@ -321,12 +325,12 @@ double Battery::get_state_of_charge()
   return state_of_charge_;
 }
 
-double Battery::get_state_of_charge_min()
+double Battery::get_state_of_charge_min() const
 {
   return state_of_charge_min_;
 }
 
-double Battery::get_state_of_charge_max()
+double Battery::get_state_of_charge_max() const
 {
   return state_of_charge_max_;
 }
@@ -423,7 +427,7 @@ void Battery::update()
   simgrid::kernel::actor::simcall_answered([this] {
     double now             = simgrid::s4u::Engine::get_clock();
     double time_delta_real = now - last_updated_;
-    if (time_delta_real <= 0 or not is_active())
+    if (time_delta_real <= 0 || not is_active())
       return;
     double time_delta_until_event = next_event_ - last_updated_;
     bool event                    = next_event_ != -1 and time_delta_until_event <= time_delta_real;