#temperature #electronic #systems #solver #equations #modeling #analysis

tempan

The library provides an exponential-integrator-based solver for systems of differential-algebraic equations modeling temperature of electronic systems

6 releases

Uses old Rust 2015

0.0.7 Jan 10, 2015
0.0.6 Jan 8, 2015
0.0.4 Dec 30, 2014
0.0.2 Nov 21, 2014

#10 in #electronic

MIT license

33KB
466 lines

Temperature Analysis Build Status

The library provides an exponential-integrator-based solver for systems of differential-algebraic equations modeling temperature of electronic systems.

Documentation

Contributing

  1. Fork the project.
  2. Implement your idea.
  3. Create a pull request.

lib.rs:

Temperature analysis of electronic systems.

Model

Temperature analysis is based on the well-known analogy between electrical and thermal circuits. For an electronic system of interest, an equivalent thermal RC circuit is constructed. The circuit is composed of nodes thermal nodes. A subset of cores (out of nodes) thermal nodes corresponds to the power-dissipating elements of the electronic system and is referred to as active.

The thermal behavior of the electronic system is modeled using the following system of differential-algebraic equations:

    dQall
C * ----- + G * (Qall - Qamb) = M * P
     dt

Q = M^T * Qall

where

  • C is an nodes-by-nodes diagonal matrix of thermal capacitance;

  • G is an nodes-by-nodes symmetric, positive-definite matrix of thermal conductance;

  • Qall is an nodes-element temperature vector of all thermal nodes;

  • Q is a cores-element temperature vector of the active thermal nodes;

  • Qamb is a cores-element temperature vector of the ambience;

  • P is a cores-element power vector of the active thermal nodes; and

  • M is an nodes-by-cores rectangular diagonal matrix whose diagonal elements equal to unity.

Solution

The original thermal system is transformed as follows:

dS
-- = A * S + B * P
dt

Q = B^T * S + Qamb

where

S = D^(-1) * (Qall - Qamb),
A = -D * G * D,
B = D * M, and
D = C^(-1/2).

The eigendecomposition of A, which is real and symmetric, is

A = U * diag(Λ) * U^T.

The solution of the system for a short time interval [0, Δt] is based on the following equation:

S(t) = E * S(0) + F * P(0)

where

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.

Δt is referred to as the time step. In order to find the temperature profile corresponding to the whole time span of interest, the time span is split into small intervals, and the above equation is successively applied to each of these small intervals.

Dependencies

~1.5MB
~56K SLoC