13#include "../settings/settings.hpp"
14#include "../cells/Cell.hpp"
15#include "../types/data_storage/cell_data.hpp"
16#include "../utility/utility.hpp"
26 Module_s(std::string_view ID_,
double Ti,
bool print,
bool pari,
int Ncells_,
int coolControl,
int cooltype)
27 :
Module(ID_, Ti, print, pari, Ncells_, coolControl, cooltype) {}
37 double I()
const override {
return (
SUs.empty() ? 0 :
SUs[0]->I()); }
45 Status setCurrent(
double Inew,
bool checkV =
true,
bool print =
true)
override;
Definition: Module_s.hpp:23
Module_s * copy() override
copy this SU to a new object
Definition: Module_s.hpp:46
double getRtot() override
Definition: Module_s.cpp:38
double I() const override
the current is the same in all cells, so we can use first value. Return zero if SUs empty.
Definition: Module_s.hpp:35
Status setCurrent(double Inew, bool checkV=true, bool print=true) override
set a module current
Definition: Module_s.cpp:77
double V() override
module voltage (sum of cells), print is an optional argument
Definition: Module_s.cpp:53
Module_s()
note this constructor should never be used. It can't determine which coolsystem to use
Definition: Module_s.hpp:25
double Cap() const override
module capacity is the capacity of the smallest cell
Definition: Module_s.hpp:36
double VMIN() const override
SUM all SUs' VMIN.
Definition: Module_s.hpp:31
double Vmax() const override
SUM all SUs' Vmax.
Definition: Module_s.hpp:32
void timeStep_CC(double dt, int steps=1) override
take a number of time steps
Definition: Module_s.cpp:120
double VMAX() const override
SUM all SUs' VMAX.
Definition: Module_s.hpp:33
double Vmin() const override
SUM all SUs' Vmin.
Definition: Module_s.hpp:30
Module_s(std::string_view ID_, double Ti, bool print, bool pari, int Ncells_, int coolControl, int cooltype)
Module_s(std::string_view IDi, bool pari, int Ncells, std::unique_ptr<CoolSystem> &&cool_); #TODO.
Definition: Module_s.hpp:26
double getOCV() override
module voltage (sum of cells), print is an optional argument
Definition: Module_s.cpp:26
Definition: Module.hpp:34
SUs_t SUs
Definition: Module.hpp:44
Slide namespace contains all the types, classes, and functions for the simulation framework.
Definition: Cell.hpp:27
auto transform_min(const auto &SUs, auto &function)
Definition: slide_algorithms.hpp:37
auto transform_sum(const auto &SUs, auto &function)
Definition: slide_algorithms.hpp:17
Status
Definition: Status.hpp:15