A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
add battery-chiller-solar example.
[simgrid.git]
/
examples
/
cpp
/
battery-degradation
/
s4u-battery-degradation.cpp
diff --git
a/examples/cpp/battery-degradation/s4u-battery-degradation.cpp
b/examples/cpp/battery-degradation/s4u-battery-degradation.cpp
index
1099c6d
..
13b149e
100644
(file)
--- a/
examples/cpp/battery-degradation/s4u-battery-degradation.cpp
+++ b/
examples/cpp/battery-degradation/s4u-battery-degradation.cpp
@@
-14,24
+14,27
@@
static void manager()
{
auto battery = simgrid::plugins::Battery::init("Battery", 0.8, -200, 200, 0.9, 0.9, 10, 100);
- battery->set_load("load", 100);
+ battery->set_load("load", 100
.0
);
- auto handler1 = battery->schedule_handler(0.2, simgrid::plugins::Battery::DISCHARGE, true, [battery]() {
- XBT_INFO("%f,%f,SoC", simgrid::s4u::Engine::get_clock(), battery->get_state_of_charge());
- XBT_INFO("%f,%f,SoH", simgrid::s4u::Engine::get_clock(), battery->get_state_of_health());
- battery->set_load("load", -100);
- });
+ auto handler1 = battery->schedule_handler(
+ 0.2, simgrid::plugins::Battery::DISCHARGE, simgrid::plugins::Battery::Handler::PERSISTANT, [battery]() {
+ XBT_INFO("%f,%f,SoC", simgrid::s4u::Engine::get_clock(), battery->get_state_of_charge());
+ XBT_INFO("%f,%f,SoH", simgrid::s4u::Engine::get_clock(), battery->get_state_of_health());
+ battery->set_load("load", -100.0);
+ });
std::shared_ptr<simgrid::plugins::Battery::Handler> handler2;
- handler2 = battery->schedule_handler(0.8, simgrid::plugins::Battery::CHARGE, true, [battery, handler1, handler2]() {
- XBT_INFO("%f,%f,SoC", simgrid::s4u::Engine::get_clock(), battery->get_state_of_charge());
- XBT_INFO("%f,%f,SoH", simgrid::s4u::Engine::get_clock(), battery->get_state_of_health());
- if (battery->get_state_of_health() < 0.1) {
- battery->delete_handler(handler1);
- battery->delete_handler(handler2);
- }
- battery->set_load("load", 100);
- });
+ handler2 = battery->schedule_handler(
+ 0.8, simgrid::plugins::Battery::CHARGE, simgrid::plugins::Battery::Handler::PERSISTANT,
+ [battery, handler1, handler2]() {
+ XBT_INFO("%f,%f,SoC", simgrid::s4u::Engine::get_clock(), battery->get_state_of_charge());
+ XBT_INFO("%f,%f,SoH", simgrid::s4u::Engine::get_clock(), battery->get_state_of_health());
+ if (battery->get_state_of_health() < 0.1) {
+ battery->delete_handler(handler1);
+ battery->delete_handler(handler2);
+ }
+ battery->set_load("load", 100.0);
+ });
}
int main(int argc, char* argv[])