Go to the documentation of this file.
38 #ifndef __SIM_THERMAL_MODEL_HH__
39 #define __SIM_THERMAL_MODEL_HH__
53 struct ThermalCapacitorParams;
54 struct ThermalModelParams;
55 struct ThermalReferenceParams;
56 struct ThermalResistorParams;
66 typedef ThermalResistorParams
Params;
75 double step)
const override;
92 typedef ThermalCapacitorParams
Params;
96 double step)
const override;
127 double step)
const override;
std::vector< ThermalNode * > eq_nodes
LinearEquation getEquation(ThermalNode *tn, unsigned n, double step) const override
void addNode(ThermalNode *n)
LinearEquation getEquation(ThermalNode *tn, unsigned n, double step) const override
void addReference(ThermalReference *r)
void setNode(ThermalNode *n)
std::vector< ThermalDomain * > domains
ThermalModelParams Params
void addCapacitor(ThermalCapacitor *c)
The class stores temperatures in Kelvin and provides helper methods to convert to/from Celsius.
const double _capacitance
ThermalResistor(const Params &p)
ThermalResistor.
A ThermalCapacitor is used to model a thermal capacitance between two thermal domains.
std::vector< ThermalResistor * > resistors
std::vector< ThermalNode * > nodes
ThermalResistorParams Params
ThermalReference(const Params &p)
ThermalReference.
void startup() override
startup() is the final initialization call before simulation.
EventFunctionWrapper stepEvent
Stepping event to update the model values.
ThermalCapacitorParams Params
ThermalModel(const Params &p)
ThermalModel.
A ThermalNode is used to connect thermal entities, such as resistors, capacitors, references and doma...
std::vector< ThermalReference * > references
This class describes a linear equation with constant coefficients.
An abstract class that represents any thermal entity which is used in the circuital thermal equivalen...
A ThermalReference is a thermal domain with fixed temperature.
Abstract superclass for simulation objects.
std::vector< ThermalCapacitor * > capacitors
The ClockedObject class extends the SimObject with a clock and accessor functions to relate ticks to ...
A ThermalResistor is used to model a thermal resistance between two thermal domains.
std::vector< ThermalEntity * > entities
A ThermalDomain is used to group objects under that operate under the same temperature.
Temperature getTemperature() const
void addDomain(ThermalDomain *d)
void setNodes(ThermalNode *n1, ThermalNode *n2)
ThermalReferenceParams Params
void addResistor(ThermalResistor *r)
const Temperature _temperature
const double _step
Step in seconds for thermal updates.
ClockedObjectParams Params
Parameters of ClockedObject.
void setNodes(ThermalNode *n1, ThermalNode *n2)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
LinearEquation getEquation(ThermalNode *tn, unsigned n, double step) const override
ThermalCapacitor(const Params &p)
ThermalCapacitor.
Generated on Tue Sep 21 2021 12:25:48 for gem5 by doxygen 1.8.17