SLIDE  3.0.0
A simulator for lithium-ion battery pack degradation
Loading...
Searching...
No Matches
Procedure.hpp
Go to the documentation of this file.
1/*
2 * Procedure.hpp
3 *
4 * Created on: 3 Mar 2020
5 * Author(s): Jorn Reniers, Volkan Kumtepeli
6 */
7
8#pragma once
9
10#include "Cycler.hpp"
11#include "../cells/Cell.hpp"
12#include "../modules/Module.hpp"
13#include "../system/Battery.hpp"
14#include "../types/data_storage/cell_data.hpp"
15
16#include <vector>
17#include <iostream>
18#include <fstream>
19
20namespace slide {
21
23{
24protected:
25 bool balance{ true };
26 bool unitTest{ false };
27 int ndata{ 0 };
28 double balance_voltage{ 3.65 };
29
30 std::vector<ProcedureThroughputData> throughput;
32
33public:
34 Procedure() = default;
35 Procedure(bool balance, double Vbal, int ndata, bool unitTest = false);
36
37 ~Procedure() = default;
38
39 void cycleAge(StorageUnit *su, bool testCV);
40 void cycleAge(StorageUnit *su, int Ncycle, int Ncheck, int Nbal, bool testCV, double Ccha, double Cdis, double Vmax, double Vmin);
41 void useCaseAge(StorageUnit *su, int cool);
42
44 void balanceCheckup(StorageUnit *su, bool balance, bool checkup, double Ah, int nrCycle, std::string pref);
45
48
50 void checkUp(StorageUnit *su, double Ah, int nrCycle);
51 void checkUp_prep(StorageUnit *su);
52 void checkUp_writeInitial(std::vector<Cell *> &cells, std::ofstream &file);
53
55 void checkMod(StorageUnit *su);
56
58 void writeThroughput(const std::string &SUID, double Ahtot);
59};
60} // namespace slide
Definition: Procedure.hpp:23
void useCaseAge(StorageUnit *su, int cool)
function calls
Definition: Procedure.cpp:151
void writeThroughput(const std::string &SUID, double Ahtot)
Definition: Procedure.cpp:600
void checkUp_prep(StorageUnit *su)
bring the SU to a good voltage
Definition: Procedure.cpp:502
bool balance
Definition: Procedure.hpp:25
Procedure()=default
void storeThroughput(ThroughputData th, StorageUnit *su)
Definition: Procedure.cpp:272
void cycleAge(StorageUnit *su, bool testCV)
Definition: Procedure.cpp:134
std::vector< ProcedureThroughputData > throughput
Definition: Procedure.hpp:30
Status rebalance(StorageUnit *su)
check-up procedures
Definition: Procedure.cpp:369
void checkMod(StorageUnit *su)
main function to do a checkup on the modules
Definition: Procedure.cpp:523
double balance_voltage
Definition: Procedure.hpp:28
void balanceCheckup(StorageUnit *su, bool balance, bool checkup, double Ah, int nrCycle, std::string pref)
balancing
Definition: Procedure.cpp:300
void checkUp_writeInitial(std::vector< Cell * > &cells, std::ofstream &file)
cooling system procedures
int ndata
Definition: Procedure.hpp:27
bool unitTest
Definition: Procedure.hpp:26
void checkUp(StorageUnit *su, double Ah, int nrCycle)
main checkup function which will call the others
Definition: Procedure.cpp:410
~Procedure()=default
Definition: StorageUnit.hpp:27
Slide namespace contains all the types, classes, and functions for the simulation framework.
Definition: Cell.hpp:27
Status
Definition: Status.hpp:15
Definition: State.hpp:24