|0.10.2||Jul 17, 2016|
|0.10.0||Jun 17, 2016|
|0.9.2||Feb 5, 2016|
|0.9.1||Oct 19, 2015|
|0.0.16||Mar 6, 2015|
#4 in Simulation
84 downloads per month
The package provides a temperature simulator.
Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.md.
Temperature simulation is based on the well-known analogy between electrical
and thermal circuits. Given a system with
units processing elements, an
equivalent thermal RC circuit with
nodes thermal nodes is constructed. The
circuit is then used for modeling the thermal behavior of the system.
Concretely, the thermal behavior is described using the following system of
dT Cth -- + Gth (T - Tamb) = Mp P dt Q = Mq T
nodes × nodesdiagonal matrix of the thermal capacitance;
nodes × nodessymmetric, positive-definite matrix of the thermal conductance;
nodes-element vector of the temperature of the thermal nodes;
nodes-element vector of the ambient temperature;
units-element vector of the power dissipation of the processing elements;
nodes × unitsmatrix that distributes the power dissipation of the processing elements onto the thermal nodes;
spots-element vector of the temperature of interest; and
spots × nodesmatrix that aggregates the temperature of the thermal nodes into the temperature of interest.
The original system is transformed into the following:
dS -- = A S + B P dt Q = C S + Mq Tamb
S = D^(-1) (T - Tamb), A = -D Gth D, B = D Mp, C = Mq D, and D = Cth^(-1/2).
The eigendecomposition of
A, which is real and symmetric, is
A = U diag(Λ) U^T.
For a short time interval
[0, Δt], the solution is obtained using the
S(t) = E S(0) + F P(0)
E = exp(A Δt) = U diag(exp(λi Δt)) U^T and F = A^(-1) (exp(A Δt) - I) B = U diag((exp(λi Δt) - 1) / λi) U^T B.
The solution makes use of the assumption that
Δt, referred to as the time
step, is short enough so that the power dissipation does not change much
[0, Δt]. In order to compute the temperature profile corresponding
for the whole time span of interest, the time span is split into small
subintervals, and the above equation is successively applied to each of