IICSM / THERMAL LAB

HEAT TRANSFER · INTERACTIVE NOTEBOOK

Understand the
timing of heat.

67 cumulative daily visits · View visitor map ↘

Follow the physics from Elmore delay to one- and two-moment estimates. Compare each approximation with numerical solutions, then explore your own thermal network.

Start the guided lesson →
THE STARTING POINT
τ=CG=RC\tau=\frac CG=RC

Heat capacity ÷ thermal conductance

AmbientGC, T

One time constant completes 63.2% of a single exponential temperature change.

01 / LEARN THE METHOD

Why the estimates work, one step at a time

Follow one small network from its heat balance to its predicted rise time. Each step says what we know exactly, what we assume, and why that assumption helps.

Notation & units
SymbolMeaningUnits
C, KHeat-capacity and conductance matricesJ/K; W/K
x, z(t)Final temperature change; remaining changeK
y(t), f(t)Normalized response; its time derivative1; s⁻¹
μ, m₂, σ²Mean time; raw second moment; variances; s²; s²
a, θGamma shape; gamma time scale1; s
tᵣTime from 10% to 90% of the final changes
Eight short steps · one worked example

STEP 1 / START WITH A PHYSICAL MODEL

Two masses, two resistances, one observation

Each mass has heat capacity 1 J/K. Each link has resistance 1 K/W, so conductance G = 1/R = 1 W/K. The left reservoir steps from 0 K change to +1 K change; node 2 has no other heat-loss path. Observe node 2. Temperatures below are changes from initial equilibrium, not absolute kelvin temperatures.

Two-node thermal ladderA stepped ambient connects through resistance R1 to node 1, then through R2 to node 2. Each node stores heat in a capacity of one joule per kelvin. Node 2 is insulated at the far end.Ambient step0 → +1 KT₁T₂R₁ = 1 K/WR₂ = 1 K/WC₁ = 1 J/KC₂ = 1 J/KStores heatObserve hereInsulated
Both masses warm simultaneously. The drawing does not imply that node 1 finishes before node 2 starts.

Write “storage rate = heat in − heat out” at each mass:

C1dT1dt=Tb−T1R1+T2−T1R2C2dT2dt=T1−T2R2\begin{aligned} C_1\frac{dT_1}{dt}&=\frac{T_b-T_1}{R_1}+\frac{T_2-T_1}{R_2}\\[4pt] C_2\frac{dT_2}{dt}&=\frac{T_1-T_2}{R_2}\end{aligned}

At steady state, node 2 cannot lose heat, so its net heat flow is zero and T₂ = T₁. The first equation then gives T₁ = Tb. Thus the final temperature-change vector is x = [1, 1] K. Define the normalized output y(t) = T₂(t)/(1 K): it starts at 0 and ends at 1. We want the time between y = 0.1 and y = 0.9.

Explorer settings: N = 2, total R = 2 K/W, total C = 2 J/K, left boundary step, insulated far end, observe node 2.

STEP 2 / GIVE THE INTERMEDIATE QUANTITIES A MEANING

A “moment” summarizes when the temperature change happens

The slope f(t) = dy/dt measures how rapidly the normalized change is being completed. Its units are 1/s. Since the entire change is one, ∫f(t)dt = 1. For a monotone warming response f(t) is nonnegative, so we can treat it mathematically like a distribution over time.

Completed fraction=f(t) dtμ=∫0∞tf(t) dtm2=∫0∞t2f(t) dtσ2=∫0∞(t−μ)2f(t) dt=m2−μ2\begin{aligned} \text{Completed fraction}&=f(t)\,dt\\ \mu&=\int_0^\infty t f(t)\,dt\\ m_2&=\int_0^\infty t^2 f(t)\,dt\\ \sigma^2&=\int_0^\infty(t-\mu)^2 f(t)\,dt=m_2-\mu^2\end{aligned}

Interpretation: μ is the balance point of the change-rate curve along the time axis. σ measures how widely that curve is spread around μ. This is a mathematical interpretation of a deterministic response—not a claim that heat particles each have a measured arrival time.

Same mean, narrow change

Imagine all the change concentrated at 3 s. Then μ = 3 s, m₂ = 3² = 9 s², and σ² = 0.

Same mean, spread-out change

Imagine half the change at 1 s and half at 5 s. Then μ = (1+5)/2 = 3 s, m₂ = (1²+5²)/2 = 13 s², and σ² = 13−9 = 4 s².

These idealized point distributions illustrate why a mean alone cannot determine a transition width; they are not responses of the finite thermal ladder. Also, t₅₀ is a median—half the change is complete—whereas μ is a mean. They need not coincide.

There is a useful way to find μ without differentiating a temperature curve. Since f = y′ and 1−y is the fraction still unfinished, integration by parts gives:

μ=∫0∞ty′(t) dt=∫0∞[1−y(t)] dtm2=2∫0∞t[1−y(t)] dt\begin{aligned}\mu&=\int_0^\infty t y^{\prime}(t)\,dt=\int_0^\infty[1-y(t)]\,dt\\m_2&=2\int_0^\infty t[1-y(t)]\,dt\end{aligned}

The stable response makes the boundary terms vanish. The first moment is the area of unfinished response; the second raw moment weights late unfinished response more heavily. This also explains the factor 2 in the second-moment calculation below.

STEP 3 / COMPUTE THE EXACT MEAN WITHOUT A TRANSIENT SOLVE

Why Elmore’s resistance–capacity sum works

Write the network as C dT/dt + KT = b, where C stores the capacities, K stores the conductances, and b represents the applied step. Its steady state satisfies Kx = b. Define the remaining temperature change z(t) = x−T(t). Subtracting the steady heat balance gives:

Cdzdt+Kz=0,z(0)=x,z(∞)=0\mathbf C\frac{d\mathbf z}{dt}+\mathbf K\mathbf z=\mathbf0,\qquad \mathbf z(0)=\mathbf x,\quad\mathbf z(\infty)=\mathbf0

Integrate this equation over the whole transient. If v = ∫₀∞z(t)dt, the derivative integrates to 0−x:

−Cx+Kv=0Kv=Cxμj=vjxj\begin{aligned}-\mathbf C\mathbf x+\mathbf K\mathbf v&=\mathbf0\\\mathbf K\mathbf v&=\mathbf C\mathbf x\\\mu_j&=\frac{v_j}{x_j}\end{aligned}

Why this is useful: a dynamic area is obtained from a steady linear solve. Nothing about the transient has been fitted yet. In our one-reservoir ladder, x₁ = x₂ = 1 K. The capacity terms act as the right-hand side of this auxiliary solve. The first link carries the contributions of both capacities; the second carries only the far capacity:

μ2=R1(C1+C2)+R2C2=1(1+1)+1(1)=3 sμ1=R1(C1+C2)=2 s\begin{aligned}\mu_2&=R_1(C_1+C_2)+R_2C_2\\&=1(1+1)+1(1)=3\,\mathrm s\\\mu_1&=R_1(C_1+C_2)=2\,\mathrm s\end{aligned}

This is exactly the endpoint Elmore sum: accumulated resistance times each capacity, or equivalently each link resistance times the capacities downstream. It follows from the integrated heat balance, not from adding sequential waiting times.

Check the same result with two small equations

Using SI numerical coefficients, K = [[2, −1], [−1, 1]] W/K and C = diag(1,1) J/K. The equation Kv = Cx becomes:

[2−1−11][v1v2]=[11]v=[23] K sμ2=3 K s1 K=3 s\begin{aligned}\begin{bmatrix}2&-1\\-1&1\end{bmatrix}\begin{bmatrix}v_1\\v_2\end{bmatrix}&=\begin{bmatrix}1\\1\end{bmatrix}\\\mathbf v&=\begin{bmatrix}2\\3\end{bmatrix}\,\mathrm{K\,s}\\\mu_2&=\frac{3\,\mathrm{K\,s}}{1\,\mathrm K}=3\,\mathrm s\end{aligned}

For a general tree, use shared paths; for several sinks, local heat input, or loops, keep the general linear solve and the division by the chosen output’s xⱼ. General derivation ↓

STEP 4 / TURN THE MEAN INTO A RESPONSE SHAPE

From Elmore to the one-moment estimate

We know the mean μ, but not a complete curve. Choose the simplest stable thermal-response shape: one exponential with time constant τfit.

y1(t)=1−e−t/τfit∫0∞e−t/τfit dt=τfit=μ\begin{aligned}y_1(t)&=1-e^{-t/\tau_{\mathrm{fit}}}\\\int_0^\infty e^{-t/\tau_{\mathrm{fit}}}\,dt&=\tau_{\mathrm{fit}}=\mu\end{aligned}

To preserve the exact area μ, we must set τfit = μ = 3 s. That is why the one-moment estimate uses Elmore’s value. It is not a second delay added to Elmore.

Now find a threshold p by ordinary algebra:

p=1−e−tp/μ1−p=e−tp/μln⁡(1−p)=−tpμtp,1=−μln⁡(1−p)\begin{aligned}p&=1-e^{-t_p/\mu}\\1-p&=e^{-t_p/\mu}\\\ln(1-p)&=-\frac{t_p}{\mu}\\t_{p,1}&=-\mu\ln(1-p)\end{aligned}
t10,1=−3ln⁡(0.9)=0.316082 st90,1=−3ln⁡(0.1)=6.907755 str,1=μln⁡9=6.591674 s\begin{aligned}t_{10,1}&=-3\ln(0.9)=0.316082\,\mathrm s\\t_{90,1}&=-3\ln(0.1)=6.907755\,\mathrm s\\t_{r,1}&=\mu\ln9=6.591674\,\mathrm s\end{aligned}

Why it can work: it exactly preserves the steady output and the total unfinished area. It is exact when the real system has one exponential response; it can be useful when one mode largely governs the selected output. It costs only one shape parameter.

What it gives up: an exponential with mean μ necessarily has variance μ². Here it assumes σ² = 9 s² whether or not the real network has that width. Several modes, a fast initial change followed by a slow tail, or delayed onset can make that assumption inaccurate.

STEP 5 / RECOVER THE MISSING SPREAD INFORMATION

One more linear solve gives the second moment

Return to the exact remaining-response equation and multiply it by t before integrating. Integration by parts gives ∫₀∞t z′(t)dt = −∫₀∞z(t)dt = −v. If w = ∫₀∞t z(t)dt, then:

−Cv+Kw=0Kw=Cvm2,j=2wjxjσj2=2wjxj−μj2\begin{aligned}-\mathbf C\mathbf v+\mathbf K\mathbf w&=\mathbf0\\\mathbf K\mathbf w&=\mathbf C\mathbf v\\m_{2,j}&=\frac{2w_j}{x_j}\\\sigma_j^2&=\frac{2w_j}{x_j}-\mu_j^2\end{aligned}

The same conductance matrix K is reused. With v = [2,3] K·s and both capacities equal to 1 J/K, the numerical equations are:

[2−1−11][w1w2]=[23]w=[58] K s2\begin{aligned}\begin{bmatrix}2&-1\\-1&1\end{bmatrix}\begin{bmatrix}w_1\\w_2\end{bmatrix}&=\begin{bmatrix}2\\3\end{bmatrix}\\\mathbf w&=\begin{bmatrix}5\\8\end{bmatrix}\,\mathrm{K\,s^2}\end{aligned}

Normalize at the observed node 2:

w2x2=8 s2m2=2(8)=16 s2σ2=16−32=7 s2σ=7 s≈2.645751 s\begin{aligned}\frac{w_2}{x_2}&=8\,\mathrm{s^2}\\m_2&=2(8)=16\,\mathrm{s^2}\\\sigma^2&=16-3^2=7\,\mathrm{s^2}\\\sigma&=\sqrt7\,\mathrm s\approx2.645751\,\mathrm s\end{aligned}

Intermediate check: 8 s² is the time-weighted area of unfinished response. It is neither the variance nor the second raw moment. Multiply by two to obtain m₂, then subtract μ² to obtain variance. The real response’s variance, 7 s², is smaller than the 9 s² imposed by our one-exponential fit.

STEP 6 / FIT A SHAPE WITH TWO ADJUSTABLE PARAMETERS

From one moment to the two-moment gamma estimate

We now know both the mean and the spread. We still must choose a shape; two numbers do not uniquely determine a waveform. This site uses a gamma change-rate curve because it is nonnegative, lives on t ≥ 0, integrates to one, and includes the exponential as a special case.

f2(t)=ta−1e−t/θΓ(a)θa,t>0μ=aθ,σ2=aθ2\begin{aligned}f_2(t)&=\frac{t^{a-1}e^{-t/\theta}}{\Gamma(a)\theta^a},\qquad t>0\\\mu&=a\theta,\qquad\sigma^2=a\theta^2\end{aligned}

Here a is a dimensionless shape parameter and θ is a time scale. Γ(a) is the normalizing factor that makes the total area one. For integer a, this distribution is the convolution of a identical exponential stages. That is a mathematical motivation; it does not imply that the reciprocally coupled thermal nodes warm independently or sequentially. A noninteger shape is a fit, not a literal count of circuit nodes.

Match the two exact quantities and solve the two equations:

θ=aθ2aθ=σ2μ=73 sa=μθ=μ2σ2=97≈1.285714\begin{aligned}\theta&=\frac{a\theta^2}{a\theta}=\frac{\sigma^2}{\mu}=\frac73\,\mathrm s\\a&=\frac\mu\theta=\frac{\mu^2}{\sigma^2}=\frac97\approx1.285714\end{aligned}

Integrate f₂ to obtain the fraction completed: y₂(t) = P(a,t/θ), where P is the gamma cumulative distribution function. Its inverse P⁻¹(a,p) gives the scaled time at which fraction p has accumulated. It is an inverse function, not a reciprocal.

P(a,zp)=ptp,2=θzp=θP−1(a,p)tr,2=θ[P−1(a,0.9)−P−1(a,0.1)]\begin{aligned}P(a,z_p)&=p\\t_{p,2}&=\theta z_p=\theta P^{-1}(a,p)\\t_{r,2}&=\theta\big[P^{-1}(a,0.9)-P^{-1}(a,0.1)\big]\end{aligned}

For a = 9/7, numerical inversion gives z₁₀ ≈ 0.204016 and z₉₀ ≈ 2.782378:

t10,2=73z10=0.476037 st90,2=73z90=6.492216 str,2=6.016180 s\begin{aligned}t_{10,2}&=\tfrac73 z_{10}=0.476037\,\mathrm s\\t_{90,2}&=\tfrac73 z_{90}=6.492216\,\mathrm s\\t_{r,2}&=6.016180\,\mathrm s\end{aligned}

Use full-precision parameters before rounding. To reproduce these values in Python: gamma.ppf([0.1, 0.9], a=9/7, scale=7/3), with from scipy.stats import gamma.

Why it can improve the result: the fit preserves the same mean as before but can independently adjust the width. Why it can still miss: neither skewness, the tail, nor the exact mixture of network modes is fixed by those two moments. A better moment match is not a proof of a better threshold estimate for every network.

STEP 7 / SEE THE UNDERLYING APPROXIMATION

Moments are the first coefficients of the exact response

A transfer function describes how a linear system maps an input to an output. Let F(s) be the normalized transfer function, with F(0) = 1. It is the Laplace transform of the change-rate curve. Expand the weighting e−st near s = 0:

F(s)=∫0∞e−stf(t) dte−st=1−st+s2t22−⋯F(s)=1−μs+m22s2−⋯\begin{aligned}F(s)&=\int_0^\infty e^{-st}f(t)\,dt\\e^{-st}&=1-st+\frac{s^2t^2}{2}-\cdots\\F(s)&=1-\mu s+\frac{m_2}{2}s^2-\cdots\end{aligned}

That is the theoretical reason for matching moments: the approximate model preserves the first terms of the exact transfer function near zero frequency. The steady gain is the constant term, mean is the linear term, and the second raw moment controls the quadratic term. It is a local expansion, not a guarantee of pointwise accuracy for a fast step.

Derive the exact two-node transfer function

Take a Laplace transform of the two heat balances at zero initial change. Set t₀ = (1 K/W)(1 J/K) = 1 s and z = s t₀, so z is dimensionless. The transformed equations become:

[z+2−1−1z+1][T1T2]=[Tb0]\begin{bmatrix}z+2&-1\\-1&z+1\end{bmatrix}\begin{bmatrix}T_1\\T_2\end{bmatrix}=\begin{bmatrix}T_b\\0\end{bmatrix}

The second equation gives T₁ = (z+1)T₂. Substitute into the first:

[(z+2)(z+1)−1]T2=TbFexact=T2Tb=11+3z+z2\begin{aligned}\big[(z+2)(z+1)-1\big]T_2&=T_b\\F_{\mathrm{exact}}&=\frac{T_2}{T_b}=\frac1{1+3z+z^2}\end{aligned}

Expanding our exact network and the two fitted models makes the preserved information visible:

z = s × 1 second; expansions about z = 0
ModelTransfer functionExpansionPreserved information
Exact network1/(1+3z+z²)1−3z+8z²−21z³+…All network dynamics
One-moment fit1/(1+3z)1−3z+9z²−27z³+…Steady gain and μ = 3 s
Two-moment gamma fit[1+(7/3)z]−9/71−3z+8z²−(184/9)z³+…Gain, μ = 3 s and m₂ = 16 s²

The two-moment fit reproduces the exact coefficient 8, where the one-moment fit gives 9. It still disagrees at the next coefficient: 184/9 ≈ 20.444 rather than 21. This is an explicit example of both its improvement and its limitation. “Two moments” does not necessarily mean “two poles”; our gamma exponent 9/7 is noninteger.

STEP 8 / COMPARE WITH THE FULL NETWORK

Check the predicted crossings, not only the mean
The exact and fitted two-node responses share mean 3 seconds, but their change-rate curves have different widths.
Mean delay is an area, not a threshold crossing. The shading shows the full network’s unfinished response; its complete area extends beyond the displayed time interval. The lower curves all have unit area. Their shared mean is 3 s, while their variances differ.
Two-node example; all times in seconds
ModelμVariance (s²)t₁₀t₉₀Rise timeRise error
Full two-node response370.5828456.4411225.858277Reference
One moment390.3160826.9077556.591674+12.52%
Two moments370.4760376.4922166.016180+2.70%

The extra moment helps for this example, while both fitted rise times remain too long. The exact 50% crossing is 2.224919 s, so the exact mean μ = 3 s is visibly not t₅₀. The explorer reproduces the full response and independently checks it by RK4 time marching.

Exact response for an independent check

The two modal time constants are τslow = (3+√5)/2 s and τfast = (3−√5)/2 s. Inverting the two-node transfer function gives:

y(t)=1−τslowe−t/τslow−τfaste−t/τfastτslow−τfasty(t)=1-\frac{\tau_{\mathrm{slow}}e^{-t/\tau_{\mathrm{slow}}}-\tau_{\mathrm{fast}}e^{-t/\tau_{\mathrm{fast}}}}{\tau_{\mathrm{slow}}-\tau_{\mathrm{fast}}}

Set this expression equal to 0.1 and 0.9 and solve numerically. The resulting crossings are shown above. The two modes have different amplitudes; replacing the entire expression with a single unit-amplitude exponential loses that information.

When to use each level

  • Elmore / first moment: compare the mean response times of candidate networks cheaply, without calculating the whole transient.
  • One-moment fit: obtain a simple threshold estimate when a single-exponential shape is plausible; compare it with a full solution when accuracy matters.
  • Two-moment fit: include spread information when one exponential is inadequate; still check the individual crossings and the rise-time error.
  • Full response: use the actual model for required timing limits, nonlinear behavior, or cases where an approximation’s error is too large.

Continue with the general matrix derivation, the 10-node Elmore examples, or the interactive rise-time comparisons.

References: Gupta et al., RC-tree delay and first moments; SciPy gamma distribution and inverse CDF. The two-node calculations and teaching diagrams here are independently derived. See additional resources and Google searches.

02 / COMPARE TWO & TEN NODES

Two nodes and ten nodes, checked by time marching

Keep the two-node example above. For a fair comparison of total network properties, give both ladders Rtotal = 2 K/W and Ctotal = 2 J/K, with a +1 K left-boundary step and an insulated right end. Each two-node link and capacity is 1 in SI units; each ten-node link and capacity is 0.2. Equal totals do not imply identical transients: the resistance and storage are distributed differently. These ideal ladders are not, by themselves, a mesh-convergence proof for a particular physical slab.

xi=1 K,r=0.2 K/W,c=0.2 J/Kμj=rc[j(j+1)2+j(10−j)]\begin{aligned}x_i&=1\,\mathrm K,\quad r=0.2\,\mathrm{K/W},\quad c=0.2\,\mathrm{J/K}\\\mu_j&=rc\left[\frac{j(j+1)}2+j(10-j)\right]\end{aligned}

Mean times at nodes 1–10: [0.40, 0.76, 1.08, 1.36, 1.60, 1.80, 1.96, 2.08, 2.16, 2.20] s.

Repeat the endpoint calculation, without skipping the intermediate steps

  1. Elmore mean: μ₁₀ = rc(1+2+…+10) = 0.04 × 55 = 2.20 s.
  2. One-moment fit: tᵣ,1 = ln(9) × 2.20 = 4.833894 s.
  3. Second solve: w₁₀/x₁₀ = rc Σᵢ iμᵢ = 0.04[1(0.40)+2(0.76)+3(1.08)+4(1.36)+5(1.60)+6(1.80)+7(1.96)+8(2.08)+9(2.16)+10(2.20)] = 4.048 s².
  4. Raw moment and variance: m₂ = 2(4.048) = 8.096 s²; σ² = 8.096−2.20² = 3.256 s².
  5. Gamma parameters: a = 2.20²/3.256 = 1.486486; θ = 3.256/2.20 = 1.48 s.
  6. Two-moment crossings: t₁₀,2 = 0.423763 s; t₉₀,2 = 4.594482 s; their difference is 4.170719 s.
  7. Full network: t₁₀ = 0.564248 s; t₉₀ = 4.547305 s; the rise time is 3.983057 s. Refined RK4 agrees to the displayed six decimals.

The endpoint first moment has the compact form μN = Rtotal Ctotal(N+1)/(2N). With the same RC = 4 s, it is 3 s for two nodes and 2.2 s for ten. The corresponding full rise times are 5.858277 s and 3.983057 s. A single time constant RC = 4 s cannot describe both distributed responses.

Two-node and ten-node endpoint curves compared with one-moment and two-moment estimates and refined RK4 samples, using the same total resistance and capacity.
Both panels use the same time axis. Hollow circles are selected refined RK4 samples; their overlap with the solid modal curve checks the numerical response. Dashed and dotted curves are approximations. The pale band in each panel spans the full response’s 10–90% interval.

Ten-node examples at four observation points

For an interior output, replace the endpoint weight i with min(i,j): wⱼ/xⱼ = 0.04 Σᵢ min(i,j)μᵢ. Downstream capacities still influence upstream nodes through the shared resistances. Apply the same sequence μ → m₂ → σ² → a, θ → crossings:

Ten-node ladder · observe node 1

μ=0.400000 swjxj=0.616000 s2m2=2(0.616000)=1.232000 s2σ2=1.232000−(0.400000)2=1.072000 s2a=0.149254,θ=2.680000 s\begin{aligned}\mu&=0.400000\,\mathrm s\\\frac{w_j}{x_j}&=0.616000\,\mathrm{s^2}\\m_2&=2(0.616000)=1.232000\,\mathrm{s^2}\\\sigma^2&=1.232000-(0.400000)^2=1.072000\,\mathrm{s^2}\\a&=0.149254,\quad\theta=2.680000\,\mathrm s\end{aligned}

One-moment rise: 0.878890 s
Two-moment rise: 1.185301 s
Full modal rise: 1.150034 s

Ten-node ladder · observe node 3

μ=1.080000 swjxj=1.785600 s2m2=2(1.785600)=3.571200 s2σ2=3.571200−(1.080000)2=2.404800 s2a=0.485030,θ=2.226667 s\begin{aligned}\mu&=1.080000\,\mathrm s\\\frac{w_j}{x_j}&=1.785600\,\mathrm{s^2}\\m_2&=2(1.785600)=3.571200\,\mathrm{s^2}\\\sigma^2&=3.571200-(1.080000)^2=2.404800\,\mathrm{s^2}\\a&=0.485030,\quad\theta=2.226667\,\mathrm s\end{aligned}

One-moment rise: 2.373003 s
Two-moment rise: 2.925186 s
Full modal rise: 2.993823 s

Ten-node ladder · observe node 5

μ=1.600000 swjxj=2.784000 s2m2=2(2.784000)=5.568000 s2σ2=5.568000−(1.600000)2=3.008000 s2a=0.851064,θ=1.880000 s\begin{aligned}\mu&=1.600000\,\mathrm s\\\frac{w_j}{x_j}&=2.784000\,\mathrm{s^2}\\m_2&=2(2.784000)=5.568000\,\mathrm{s^2}\\\sigma^2&=5.568000-(1.600000)^2=3.008000\,\mathrm{s^2}\\a&=0.851064,\quad\theta=1.880000\,\mathrm s\end{aligned}

One-moment rise: 3.515559 s
Two-moment rise: 3.710772 s
Full modal rise: 3.680368 s

Ten-node ladder · observe node 10

μ=2.200000 swjxj=4.048000 s2m2=2(4.048000)=8.096000 s2σ2=8.096000−(2.200000)2=3.256000 s2a=1.486486,θ=1.480000 s\begin{aligned}\mu&=2.200000\,\mathrm s\\\frac{w_j}{x_j}&=4.048000\,\mathrm{s^2}\\m_2&=2(4.048000)=8.096000\,\mathrm{s^2}\\\sigma^2&=8.096000-(2.200000)^2=3.256000\,\mathrm{s^2}\\a&=1.486486,\quad\theta=1.480000\,\mathrm s\end{aligned}

One-moment rise: 4.833894 s
Two-moment rise: 4.170719 s
Full modal rise: 3.983057 s

Estimate errors relative to refined numerical time marching

Positive errors mean a rise estimate is too long; negative errors mean it is too short. The reference for these percentages is RK4 with the finer time step, not another moment fit.

Network / observationμ (s)One moment (s)ErrorTwo moments (s)ErrorRefined RK4 rise (s)
2 nodes · node 12.0000004.394449-13.32%4.995190-1.48%5.069981
2 nodes · node 23.0000006.591674+12.52%6.016180+2.70%5.858278
10 nodes · node 10.4000000.878890-23.58%1.185301+3.07%1.150034
10 nodes · node 31.0800002.373003-20.74%2.925186-2.29%2.993823
10 nodes · node 51.6000003.515559-4.48%3.710772+0.83%3.680368
10 nodes · node 102.2000004.833894+21.36%4.170719+4.71%3.983057

Check that the numerical answer is converged

Classical fourth-order Runge–Kutta integrates C dT/dt = b−KT directly from zero change. Each threshold is linearly interpolated between its bracketing time steps. The second run halves Δt. The table shows nine decimal places to reveal small numerical differences; these digits do not represent experimentally validated precision.

Network / observationFine t₁₀ (s)Fine t₉₀ (s)Modal rise (s)RK4 rise, Δt (s)RK4 rise, Δt/2 (s)Fine − modal (s)Δt / Δt/2 (s)
2 nodes · node 10.1113214655.1813027135.0699812685.0699797565.069981248-2.022e-080.002618034 / 0.001309017
2 nodes · node 20.5828445996.4411221525.8582774005.8582780325.858277553+1.530e-070.002618034 / 0.001309017
10 nodes · node 10.0044536051.1544873411.1500341411.1500154651.150033737-4.045e-070.001790643 / 0.0008953214
10 nodes · node 30.0633496633.0571725552.9938228872.9938228032.993822892+5.360e-090.001790643 / 0.0008953214
10 nodes · node 50.1818220363.8621902063.6803681433.6803680313.680368169+2.630e-080.001790643 / 0.0008953214
10 nodes · node 100.5642482174.5473050393.9830567623.9830571043.983056822+5.977e-080.001790643 / 0.0008953214

All six refined RK4 rise times differ from the modal results by less than 0.000001 s. An independent Python calculation using SciPy’s adaptive DOP853 integrator also agrees. Download the comparison data and independent verification script (NumPy and SciPy).

03 / VARY MASSES, LINKS & BOUNDARIES

Unequal thermal masses, unequal resistances

Use the same ten-node ladder in all five experiments. All nodes start at 25°C. Each capacity represents stored heat, not a mass in kilograms. The right end is either insulated or connected through Rright = 0.25 K/W to a reservoir held at Tfix = 25°C. Node 5 is the chosen middle heat-input node; an even ten-node chain has two central nodes.

Ci=[0.08,0.12,0.20,0.35,0.50,0.25,0.15,0.10,0.15,0.10]  J/KC_i=[0.08,0.12,0.20,0.35,0.50,0.25,0.15,0.10,0.15,0.10]\;\mathrm{J/K}
Ri=[0.10,0.15,0.25,0.30,0.20,0.40,0.15,0.10,0.20,0.15]  K/WR_i=[0.10,0.15,0.25,0.30,0.20,0.40,0.15,0.10,0.20,0.15]\;\mathrm{K/W}

R₁ connects Tamb to node 1; Rᵢ for i ≥ 2 connects nodes i−1 and i. The left-to-node-10 resistance totals 2 K/W and total capacity is 2 J/K. With the extra right reservoir, boundary-to-boundary resistance is 2.25 K/W. The larger capacity at node 5 and larger link resistance into node 6 make the storage and transport distribution visibly nonuniform.

Final temperature profiles for all five unequal-network experiments
These are final temperatures, not rise-time curves. Normalized timings use each node’s own initial-to-final change.

One derivation covers all five cases

Let Sᵢ be the accumulated resistance from the left reservoir to node i, and Z = K⁻¹. With no right sink, Zⱼᵢ = min(Sⱼ,Sᵢ). With the fixed right reservoir, Zⱼᵢ = min(Sⱼ,Sᵢ) − SⱼSᵢ/(2.25 K/W). For a left-boundary temperature step ΔTamb and a heat step Q at node 5, the forcing has b₁ = ΔTamb/R₁ and an additional b₅ = Q. Add these powers before solving the network.

Kx=b,Kv=Cx,Kw=CvKx=b,\qquad Kv=Cx,\qquad Kw=Cv
μj=vjxj=∑iZjiCixixj,σj2=2wjxj−μj2\mu_j=\frac{v_j}{x_j}=\sum_i Z_{ji}C_i\frac{x_i}{x_j},\qquad \sigma_j^2=\frac{2w_j}{x_j}-\mu_j^2

The xᵢ/xⱼ weights are essential when heating occurs internally or the other boundary stays fixed. The response curves show the full modal solution with independent DOP853 samples; tables compare it with RK4 at two step sizes and the two moment estimates.

EXPERIMENT AAmbient step; far end insulated

Tamb steps from 25°C to 35°C; Q = 0; the far end is insulated. Every node eventually reaches 35°C, so all xᵢ = 10 K and the weights xᵢ/xⱼ are one. The shared-path Elmore sum applies directly.

At node 5: μ = 1.668000 s; w₅/x₅ = 2.880830 s²; σ² = 2.979436 s²; gamma shape a = 0.933809, scale θ = 1.786233 s. These are obtained from the same three solves above, with this case’s K and b.

Times in seconds; signed estimate errors relative to refined RK4
NodeFinal T (°C)μOne moment / errorTwo moments / errorFull modal riseRefined RK4 rise
135.00000.2000000.439445+63.95%0.422662+57.69%0.2680350.268034
335.00000.9380002.060997-26.02%2.646371-5.01%2.7860322.786032
535.00001.6680003.664971-1.32%3.751806+1.02%3.7140083.714008
1035.00002.1430004.708652+20.30%4.089397+4.48%3.9141213.914121
A. Ambient step; far end insulated: middle-node and endpoint response comparisons
Moments are compared with the modal curve and independent time-integration samples. Each output uses its own final temperature.
EXPERIMENT BFixed ambient + middle heat; far end insulated

Tamb is held at 25°C; Q steps from 0 to 2 W at node 5; the far end is insulated. All generated heat eventually leaves through the left boundary. The final change is xⱼ = Q min(Sⱼ,S₅); nodes 5–10 share the same final temperature but have different transients.

At node 5: μ = 1.532300 s; w₅/x₅ = 2.659307 s²; σ² = 2.970672 s²; gamma shape a = 0.790375, scale θ = 1.938701 s. These are obtained from the same three solves above, with this case’s K and b.

Times in seconds; signed estimate errors relative to refined RK4
NodeFinal T (°C)μOne moment / errorTwo moments / errorFull modal riseRefined RK4 rise
125.20001.6680003.664971-1.32%3.751806+1.02%3.7140083.714008
326.00001.6466003.617950-2.59%3.735729+0.59%3.7139743.713974
527.00001.5323003.366807-9.17%3.638148-1.85%3.7069063.706906
1027.00002.0073004.410489+12.89%4.024772+3.02%3.9067523.906752
B. Fixed ambient + middle heat; far end insulated: middle-node and endpoint response comparisons
Moments are compared with the modal curve and independent time-integration samples. Each output uses its own final temperature.
EXPERIMENT CAmbient step; opposite reservoir fixed

Tamb steps from 25°C to 35°C while Tfix stays at 25°C; Q = 0. The final profile is xⱼ = 10[1−Sⱼ/(2.25 K/W)] K. The right boundary removes heat and changes both the matrix K and the final-output normalization.

At node 5: μ = 0.684222 s; w₅/x₅ = 0.417617 s²; σ² = 0.367074 s²; gamma shape a = 1.275383, scale θ = 0.536484 s. These are obtained from the same three solves above, with this case’s K and b.

Times in seconds; signed estimate errors relative to refined RK4
NodeFinal T (°C)μOne moment / errorTwo moments / errorFull modal riseRefined RK4 rise
134.55560.0682130.149879+37.77%0.160834+47.84%0.1087870.108787
332.77780.3454220.758970-19.50%0.941183-0.17%0.9427820.942782
530.55560.6842221.503390+13.34%1.376334+3.76%1.3264111.326411
1026.11110.8904221.956458+39.94%1.485290+6.24%1.3980481.398048
C. Ambient step; opposite reservoir fixed: middle-node and endpoint response comparisons
Moments are compared with the modal curve and independent time-integration samples. Each output uses its own final temperature.
EXPERIMENT DBoth reservoirs fixed + middle heat

Tamb and Tfix both stay at 25°C; Q steps from 0 to 2 W at node 5. Heat can leave through both boundaries. The final change is xⱼ = Q Zⱼ₅. This isolates the effect of adding middle-node heating while holding both reservoir temperatures fixed.

At node 5: μ = 0.548522 s; w₅/x₅ = 0.329593 s²; σ² = 0.358310 s²; gamma shape a = 0.839711, scale θ = 0.653227 s. These are obtained from the same three solves above, with this case’s K and b.

Times in seconds; signed estimate errors relative to refined RK4
NodeFinal T (°C)μOne moment / errorTwo moments / errorFull modal riseRefined RK4 rise
125.11110.6842221.503390+13.34%1.376334+3.76%1.3264111.326411
325.55560.6628221.456369+9.86%1.364963+2.96%1.3256731.325673
526.11110.5485221.205227-6.90%1.277663-1.31%1.2945651.294565
1025.22220.7547221.658294+20.81%1.428457+4.07%1.3726351.372635
D. Both reservoirs fixed + middle heat: middle-node and endpoint response comparisons
Moments are compared with the modal curve and independent time-integration samples. Each output uses its own final temperature.
EXPERIMENT EAmbient step + middle heat; opposite reservoir fixed

Tamb steps from 25°C to 35°C and Q simultaneously steps from 0 to 2 W at node 5; Tfix stays at 25°C. Unnormalized temperature changes from cases C and D add by linear superposition. Their normalized rise times do not add: normalize the summed response and then find its crossings.

At node 5: μ = 0.661606 s; w₅/x₅ = 0.402946 s²; σ² = 0.368171 s²; gamma shape a = 1.188909, scale θ = 0.556481 s. These are obtained from the same three solves above, with this case’s K and b.

Times in seconds; signed estimate errors relative to refined RK4
NodeFinal T (°C)μOne moment / errorTwo moments / errorFull modal riseRefined RK4 rise
134.66670.0752930.165437+29.01%0.185363+44.55%0.1282370.128237
333.33330.3665820.805463-18.53%0.984119-0.46%0.9886640.988664
531.66670.6616061.453696+9.38%1.366253+2.80%1.3289891.328989
1026.33330.8678061.906764+36.12%1.481034+5.73%1.4007471.400747
E. Ambient step + middle heat; opposite reservoir fixed: middle-node and endpoint response comparisons
Moments are compared with the modal curve and independent time-integration samples. Each output uses its own final temperature.
NUMERICAL EVIDENCEAll twenty node checks and time-step refinement

Fine Δt is half the coarse step. Threshold crossings are interpolated between time levels. The final column comes from a separate adaptive SciPy integrator. Numerical agreement validates these linear model calculations, not a real material or device.

Case / outputModal riseCoarse RK4Fine RK4Fine − modal (s)Fine Δt (s)DOP853 rise
ambient-free · node 10.2680345330.2680329840.268034183-3.499e-070.00013036290.268034533
ambient-free · node 32.7860320522.7860320442.786032050-2.274e-090.00013036292.786032052
ambient-free · node 53.7140084273.7140084273.714008428+6.502e-100.00013036293.714008427
ambient-free · node 103.9141208893.9141208983.914120890+1.297e-090.00013036293.914120889
heat-free · node 13.7140084273.7140084273.714008428+6.502e-100.00013036293.714008427
heat-free · node 33.7139744903.7139744893.713974489-8.043e-100.00013036293.713974490
heat-free · node 53.7069057533.7069057353.706905743-9.292e-090.00013036293.706905753
heat-free · node 103.9067522353.9067522423.906752237+1.538e-090.00013036293.906752235
ambient-fixed · node 10.1087865610.1087860140.108786544-1.634e-087.595312e-050.108786561
ambient-fixed · node 30.9427819500.9427819600.942781954+3.975e-097.595312e-050.942781950
ambient-fixed · node 51.3264106651.3264106701.326410667+1.538e-097.595312e-051.326410665
ambient-fixed · node 101.3980476781.3980476851.398047681+2.554e-097.595312e-051.398047678
heat-fixed · node 11.3264106651.3264106701.326410667+1.538e-097.595312e-051.326410665
heat-fixed · node 31.3256728651.3256728711.325672867+2.252e-097.595312e-051.325672865
heat-fixed · node 51.2945649831.2945649711.294564978-5.136e-097.595312e-051.294564983
heat-fixed · node 101.3726351341.3726351411.372635137+2.447e-097.595312e-051.372635134
combined-fixed · node 10.1282371720.1282366170.128237130-4.207e-087.595312e-050.128237172
combined-fixed · node 30.9886643190.9886643310.988664323+3.532e-097.595312e-050.988664319
combined-fixed · node 51.3289889001.3289889061.328988903+2.702e-097.595312e-051.328988900
combined-fixed · node 101.4007465331.4007465441.400746536+2.932e-097.595312e-051.400746533

Download the complete case data · Download independent verification (NumPy + SciPy)

04 / EXPLORE YOUR OWN NETWORK

Thermal network explorer

Calculated in your browser

All nodes start at zero temperature change. Apply a boundary temperature step or a constant heat-input step. Temperatures are changes from the initial equilibrium; material properties stay constant.

For a simultaneous boundary-temperature step and internal heating. Keep zero for heat-only forcing; its power is already the Step size above.

Custom capacities & resistances

Comma-separated positive numbers override the uniform totals. Leave blank for a uniform chain. Use both lists together.

The right resistance is ignored for an insulated end. For a fixed-temperature reservoir it includes conduction from the last node to that reservoir.

Uniform ladder: Cᵢ = C total/N; every link Rᵢ = R total/N. A second sink adds one more link, so its full boundary-to-boundary resistance is (N+1)R total/N.

Dominant modal τ—Slowest network decay mode
First-moment delay μ—For the chosen input and node
Actual t₆₃.₂—Computed from the modal response
10–90% rise time—t₉₀ − t₁₀, not a time constant

Selected node response

Exact modal responseSingle exponential using μSingle exponential using τ dominant

The two exponential curves are comparison approximations with unit amplitude. The actual response includes all mode amplitudes.

Rise-time estimates versus time marching

Outputln(9)μ estimate (s)Two-moment estimate (s)Modal rise (s)RK4 rise (s)RK4 Δt (s)

Every node: steady change and response times
NodeΔT steady (K)μ (s)t₁₀ (s)t₅₀ (s)t₆₃.₂ (s)t₉₀ (s)10–90% (s)
Step-by-step first moment at the selected node

First solve Kx = b for the steady temperature change x. Then solve Kv = Cx. At output j, μⱼ = vⱼ/xⱼ = Σᵢ (K⁻¹)ⱼᵢ Cᵢ xᵢ/xⱼ. This handles both reservoirs and internal heat input without misusing a single-sink path rule.

i(K⁻¹)ⱼᵢ (K/W)Cᵢ (J/K)xᵢ/xⱼContribution (s)

Conductance matrix and all modal time constants

K has negative link conductances off the diagonal. Its diagonal includes every connected link, including reservoir links. C is diagonal. Rates are eigenvalues of C⁻½KC⁻½, which is symmetric and similar to C⁻¹K.

05 / GO DEEPER

Reference & worked examples

Open a topic when you need another derivation, a practical estimate, or a different network.

Physical foundations & governing equations

02 / THE PHYSICS

One mass, distributed diffusion, or a network?

One thermal mass

For a uniform-temperature body with constant conductance to a reservoir:

CdTdt=G(T∞−T)+Qτ=CG=RCT(t)=Tsteady+(T0−Tsteady)e−t/τ\begin{aligned}C\frac{dT}{dt}&=G(T_\infty-T)+Q\\\tau&=\frac CG=RC\\T(t)&=T_{\mathrm{steady}}+(T_0-T_{\mathrm{steady}})e^{-t/\tau}\end{aligned}

With constant Q, Tsteady = T∞ + Q/G. At τ, 63.212% of the change is complete. At 3τ, 95.02%; at 5τ, 99.33%. The 10–90% rise time is ln(9)τ ≈ 2.197τ.

For external convection, G = hA and C = ρVcp. A common lumped-body criterion is Bi = h(V/A)/k < 0.1; check internal gradients and actual geometry. BYU heat-transfer notes ↗

Diffusion across a length

α=kρcp,tdiffusion∼L2α\alpha=\frac{k}{\rho c_p},\qquad t_{\mathrm{diffusion}}\sim\frac{L^2}{\alpha}

α has units m²/s. For a slab of area A and thickness L, R = L/(kA) and C = ρcpAL, so RC = L²/α. This is a scale, not a universal threshold time.

A homogeneous slab held at one face and insulated at the other has dominant τ = 4L²/(π²α). If both faces are held fixed and L is the full thickness, τ = L²/(π²α). Boundary conditions and the observation point matter.

Adding “diffusion time” to “bulk rise time” is not a general model: both may account for the same distributed storage. Derive the combined network instead. A separate physical boundary resistance can legitimately add a term to the first moment.

Many nodes: the matrix model

CidTidt=Qi+∑jGij(Tj−Ti)+Gi,b(Tb−Ti)CdTdt+KT=bKϕk=λkCϕk,τk=1λk\begin{aligned}C_i\frac{dT_i}{dt}&=Q_i+\sum_jG_{ij}(T_j-T_i)+G_{i,b}(T_b-T_i)\\\mathbf C\frac{d\mathbf T}{dt}+\mathbf K\mathbf T&=\mathbf b\\\mathbf K\boldsymbol\phi_k&=\lambda_k\mathbf C\boldsymbol\phi_k,\quad\tau_k=\frac1{\lambda_k}\end{aligned}

Positive capacities and reciprocal passive conductances produce real, nonnegative decay rates. With each connected component linked to a fixed-temperature reservoir, all rates are positive. An isolated network has a zero mode: its mean temperature does not relax to a prescribed ambient.

There can be repeated rates. A slow mode may be weak or invisible for a particular forcing and sensor. The slowest network mode alone does not give every node’s rise time. Passive networks can contain geometric loops; reciprocal conduction does not prohibit loops.

Deriving Elmore delay and the higher moments

  1. Choose the input vector b and output node j. Define H(s) = eⱼᵀ(K+sC)⁻¹b.
  2. Let x = K⁻¹b, v = K⁻¹Cx, and w = K⁻¹Cv. Expanding around s = 0 gives H(s)/H(0) = 1 − (vⱼ/xⱼ)s + (wⱼ/xⱼ)s² − … .
  3. The first moment is μ = vⱼ/xⱼ = ∫₀∞[1 − y(t)]dt for the normalized step response y. The second raw impulse-response moment is 2wⱼ/xⱼ; its variance is σ² = 2wⱼ/xⱼ − μ².
  4. For one stepped reservoir and an insulated chain end, xᵢ = 1 for a unit step. Then μⱼ = Σᵢ Cᵢ Rshared(i,j), where Rshared is the resistance common to the two paths back to that reservoir.
  5. For a uniform chain, μⱼ = rc[j(j+1)/2 + j(N−j)]. At the last node, μₙ = rcN(N+1)/2.

The moment is exact for the stated model; using it as a threshold time is an approximation. Neither t₅₀ = μ − 0.35σ nor t₁₀–₉₀ = 2.2σ is a universal identity. Compute the full response when thresholds matter. Gupta et al., Elmore delay bounds ↗

Delay locates the transition; rise time measures its duration

Here, threshold delay t₅₀ measures time from the applied step to 50% of the final temperature change. Elmore / first-moment delay μ is the area above the normalized step response. Rise time tᵣ = t₉₀ − t₁₀ measures the transition between 10% and 90%. A pure transport delay shifts both crossing times equally and leaves this rise time unchanged.

Exact formulas for a single lumped capacitance

tp=−CGln⁡(1−p)t50=ln⁡2 CG≈0.693 CGt10–90=ln⁡9 CG≈2.197 CGtp2−tp1=CGln⁡ ⁣(1−p11−p2)\begin{aligned}t_p&=-\frac CG\ln(1-p)\\t_{50}&=\ln2\,\frac CG\approx0.693\,\frac CG\\t_{10\text{–}90}&=\ln9\,\frac CG\approx2.197\,\frac CG\\t_{p_2}-t_{p_1}&=\frac CG\ln\!\left(\frac{1-p_1}{1-p_2}\right)\end{aligned}

Fractions are relative to the initial-to-final temperature change. These formulas also describe cooling when the response is normalized this way. A constant heat input changes the final temperature but not τ in this linear model.

A useful Elmore-style shortcut

tr,1≈ln⁡9 μμj=∑iRshared(i,j)Cione stepped reservoirtree network\begin{aligned}t_{r,1}&\approx\ln9\,\mu\\\mu_j&=\sum_i R_{\mathrm{shared}(i,j)}C_i\end{aligned}\quad\substack{\text{one stepped reservoir}\\\text{tree network}}

This fits one exponential using the first moment. It is exact for a single RC model and an estimate for a multi-node network. It can overpredict rise time because part of μ represents a delayed onset. For internal heat input or multiple sinks, use the normalized matrix expression above for μ.

Two moments: include the response width

A practical refinement fits a gamma-shaped impulse response using the exact mean μ and variance σ². Define shape a = μ²/σ² and scale θ = σ²/μ. If P(a,z) is the regularized lower incomplete gamma function, the estimated normalized step is y(t) ≈ P(a,t/θ).

tr,2≈θ[P−1(a,0.9)−P−1(a,0.1)]t_{r,2}\approx\theta\big[P^{-1}(a,0.9)-P^{-1}(a,0.1)\big]

The browser evaluates the inverse numerically. With one lumped capacitance, a = 1 and θ = τ, recovering ln(9)τ exactly. For a narrow, nearly Gaussian impulse shape, a rough width estimate is 2.563σ; for a single exponential it is 2.197σ. Neither coefficient is universal. The gamma fit is a moment-matching approximation, not a guaranteed bound or an exact multi-node solution; inspect its error against time marching below.

FOUNDATIONS / HEAT BALANCE → TEMPERATURE RESPONSE → TIMING

From the heat-transfer equation to delay and rise time

A thermal response has no single universal “response time.” We first derive the temperature history, then define the timing quantity we want to extract. In this section time is measured from an ideal input step at t = 0. Temperatures refer to a stationary solid, with no bulk fluid advection or phase change.

A. Heat equation · B. Lumped model · C. Delay versus rise time · D. A true delay · E. Distributed networks

A. Start from local energy conservation and Fourier’s law

1. Balance a small fixed control volume. Let q be the conductive heat-flux vector (W/m²), q̇ᵥ the volumetric heat generation (W/m³), ρ the density (kg/m³), and cₚ the specific heat capacity (J/(kg·K)). Stored thermal energy increases through heat generation and net inward conduction:

ρcp∂T∂t=−∇ ⁣⋅q+q˙vq=−k∇Tρcp∂T∂t=∇ ⁣⋅(k∇T)+q˙v\begin{aligned}\rho c_p\frac{\partial T}{\partial t}&=-\nabla\!\cdot\mathbf q+\dot q_v\\\mathbf q&=-k\nabla T\\\rho c_p\frac{\partial T}{\partial t}&=\nabla\!\cdot(k\nabla T)+\dot q_v\end{aligned}

For constant isotropic conductivity k and constant ρcₚ, this becomes ∂T/∂t = α∇²T + q̇ᵥ/(ρcₚ), where α = k/(ρcₚ). All terms in the energy equation have units W/m³. If k varies spatially, retain ∇·(k∇T); do not replace it by k∇²T without justification.

2. Specify initial and boundary conditions. The differential equation alone cannot determine a time response. Typical choices, with outward surface normal n, are:

Initial:T(r,0)=T0(r)Fixed surface:T=Tb(t)Insulated:−k∇T⋅n=0Convection:−k∇T⋅n=h[Tsurface−T∞(t)]\begin{aligned}\text{Initial:}\quad T(\mathbf r,0)&=T_0(\mathbf r)\\\text{Fixed surface:}\quad T&=T_b(t)\\\text{Insulated:}\quad-k\nabla T\cdot\mathbf n&=0\\\text{Convection:}\quad-k\nabla T\cdot\mathbf n&=h[T_{\mathrm{surface}}-T_\infty(t)]\end{aligned}

A prescribed-temperature boundary and convection through a finite h are different models. For a slab with coordinate ξ = x/L and dimensionless time Fo = αt/L², the source-free equation becomes ∂T/∂Fo = ∂²T/∂ξ². This identifies L²/α as the diffusion time scale. A threshold time also depends on the dimensionless solution, boundary conditions, and sensor location.

B. Integrate the heat equation to derive lumped capacitance

1. Integrate over the body. Applying the divergence theorem gives an exact global balance for constant properties:

ddt∫VρcpT dV=−∮Sq⋅n dA+∫Vq˙v dV=−∮Sh(Tsurface−T∞) dA+Q(t)\begin{aligned}\frac d{dt}\int_V\rho c_pT\,dV&=-\oint_S\mathbf q\cdot\mathbf n\,dA+\int_V\dot q_v\,dV\\&=-\oint_Sh(T_{\mathrm{surface}}-T_\infty)\,dA+Q(t)\end{aligned}

Here Q(t) = ∫ᵥq̇ᵥdV is total internal heating in watts; insulated surfaces contribute zero outward heat flow. The surface integral is over the heat-exchanging surface. A volume-averaged temperature alone does not close this exact equation because the surface temperature can differ from the average.

2. Make the lumped approximation. When internal gradients are small, approximate T(r,t) ≈ T(t), including at the surface. Define Cth = ∫ᵥρcₚdV = ρcₚV for a homogeneous body. For a common ambient temperature and constant h, G = hAₛ. More generally G = ∫ₛh dA if the same ambient acts over the surface:

CthdTdt=G[T∞(t)−T(t)]+Q(t)Rth=1G,τ=CthG=RthCth\begin{aligned}C_{\mathrm{th}}\frac{dT}{dt}&=G[T_\infty(t)-T(t)]+Q(t)\\R_{\mathrm{th}}&=\frac1G,\quad\tau=\frac{C_{\mathrm{th}}}{G}=R_{\mathrm{th}}C_{\mathrm{th}}\end{aligned}

Every term now has units W. The capacity Cth is in J/K, not kilograms: mass m must be multiplied by cₚ. Several independent conductances to fixed reservoirs contribute Gtotal = ΣGₗ and forcing ΣGₗTₗ + Q, giving τ = Cth/Gtotal. Resistances in a series path combine before taking its reciprocal.

3. Check when the approximation is sensible. For convection, choose Lc = V/Aₛ and define Bi = hLc/k. Comparing scales based on that same Lc:

tdiff∼Lc2α=ρcpLc2kτlumped=ρcpVhAs=ρcpLchtdiffτlumped∼hLck=Bi\begin{aligned}t_{\mathrm{diff}}&\sim\frac{L_c^2}{\alpha}=\frac{\rho c_pL_c^2}k\\\tau_{\mathrm{lumped}}&=\frac{\rho c_pV}{hA_s}=\frac{\rho c_pL_c}h\\\frac{t_{\mathrm{diff}}}{\tau_{\mathrm{lumped}}}&\sim\frac{hL_c}k=\mathrm{Bi}\end{aligned}

Small Bi means internal equilibration is fast compared with exchange with the surroundings. Bi < 0.1 is a common engineering screening criterion, not an error guarantee for every geometry, local heat source, or material arrangement. The approximation is obtained from the integrated energy balance; setting ∇²T = 0 in the local equation and then discarding the boundary flux would incorrectly eliminate the mechanism that heats or cools the body. MIT: transient heat transfer and the lumped approximation ↗

4. Solve the post-step ordinary differential equation. For constant T∞, Q, and G > 0 after t = 0, set dT/dt = 0 to find Tss = T∞ + Q/G. Let z(t) = T(t)−Tss. Substitution removes the constant forcing:

Cthdzdt=−Gzdzz=−dtτln⁡∣z(t)z(0)∣=−tτT(t)=Tss+(T0−Tss)e−t/τ\begin{aligned}C_{\mathrm{th}}\frac{dz}{dt}&=-Gz\\\frac{dz}z&=-\frac{dt}\tau\\\ln\left|\frac{z(t)}{z(0)}\right|&=-\frac t\tau\\T(t)&=T_{\mathrm{ss}}+(T_0-T_{\mathrm{ss}})e^{-t/\tau}\end{aligned}

For z(0) = 0, the solution is already at equilibrium and there is no transition. With a nonzero final change, normalize progress as y(t) = [T(t)−T₀]/[Tss−T₀]. This definition gives y(0) = 0 and y(∞) = 1 for both heating and cooling:

y(t)=1−e−t/τy(t)=1-e^{-t/\tau}

For a body with no heat-loss path (G = 0), constant nonzero Q instead gives T(t) = T₀ + Qt/Cth. There is no finite steady temperature, so the steady-state percentage rise-time formulas do not apply.

C. Derive separate definitions for delay and rise time

Threshold delay tₚ is the elapsed time from the input step to the first crossing y = p. In a monotone response the crossing is unique. A common convention is tdelay = t₅₀, but every report should name its threshold. Solving the lumped response gives:

p=1−e−tp/τe−tp/τ=1−ptp=−τln⁡(1−p),0<p<1t50=τln⁡2≈0.693147τ\begin{aligned}p&=1-e^{-t_p/\tau}\\e^{-t_p/\tau}&=1-p\\t_p&=-\tau\ln(1-p),\quad0<p<1\\t_{50}&=\tau\ln2\approx0.693147\tau\end{aligned}

Rise time is the duration between two selected crossings, not the elapsed time from the input step. For fractions p₁ < p₂:

trise(p1,p2)=tp2−tp1=τln⁡ ⁣(1−p11−p2)t10–90=τln⁡9≈2.197225τ\begin{aligned}t_{\mathrm{rise}}(p_1,p_2)&=t_{p_2}-t_{p_1}=\tau\ln\!\left(\frac{1-p_1}{1-p_2}\right)\\t_{10\text{–}90}&=\tau\ln9\approx2.197225\tau\end{aligned}

Elmore / mean delay μ uses the complete response instead of one crossing. For the normalized lumped model, the impulse response is f(t) = dy/dt = e−t/τ/τ. Its first moment, using integration by parts, is:

μ=∫0∞tf(t) dt=[−te−t/τ]0∞+∫0∞e−t/τ dt=τ\mu=\int_0^\infty tf(t)\,dt=\big[-te^{-t/\tau}\big]_0^\infty+\int_0^\infty e^{-t/\tau}\,dt=\tau

Equivalently μ = ∫₀∞[1−y(t)]dt. Thus μ equals τ for this one-pole response, while t₅₀ and t₁₀–₉₀ do not. The standard deviation of this impulse response is also τ, since ∫t²f(t)dt = 2τ² and σ² = 2τ²−τ².

QuantityDefinitionSingle lumped RC
Threshold delayTime from input step to 50%t₅₀ = 0.693147τ
Elmore delayMean impulse time / remaining areaμ = τ
Time constantExponential decay scalet₆₃.₂₁₂… = τ
10–90% rise timeDuration from 10% to 90%tr = 2.197225τ
2% settling timeRemaining error ≤ 2%, thereafterts = −τ ln(0.02) ≈ 3.912023τ

The phrase “rise time to 63.2%” sometimes means an elapsed response time, but it is not the 10–90% rise time used here. A pure exponential never reaches exactly 100% at a finite time; always specify a settling tolerance. For nonmonotone systems, first-crossing times and settling time need additional care because a response can cross a threshold more than once.

D. Show mathematically why a true delay does not lengthen rise time

Suppose the applied input is postponed by a known time d before reaching the same lumped body. This is an imposed transport or actuation delay, not an automatic property of Fourier conduction. Solving the ODE before and after the delayed step gives:

yd(t)={0,0≤t<d1−e−(t−d)/τ,t≥dtp,d=d−τln⁡(1−p)t50,d=d+τln⁡2t10–90,d=[d−τln⁡0.1]−[d−τln⁡0.9]=τln⁡9\begin{aligned}y_d(t)&=\begin{cases}0,&0\le t<d\\1-e^{-(t-d)/\tau},&t\ge d\end{cases}\\t_{p,d}&=d-\tau\ln(1-p)\\t_{50,d}&=d+\tau\ln2\\t_{10\text{–}90,d}&=[d-\tau\ln0.1]-[d-\tau\ln0.9]=\tau\ln9\end{aligned}

The extra d appears in both thresholds and cancels in their difference. In contrast, the mean delay includes the rectangle of height one and width d before the response starts:

μd=∫0d1 dt+∫d∞e−(t−d)/τ dt=d+τσd2=τ2\begin{aligned}\mu_d&=\int_0^d1\,dt+\int_d^\infty e^{-(t-d)/\tau}\,dt=d+\tau\\\sigma_d^2&=\tau^2\end{aligned}

The variance stays the same because shifting a distribution changes its mean but not its width. If the response is known to be a delayed single exponential, its moments imply τ = σ, d = μ−σ (requiring μ ≥ σ), and tr = ln(9)σ. This is a different shape assumption from the gamma fit; it is not a general network identity, and μ−σ must not be interpreted automatically as physical transport delay.

A dimensional example: the same rise time, different delay

Take Cth = 100 J/K and G = 5 W/K, so τ = 20 s. The boundary steps from 20°C to 80°C, with Q = 0. The 10%, 50%, and 90% temperatures are 26°C, 50°C, and 74°C. For cooling from 80°C to 20°C, they would be 74°C, 50°C, and 26°C, with identical normalized timing.

MetricImmediate inputInput delayed by 10 s
t₁₀2.10721 s12.10721 s
t₅₀ threshold delay13.86294 s23.86294 s
t₉₀46.05170 s56.05170 s
Elmore delay μ20 s30 s
10–90% rise time43.94449 s43.94449 s

E. Recover the multi-node model from the same heat equation

Divide the body into control volumes. Integrate the energy equation over each volume, approximate its temperature by Tᵢ, and replace each conductive face flux by a conductance times the adjacent temperature difference. For a uniform connecting segment, Gᵢⱼ = kA/ℓ; for unequal cell-center layers, add the two half-layer resistances and any contact resistance before inverting.

Ci=∫Viρcp dVCidTidt=∑jGij(Tj−Ti)+∑bGib(Tb−Ti)+QiCdTdt+KT=b\begin{aligned}C_i&=\int_{V_i}\rho c_p\,dV\\C_i\frac{dT_i}{dt}&=\sum_jG_{ij}(T_j-T_i)+\sum_bG_{ib}(T_b-T_i)+Q_i\\\mathbf C\frac{d\mathbf T}{dt}+\mathbf K\mathbf T&=\mathbf b\end{aligned}

Internal fluxes cancel when all node balances are added, which preserves total energy. Kᵢᵢ is the sum of all conductances out of node i, including boundary links, and Kᵢⱼ = −Gᵢⱼ. With constant post-step forcing, solve KTss = b. The error z = T−Tss then satisfies C dz/dt = −Kz.

Kϕk=λkCϕkz(t)=∑kakϕke−λktyj(t)=1−∑kAjke−t/τk,τk=1λk\begin{aligned}\mathbf K\boldsymbol\phi_k&=\lambda_k\mathbf C\boldsymbol\phi_k\\\mathbf z(t)&=\sum_ka_k\boldsymbol\phi_k e^{-\lambda_kt}\\y_j(t)&=1-\sum_k A_{jk}e^{-t/\tau_k},\quad\tau_k=\frac1{\lambda_k}\end{aligned}

For a nonzero transition at node j, Aⱼₖ = −aₖφⱼₖ/(Tss,ⱼ−T₀,ⱼ), and ΣₖAⱼₖ = 1. These coefficients depend on the initial state, forcing, and observation point; individual coefficients need not all be positive even for a monotone response. Thresholds must solve ΣₖAⱼₖe−tₚ/τₖ = 1−p, generally numerically. But the remaining-area definition integrates term by term:

μj=∑kAjkτkm2,j=2∑kAjkτk2σj2=2∑kAjkτk2−μj2\begin{aligned}\mu_j&=\sum_kA_{jk}\tau_k\\m_{2,j}&=2\sum_kA_{jk}\tau_k^2\\\sigma_j^2&=2\sum_kA_{jk}\tau_k^2-\mu_j^2\end{aligned}

This explains why neither the slowest τₖ nor the exact μⱼ automatically equals a threshold delay or rise time. The derivations below obtain these same moments by linear solves, then explicitly choose a one-pole or gamma approximation to estimate rise time.

Diffusion is not a literal waiting period. The classical Fourier heat equation is parabolic. Its ideal mathematical solution generally has an arbitrarily small response at a remote point for any t > 0; it does not create a sharp finite arrival time. A practical “diffusion delay” therefore needs a specified threshold or measurement resolution. Treating L²/α as an exact dead time and then adding a bulk RC rise time can count the same storage twice. Finite-speed or non-Fourier models are outside this page’s scope.

Continue to the exact network-moment derivation ↓

DERIVATION / FROM THE NETWORK TO RISE TIME

Detailed derivations of the two estimates

For a gentler introduction with every step worked out, start with Why the estimates work and its two- and ten-node examples.

Both estimates begin with exact moments of the selected input-to-temperature response. The approximation enters only when we choose a response shape from those moments. Below, C is the diagonal matrix of node heat capacities, K is the grounded conductance matrix, b is the forcing vector for a unit input, and eⱼ selects observation node j.

Start with the heat equation and timing definitions ↑

1. Exact network moments · 2. Elmore-based rise time · 3. Two-moment rise time · 4. Worked 10-node example

1. Derive the exact first and second moments

Step 1 — Transform the heat balance. With input u(t), the thermal network obeys C dT/dt + KT = bu(t). Taking a Laplace transform at zero initial conditions gives:

(K+sC)T(s)=bU(s)Hj(s)=Tj(s)U(s)=ejT(K+sC)−1b\begin{aligned}(\mathbf K+s\mathbf C)\mathbf T(s)&=\mathbf bU(s)\\H_j(s)&=\frac{T_j(s)}{U(s)}=\mathbf e_j^\mathsf T(\mathbf K+s\mathbf C)^{-1}\mathbf b\end{aligned}

For a unit step, let x = K⁻¹b be the steady temperature-change vector. Thus Hⱼ(0) = xⱼ. Normalize the transfer function as Fⱼ(s) = Hⱼ(s)/xⱼ, and the unit-step response as yⱼ(t) = Tⱼ(t)/xⱼ. Then Fⱼ(0) = 1 and yⱼ(∞) = 1.

Step 2 — Expand the inverse without changing matrix order. Factor K + sC = K(I + sK⁻¹C), and use the geometric series near s = 0:

(K+sC)−1=(I+sK−1C)−1K−1=K−1−sK−1CK−1+s2K−1CK−1CK−1−⋯\begin{aligned}(\mathbf K+s\mathbf C)^{-1}&=(\mathbf I+s\mathbf K^{-1}\mathbf C)^{-1}\mathbf K^{-1}\\&=\mathbf K^{-1}-s\mathbf K^{-1}\mathbf C\mathbf K^{-1}\\&\quad+s^2\mathbf K^{-1}\mathbf C\mathbf K^{-1}\mathbf C\mathbf K^{-1}-\cdots\end{aligned}

Define three successive linear solves. They use the same K, so a matrix factorization can be reused:

Kx=bx=K−1bKv=Cxv=K−1CxKw=Cvw=K−1CvFj(s)=1−vjxjs+wjxjs2−⋯\begin{aligned}\mathbf K\mathbf x&=\mathbf b&\mathbf x&=\mathbf K^{-1}\mathbf b\\\mathbf K\mathbf v&=\mathbf C\mathbf x&\mathbf v&=\mathbf K^{-1}\mathbf C\mathbf x\\\mathbf K\mathbf w&=\mathbf C\mathbf v&\mathbf w&=\mathbf K^{-1}\mathbf C\mathbf v\\F_j(s)&=1-\frac{v_j}{x_j}s+\frac{w_j}{x_j}s^2-\cdots\end{aligned}

Step 3 — Identify the moments. Let fⱼ(t) = dyⱼ/dt be the normalized impulse response. It integrates to one. Expand its Laplace integral directly:

Fj(s)=∫0∞e−stfj(t) dt=1−s∫0∞tfj(t) dt+s22∫0∞t2fj(t) dt−⋯μj=vjxj,m2,j=2wjxjσj2=m2,j−μj2=2wjxj−(vjxj)2\begin{aligned}F_j(s)&=\int_0^\infty e^{-st}f_j(t)\,dt\\&=1-s\int_0^\infty tf_j(t)\,dt+\frac{s^2}2\int_0^\infty t^2f_j(t)\,dt-\cdots\\\mu_j&=\frac{v_j}{x_j},\qquad m_{2,j}=\frac{2w_j}{x_j}\\\sigma_j^2&=m_{2,j}-\mu_j^2=\frac{2w_j}{x_j}-\left(\frac{v_j}{x_j}\right)^2\end{aligned}

The factor of two is essential: the coefficient of s² is half the second raw moment, not the moment itself. μ has units seconds, m₂ and σ² have units seconds squared. The coefficient wⱼ/xⱼ belongs to the normalized transfer-function expansion; it is not generally a denominator coefficient.

Step 4 — Connect the first moment to step-response delay. Since f = y′ = −(1−y)′, integration by parts gives μ = [−t(1−y)]₀∞ + ∫₀∞(1−y)dt. The boundary term vanishes for a stable finite RC network. Similarly, m₂ = 2∫₀∞t(1−y)dt.

μ=∫0∞[1−y(t)] dtσ2=2∫0∞t[1−y(t)] dt−μ2\begin{aligned}\mu&=\int_0^\infty[1-y(t)]\,dt\\\sigma^2&=2\int_0^\infty t[1-y(t)]\,dt-\mu^2\end{aligned}

Thus μ measures the total area remaining above the normalized response. It is not defined as a particular crossing time. These integrals also provide a way to estimate moments from a sufficiently long measured or time-marched response, with care for the unobserved tail.

2. Derive the Elmore-based rise-time estimate

Step 1 — Reduce the matrix expression to shared paths. Write Z = K⁻¹. Then:

μj=∑iZjiCixixj\mu_j=\sum_iZ_{ji}C_i\frac{x_i}{x_j}

For a tree with one stepped reservoir and no other sink, the final temperature change is identical at every node, so xᵢ/xⱼ = 1. To interpret Zⱼᵢ, inject one watt at node i while the root reservoir is held at zero temperature change. That watt flows along the unique path from i to the root. The temperature at node j equals the sum of resistances on the part shared by the root-to-i and root-to-j paths. Therefore Zⱼᵢ = Rshared(i,j):

μj=∑iRshared(i,j)Ci=∑e on pathroot→jReCdownstream,e\mu_j=\sum_iR_{\mathrm{shared}(i,j)}C_i=\sum_{\substack{e\text{ on path}\\\text{root}\to j}}R_eC_{\mathrm{downstream},e}

The second form follows by exchanging the sums: each edge carries the contribution of all capacities downstream of it, including branches. With several sinks or local heat input, retain Zⱼᵢ and the steady-state weights xᵢ/xⱼ; an unweighted shared-path sum is not generally valid.

Step 2 — Fit a single pole to the first moment. Choose F₁(s) = 1/(1+sτfit). Its expansion is 1−sτfit+s²τfit²−… . Matching the exact constant and first-order terms forces τfit = μ:

F1(s)=11+sμ,y1(t)=1−e−t/μF_1(s)=\frac1{1+s\mu},\qquad y_1(t)=1-e^{-t/\mu}

Step 3 — Solve for the thresholds. Set y₁(tₚ) = p, so e−tₚ/μ = 1−p. Subtract the two threshold times:

tp,1=−μln⁡(1−p)t10,1=−μln⁡0.9≈0.105361μt90,1=−μln⁡0.1≈2.302585μtr,1=μln⁡9≈2.197225μ\begin{aligned}t_{p,1}&=-\mu\ln(1-p)\\t_{10,1}&=-\mu\ln0.9\approx0.105361\mu\\t_{90,1}&=-\mu\ln0.1\approx2.302585\mu\\t_{r,1}&=\mu\ln9\approx2.197225\mu\end{aligned}

This also predicts t₅₀,1 = μ ln(2). Calling μ itself a “delay estimate” does not make μ the exact t₅₀. The rise-time formula is exact for a single lumped RC; for a network it is the consequence of an explicitly chosen one-pole fit.

Why one moment is insufficient. A pure delay d followed by a single RC has F(s) = e−sd/(1+sτ), μ = d+τ, and σ² = τ². Its actual 10–90% rise time is ln(9)τ because the delay cancels in the difference. The one-moment estimate ln(9)(d+τ) counts that delay as extra rise duration. This example explains the limitation; a diffusion network need not have a literal dead-time segment.

3. Derive the two-moment gamma estimate

Step 1 — Choose a positive two-parameter shape. Mean and variance do not uniquely determine a waveform, so a shape assumption is still needed. This page chooses the gamma impulse-response family:

f2(t)=ta−1e−t/θΓ(a)θa,t>0, a>0, θ>0Γ(a)=∫0∞za−1e−z dz\begin{aligned}f_2(t)&=\frac{t^{a-1}e^{-t/\theta}}{\Gamma(a)\theta^a},\quad t>0,\ a>0,\ \theta>0\\\Gamma(a)&=\int_0^\infty z^{a-1}e^{-z}\,dz\end{aligned}

Here a is dimensionless and θ is a time scale. Substituting z = t/θ verifies ∫f₂dt = 1. Applying the same substitution to ∫tᵏf₂dt gives θᵏΓ(a+k)/Γ(a). Using Γ(a+1) = aΓ(a):

E⁡[t]=aθE⁡[t2]=a(a+1)θ2Var⁡(t)=a(a+1)θ2−(aθ)2=aθ2\begin{aligned}\operatorname E[t]&=a\theta\\\operatorname E[t^2]&=a(a+1)\theta^2\\\operatorname{Var}(t)&=a(a+1)\theta^2-(a\theta)^2=a\theta^2\end{aligned}

Step 2 — Match the exact network moments. Equating aθ = μ and aθ² = σ², first divide the second equation by the first, then solve for a:

θ=σ2μ,a=μθ=μ2σ2\theta=\frac{\sigma^2}\mu,\qquad a=\frac\mu\theta=\frac{\mu^2}{\sigma^2}

Equivalently, the gamma transfer function is F₂(s) = (1+sθ)−a. Its expansion is 1−aθs+[a(a+1)θ²/2]s²−… . Substitution yields 1−μs+[(μ²+σ²)/2]s²−… , matching the exact network through s². This is a two-moment fit; it is not necessarily a two-pole model. A noninteger a generally does not correspond to a finite rational RC transfer function.

Step 3 — Integrate to obtain the step response. Define the regularized lower incomplete gamma function P(a,z). Then:

P(a,z)=1Γ(a)∫0zqa−1e−q dqy2(t)=∫0tf2(u) du=P ⁣(a,tθ)\begin{aligned}P(a,z)&=\frac1{\Gamma(a)}\int_0^z q^{a-1}e^{-q}\,dq\\y_2(t)&=\int_0^t f_2(u)\,du=P\!\left(a,\frac t\theta\right)\end{aligned}

Step 4 — Invert the thresholds. P⁻¹(a,p) denotes the nonnegative z satisfying P(a,z) = p; it is an inverse in the second argument, not 1/P. Consequently:

tp,2=θP−1(a,p)tr,2≈σ2μ[P−1 ⁣(μ2σ2,0.9)−P−1 ⁣(μ2σ2,0.1)]\begin{aligned}t_{p,2}&=\theta P^{-1}(a,p)\\t_{r,2}&\approx\frac{\sigma^2}\mu\left[P^{-1}\!\left(\frac{\mu^2}{\sigma^2},0.9\right)-P^{-1}\!\left(\frac{\mu^2}{\sigma^2},0.1\right)\right]\end{aligned}

The inverse is evaluated numerically. For an independent calculation, use gamma.ppf(p, a, scale=theta) in SciPy, with zero location. The SciPy gamma reference defines the distribution and its inverse CDF. Choosing this family is an approximation made here, not a universal Elmore rise-time theorem.

Step 5 — Check the single-node limit. A single RC gives F(s) = 1/(1+sτ), μ = τ, m₂ = 2τ², and σ² = τ². Therefore a = 1 and θ = τ. Since Γ(1) = 1 and P(1,z) = 1−e−z, the two-moment formula reduces exactly to τ ln(9).

Step 6 — Understand the limits. If a is large, the gamma shape approaches a normal shape with mean μ and standard deviation σ, giving tᵣ ≈ [Φ⁻¹(0.9)−Φ⁻¹(0.1)]σ ≈ 2.563103σ. For a = 1, the factor is ln(9) ≈ 2.197225. For other shapes neither constant is exact. If a < 1, the fitted impulse response is singular at t = 0 even though a finite RC network has a finite initial derivative; this can limit early-time accuracy. Matching two moments does not fix skewness, a separate transport delay, or the long-time decay rate. The estimate can be high or low and has no general error bound.

4. Work through the 10-node example numerically

Use the default left-step / insulated-end ladder: N = 10, each r = 0.1 K/W, each c = 0.1 J/K, and observe node 10. A unit boundary step gives xᵢ = 1 K. Here Zⱼᵢ = r min(i,j), so the complete first-moment vector is:

μj=rc[j(j+1)2+j(10−j)]μ=[0.10,0.19,0.27,0.34,0.40,0.45,0.49,0.52,0.54,0.55] s\begin{aligned}\mu_j&=rc\left[\frac{j(j+1)}2+j(10-j)\right]\\\boldsymbol\mu&=[0.10,0.19,0.27,0.34,0.40,\\&\qquad0.45,0.49,0.52,0.54,0.55]\,\mathrm s\end{aligned}

At the last node, the first solve gives μ₁₀ = 0.01(1+2+…+10) = 0.55 s. For the second solve, use vᵢ = xᵢμᵢ and sum the same inverse-matrix row again:

w10x10=∑iZ10,iCiμi=0.01∑i=110iμi=0.253 s2m2=2(0.253)=0.506 s2σ2=0.506−0.552=0.2035 s2\begin{aligned}\frac{w_{10}}{x_{10}}&=\sum_i Z_{10,i}C_i\mu_i=0.01\sum_{i=1}^{10}i\mu_i=0.253\,\mathrm{s^2}\\m_2&=2(0.253)=0.506\,\mathrm{s^2}\\\sigma^2&=0.506-0.55^2=0.2035\,\mathrm{s^2}\end{aligned}

One moment gives tᵣ,1 = ln(9)(0.55) = 1.208474 s. Two moments give a = 0.55²/0.2035 = 1.486486 and θ = 0.2035/0.55 = 0.370000 s. The gamma quantiles are:

P−1(a,0.1)≈0.286326t10,2≈0.105941 sP−1(a,0.9)≈3.104379t90,2≈1.148620 str,2≈1.042680 s\begin{aligned}P^{-1}(a,0.1)&\approx0.286326& t_{10,2}&\approx0.105941\,\mathrm s\\P^{-1}(a,0.9)&\approx3.104379& t_{90,2}&\approx1.148620\,\mathrm s\\t_{r,2}&\approx1.042680\,\mathrm s\end{aligned}

The full modal solution gives t₁₀ = 0.141062 s and t₉₀ = 1.136826 s, hence tᵣ = 0.995764 s. Refined RK4 time marching agrees to the displayed six decimals. The one-moment estimate is about 21.36% high; the two-moment estimate is about 4.71% high. Notice that a reasonably close rise-time difference does not imply that both individual threshold times are equally accurate.

Compare the other examples and time-step refinement below ↓ · Inspect the selected node’s individual moment contributions ↑

PHYSICAL LAYERS → THERMAL CIRCUIT

Convective boundaries & non-uniform layers

Consider air heating a copper plate, followed by an insulating polymer and a sensor. The far face of the sensor is insulated. Each node stores the heat capacity of its entire layer, while its temperature represents the layer center. Assume one-dimensional conduction, common cross-sectional area A, constant properties, and perfect contact between layers.

Layer resistance

Ri=LikiA

Rᵢ in K/W; thickness Lᵢ in m; conductivity kᵢ in W/(m·K); area A in m². This is the full-layer resistance.

Layer heat capacity

Ci=ρiVicp,i=ρiALicp,i

Cᵢ in J/K; density ρᵢ in kg/m³; volume Vᵢ in m³; specific heat cₚ,ᵢ in J/(kg·K).

Convective film resistance

Rconv=1hA

Rconv in K/W; heat-transfer coefficient h in W/(m²·K). Here the exposed face has area A; use the actual exposed area if different.

1. Place the nodes at the layer centers

Fourier’s law gives Q̇ = kA(Tleft−Tright)/L, hence R = ΔT/Q̇ = L/(kA). A uniform half-layer has half that resistance. Newton’s convection law gives Q̇ = hA(Tamb−Tsurface), hence Rconv = 1/(hA).

Three physical layers and their center-temperature nodesAmbient air crosses a convective film into copper, then polymer, then sensor. Nodes 1, 2, and 3 lie at each layer center. The sensor's far surface is insulated. AMBIENT AIRTambfilm: h, Rconv COPPER · L₁, k₁POLYMER · L₂, k₂SENSOR · L₃, k₃C₁ = ρ₁AL₁cₚ,₁C₂ = ρ₂AL₂cₚ,₂C₃ = ρ₃AL₃cₚ,₃ T₁T₂T₃ R₁/2R₁/2R₂/2R₂/2R₃/2R₃/2 Far face insulated: Q̇ = 0
The capacity belongs to the whole layer. Half resistances locate the temperature node at its center. The rightmost half-layer has no outward heat-flow link because the far face is insulated.

2. Convert the geometry into actual circuit links

Equivalent thermal RC ladder with correctly combined half-layer resistancesAmbient connects to node 1 through Rconv plus R1 over 2. Node 1 connects to node 2 through R1 over 2 plus R2 over 2. Node 2 connects to node 3 through R2 over 2 plus R3 over 2. Each node has its own heat capacity. There is no right reservoir. TambRconv + R₁/2R₁/2 + R₂/2R₂/2 + R₃/2r₀₁r₁₂r₂₃ T₁T₂T₃ C₁ · CopperC₂ · PolymerC₃ · SensorNo right sink
The vertical capacitor symbols represent energy storage, Cᵢ dTᵢ/dt. They are not additional heat-loss connections to ambient. Lowercase r denotes a circuit link; uppercase Rᵢ denotes a full layer.
r01=Rconv+R12r12=R12+R22r23=R22+R32\begin{aligned}r_{01}&=R_{\mathrm{conv}}+\frac{R_1}2\\r_{12}&=\frac{R_1}2+\frac{R_2}2\\r_{23}&=\frac{R_2}2+\frac{R_3}2\end{aligned}

Add an interface contact resistance to its corresponding inter-node link if needed. A right convective boundary would add r₃b = R₃/2 + 1/(hright Aright); it would change the topology and require the general matrix moment formula instead of the single-sink sum below.

3. Accumulate the resistance back to ambient

S1=r01=Rconv+R12S2=r01+r12=Rconv+R1+R22S3=r01+r12+r23=Rconv+R1+R2+R32\begin{aligned}S_1&=r_{01}=R_{\mathrm{conv}}+\frac{R_1}2\\S_2&=r_{01}+r_{12}=R_{\mathrm{conv}}+R_1+\frac{R_2}2\\S_3&=r_{01}+r_{12}+r_{23}=R_{\mathrm{conv}}+R_1+R_2+\frac{R_3}2\end{aligned}

Each complete intervening layer contributes its full resistance; the observed layer contributes only the half between its center and the previous interface. These paths describe a lumped approximation to the geometry, not an exact spatial temperature field inside each layer.

4. Derive the Elmore delay at the sensor

Apply a step in Tamb with no internal heat generation and no other sink. At steady state, every node has the same temperature change, so xᵢ/x₃ = 1. The common path from node i and node 3 back to ambient has resistance Sᵢ. The general moment formula therefore reduces to:

μ3=S1C1+S2C2+S3C3=Rconv(C1+C2+C3)+R1(C12+C2+C3)+R2(C22+C3)+R3C32\begin{aligned}\mu_3&=S_1C_1+S_2C_2+S_3C_3\\&=R_{\mathrm{conv}}(C_1+C_2+C_3)\\&\quad+R_1\left(\frac{C_1}2+C_2+C_3\right)\\&\quad+R_2\left(\frac{C_2}2+C_3\right)+\frac{R_3C_3}2\end{aligned}

This expansion shows how convection loads all capacities, whereas each downstream resistance affects a smaller subset. Equivalently μ₃ = r₀₁(C₁+C₂+C₃) + r₁₂(C₂+C₃) + r₂₃C₃. At an upstream observation node j, the correct shared resistance is Smin(i,j), so μⱼ = Σᵢ Smin(i,j)Cᵢ.

5. Follow a numerical example

For continuity with the existing unequal-layer preset, use illustrative full-layer resistances R = [0.005, 2.5, 0.1] K/W, capacities C = [3.5, 0.8, 0.2] J/K, and Rconv = 0.5 K/W. These are circuit inputs for an example, not certified copper, polymer, or sensor material data.

NodeLink into node (K/W)Accumulated Sᵢ (K/W)Cᵢ (J/K)SᵢCᵢ (s)
1 · Copper0.5 + 0.005/2 = 0.50250.50253.51.75875
2 · Polymer0.005/2 + 2.5/2 = 1.25251.7550.81.404
3 · Sensor2.5/2 + 0.1/2 = 1.33.0550.20.611
μ3=1.75875+1.404+0.611=3.77375 str,Elmore≈ln⁡9×3.77375=8.29178 s\begin{aligned}\mu_3&=1.75875+1.404+0.611=3.77375\,\mathrm s\\t_{r,\mathrm{Elmore}}&\approx\ln9\times3.77375=8.29178\,\mathrm s\end{aligned}

For the same input and sensor, the two-moment estimate is about 6.71640 s; the full modal solution and RK4 time marching give about 6.47804 s. The one-moment estimate is about 28.00% high and the two-moment estimate about 3.68% high. The explorer shows the full transient, all node times, and individual moment contributions.

Node equations for this exact ladder
C1dT1dt=Tamb−T1r01+T2−T1r12C2dT2dt=T1−T2r12+T3−T2r23C3dT3dt=T2−T3r23\begin{aligned}C_1\frac{dT_1}{dt}&=\frac{T_{\mathrm{amb}}-T_1}{r_{01}}+\frac{T_2-T_1}{r_{12}}\\C_2\frac{dT_2}{dt}&=\frac{T_1-T_2}{r_{12}}+\frac{T_3-T_2}{r_{23}}\\C_3\frac{dT_3}{dt}&=\frac{T_2-T_3}{r_{23}}\end{aligned}

The last equation has no heat-loss term at the insulated face. These are the equations solved by the explorer after the full-layer resistances have been converted into center-to-center links.

Active feedback is a separate model

Active controllers require an augmented dynamic model. For a single pole H(s) = K₀/(1+sτ) with proportional negative feedback gain Kc, the closed-loop pole has τ/(1+KcK₀). This shortcut does not apply to an arbitrary multi-node network or a controller with its own dynamics.

Elmore delay: derivations and applications

WORKED GUIDE / A SHORTCUT YOU CAN CALCULATE BY HAND

Elmore delay: accumulated resistance × heat capacity

For the last node of a 1D chain driven by one ambient-temperature step, with the far end insulated and no other sink, a useful single response metric is:

τElmore,end≡μN=∑i=1NRi−to−ambientCi
  • Cᵢ is the heat capacity of node i in J/K.
  • Rᵢ-to-ambient is the sum of the link resistances from node i back to the single fixed-temperature reservoir, in K/W.
  • μₙ is the exact first-moment delay of the endpoint response in this linear model. The notation τElmore is a delay metric, not a claim that it equals the dominant pole or an exact rise time.

Why the sum works

For a unit ambient step, each node eventually changes by one kelvin. Its capacity contributes to the transient storage, and each upstream resistance restricts heat exchange with that storage. In the first-moment equation Kv = C1, the capacity values act mathematically like steady forcing values. The flow through a given edge is the sum of capacities downstream of that edge. Summing the resulting resistance-times-capacity drops to the endpoint gives:

μN=∑e=1NReCdownstream,e=R1(C1+⋯+CN)+⋯+RNCN=R1C1+(R1+R2)C2+⋯+(R1+⋯+RN)CN\begin{aligned}\mu_N&=\sum_{e=1}^N R_eC_{\mathrm{downstream},e}\\&=R_1(C_1+\cdots+C_N)+\cdots+R_NC_N\\&=R_1C_1+(R_1+R_2)C_2+\cdots+(R_1+\cdots+R_N)C_N\end{aligned}

Here Rₑ denotes an actual circuit link, not a full physical layer. The last line is the accumulated-resistance formula. It results from exchanging the order of summation—not from waiting for one layer to finish warming before the next starts. All nodes evolve simultaneously.

Observe any node: keep only the shared path

μk=∑iRshared(i,k)Ci,Rshared(i,k)=∑e=1min⁡(i,k)Re\mu_k=\sum_iR_{\mathrm{shared}(i,k)}C_i,\qquad R_{\mathrm{shared}(i,k)}=\sum_{e=1}^{\min(i,k)}R_e

The shared path ends at the nearer of nodes i and k. A downstream capacity still affects an upstream sensor, but only through the common upstream resistances. For a uniform chain of N nodes, with each link r and each capacity c:

μk=rc[1+2+⋯+(k−1)+k(N−k+1)]=rc[k(k−1)2+k(N−k+1)]=rc[k(k+1)2+k(N−k)]\begin{aligned}\mu_k&=rc[1+2+\cdots+(k-1)+k(N-k+1)]\\&=rc\left[\frac{k(k-1)}2+k(N-k+1)\right]\\&=rc\left[\frac{k(k+1)}2+k(N-k)\right]\end{aligned}

Step-by-step: nodes 1, 3, 5, and 10

Let N = 10, r = 0.1 K/W, and c = 0.1 J/K. The left ambient steps by 1 K; the right end is insulated. Thus Rtotal = 1 K/W and Ctotal = 1 J/K. The following values are first moments; the explorer separately computes threshold and rise times.

Node 1 · nearest to ambient

All ten capacities share the first resistance.

μ1=r(C1+⋯+C10)=0.1(10×0.1)=0.100 s\mu_1=r(C_1+\cdots+C_{10})=0.1(10\times0.1)=0.100\,\mathrm s

Node 3

Node 1 shares one link; node 2 shares two. Nodes 3–10 share three links with the target.

μ3=rC1+2rC2+3r(C3+⋯+C10)=0.1(0.1)+0.2(0.1)+0.3(0.8)=0.270 s\begin{aligned}\mu_3&=rC_1+2rC_2+3r(C_3+\cdots+C_{10})\\&=0.1(0.1)+0.2(0.1)+0.3(0.8)=0.270\,\mathrm s\end{aligned}

Node 5 · one of the middle pair

Nodes 1–4 have shorter shared paths. All six nodes 5–10 share five links.

μ5=rC1+2rC2+3rC3+4rC4+5r(C5+⋯+C10)=0.01+0.02+0.03+0.04+0.30=0.400 s\begin{aligned}\mu_5&=rC_1+2rC_2+3rC_3+4rC_4+5r(C_5+\cdots+C_{10})\\&=0.01+0.02+0.03+0.04+0.30=0.400\,\mathrm s\end{aligned}

Node 10 · endpoint

Every node’s full path to ambient is shared with the endpoint.

μ10=∑i=110(ir)c=0.01∑i=110i=0.01(55)=0.550 s\mu_{10}=\sum_{i=1}^{10}(ir)c=0.01\sum_{i=1}^{10}i=0.01(55)=0.550\,\mathrm s

The endpoint arithmetic progression gives the closed form:

μN=rcN(N+1)2=RtotalCtotalN+12Nμ10=1×1×1120=0.55 s\begin{aligned}\mu_N&=rc\frac{N(N+1)}2=R_{\mathrm{total}}C_{\mathrm{total}}\frac{N+1}{2N}\\\mu_{10}&=1\times1\times\frac{11}{20}=0.55\,\mathrm s\end{aligned}

To turn this into a one-pole rise-time estimate, multiply μ by ln(9): the endpoint estimate is 1.20847 s, while its actual 10–90% rise time is 0.995764 s. The agreement of μ with a particular t₆₃.₂ in one example is not a general equality.

Changing the boundary or adding a middle heat source

Keep N = 10 and r = c = 0.1 in SI units. A second boundary adds an eleventh resistor, so the boundary-to-boundary resistance is now 1.1 K/W. Let Z = K⁻¹. For a single left reservoir Zₖᵢ = r min(i,k); for two fixed reservoirs:

Zki=r[min⁡(i,k)−kiN+1]μk=∑iZkiCixixk,Kx=b\begin{aligned}Z_{ki}&=r\left[\min(i,k)-\frac{ki}{N+1}\right]\\\mu_k&=\sum_iZ_{ki}C_i\frac{x_i}{x_k},\qquad\mathbf K\mathbf x=\mathbf b\end{aligned}

Z is the steady thermal response to a unit heat injection. For two sinks it is not a unique shared-path resistance. The xᵢ/xₖ factors account for nonuniform final temperature changes. These are the missing factors when applying the endpoint shortcut to a local heat source.

  1. Left ambient steps, right reservoir stays fixed: xᵢ = (11−i)/11 K. At node 5, xᵢ/x₅ = (11−i)/6. Substitution gives μ₅ = 0.141667 s. If both reservoirs instead step by 1 K, xᵢ = 1 K and μ₅ = 0.150000 s. These are distinct experiments.
  2. Left ambient steps, right end insulated: xᵢ = 1 K. At node 10, μ₁₀ = 0.01Σi = 0.550000 s. At node 5 the same experiment gives 0.400000 s, as above.
  3. Heat step Q = 1 W at node 5, two fixed reservoirs: xᵢ = Zᵢ₅Q; x₅ = Z₅₅Q = (3/11) K. Reciprocity gives μ₅ = cΣᵢZ₅ᵢ²/Z₅₅ = 0.101667 s. Doubling Q doubles all temperature changes but cancels from these ratios.
  4. Heat step Q = 1 W at node 5, right insulated: xᵢ = 0.1 min(i,5) K and x₅ = 0.5 K. Thus μ₅ = 0.002[1²+2²+3²+4²+5²+5×5²] = 0.002(55+125) = 0.360000 s.
All ten contributions at node 5, for the boundary and heat-source cases

Every entry is Z₅ᵢ Cᵢ xᵢ/x₅, in seconds. The two-step boundary case has xᵢ/x₅ = 1. Values are rounded for display; totals use unrounded values.

iLeft step, right fixedBoth ends steppedQ at 5, two sinksQ at 5, one sink
10.0090910.0054550.0010910.002000
20.0163640.0109090.0043640.008000
30.0218180.0163640.0098180.018000
40.0254550.0218180.0174550.032000
50.0272730.0272730.0272730.050000
60.0189390.0227270.0189390.050000
70.0121210.0181820.0121210.050000
80.0068180.0136360.0068180.050000
90.0030300.0090910.0030300.050000
100.0007580.0045450.0007580.050000
Total μ₅0.1416670.1500000.1016670.360000

The explorer presets reproduce these cases and provide the full transient. The comparison tables below distinguish first moment, dominant mode, actual t₆₃.₂, and 10–90% rise time, including independent time marching. Positive passive-network contributions here do not become negative near the far boundary.

Rise-time estimates: worked examples

WORKED GUIDE / FROM DELAY TO TRANSITION DURATION

Rise-time estimates: find two crossings, then subtract

This companion to the Elmore delay guide uses the same 10-node chain and observation nodes. A first moment tells us an average response time; rise time measures the width of a specific transition. The two are connected only after choosing a response shape.

1 / Define the change

yj(t)=Tj(t)−Tj(0)Tj(∞)−Tj(0),tr=t90−t10y_j(t)=\frac{T_j(t)-T_j(0)}{T_j(\infty)-T_j(0)},\qquad t_r=t_{90}-t_{10}

Use each output’s own initial and final temperatures. For warming from 20°C to 30°C, the crossings are 21°C and 29°C. For cooling from 30°C to 20°C, they are 29°C and 21°C.

2 / Fit one exponential

t10,1=0.105361μt90,1=2.302585μtr,1=ln⁡9 μ\begin{aligned}t_{10,1}&=0.105361\mu\\t_{90,1}&=2.302585\mu\\t_{r,1}&=\ln9\,\mu\end{aligned}

Exact for a single RC. For a network, this is an approximation based on the exact first moment, not an exact threshold formula.

3 / Include the second moment

σ2=2wjxj−μj2a=μ2σ2,θ=σ2μtp,2=θP−1(a,p)\begin{aligned}\sigma^2&=\frac{2w_j}{x_j}-\mu_j^2\\a&=\frac{\mu^2}{\sigma^2},\quad\theta=\frac{\sigma^2}\mu\\t_{p,2}&=\theta P^{-1}(a,p)\end{aligned}

Subtract the gamma fit’s two crossings. The fit matches mean and variance; it does not guarantee the correct waveform or an upper/lower bound.

Check the single-mass case by hand

Take R = 1 K/W and C = 1 J/K. Then τ = RC = μ = 1 s, σ² = 1 s², a = 1, and θ = 1 s. The gamma shape is an exponential, so both estimates give the exact answer:

t10=−ln⁡0.9=0.105361 st90=−ln⁡0.1=2.302585 str=2.197225 s\begin{aligned}t_{10}&=-\ln0.9=0.105361\,\mathrm s\\t_{90}&=-\ln0.1=2.302585\,\mathrm s\\t_r&=2.197225\,\mathrm s\end{aligned}

Step-by-step: the same nodes 1, 3, 5, and 10

Use N = 10, link resistance r = 0.1 K/W, and capacity c = 0.1 J/K per node. The left reservoir steps by 1 K and the right end is insulated. From the Elmore guide, all xᵢ = 1 K and:

μ=[0.10,0.19,0.27,0.34,0.40,0.45,0.49,0.52,0.54,0.55] sZji=0.1min⁡(i,j) K/Wwjxj=∑iZjiCiμi=0.01∑imin⁡(i,j)μi\begin{aligned}\boldsymbol\mu&=[0.10,0.19,0.27,0.34,0.40,\\&\qquad0.45,0.49,0.52,0.54,0.55]\,\mathrm s\\Z_{ji}&=0.1\min(i,j)\,\mathrm{K/W}\\\frac{w_j}{x_j}&=\sum_i Z_{ji}C_i\mu_i=0.01\sum_i\min(i,j)\mu_i\end{aligned}

The final sum runs over all ten nodes. It is the second linear solve, not a sum of node rise times. The coefficient 0.01 has units seconds; multiplying it by μᵢ produces seconds squared. For example, at node 1, w₁/x₁ = 0.01(0.10 + 0.19 + … + 0.55) = 0.038500 s².

Node 1 · Nearest to ambient

Start with the Elmore calculation: μ1 = 0.100 s.

μ=0.100000 swjxj=0.038500 s2m2=2(0.038500)=0.077000 s2σ2=0.077000−(0.100000)2=0.067000 s2a=0.149254,θ=0.670000 s\begin{aligned}\mu&=0.100000\,\mathrm s\\\frac{w_j}{x_j}&=0.038500\,\mathrm{s^2}\\m_2&=2(0.038500)=0.077000\,\mathrm{s^2}\\\sigma^2&=0.077000-(0.100000)^2=0.067000\,\mathrm{s^2}\\a&=0.149254,\quad\theta=0.670000\,\mathrm s\end{aligned}

One moment: ln(9) × 0.100 = 0.219722 s.
Two moments: θ[P⁻¹(a,0.9) − P⁻¹(a,0.1)] = 0.296325 s.
Full response: 0.288622 − 0.001113 = 0.287509 s.

Rise-time errors: one moment -23.58%; two moments +3.07%.

The early response is fast but the long tail carries much of the mean. The one-moment fit underestimates the rise duration.

Node 3 · Three links from ambient

Start with the Elmore calculation: μ3 = 0.270 s.

μ=0.270000 swjxj=0.111600 s2m2=2(0.111600)=0.223200 s2σ2=0.223200−(0.270000)2=0.150300 s2a=0.485030,θ=0.556667 s\begin{aligned}\mu&=0.270000\,\mathrm s\\\frac{w_j}{x_j}&=0.111600\,\mathrm{s^2}\\m_2&=2(0.111600)=0.223200\,\mathrm{s^2}\\\sigma^2&=0.223200-(0.270000)^2=0.150300\,\mathrm{s^2}\\a&=0.485030,\quad\theta=0.556667\,\mathrm s\end{aligned}

One moment: ln(9) × 0.270 = 0.593251 s.
Two moments: θ[P⁻¹(a,0.9) − P⁻¹(a,0.1)] = 0.731296 s.
Full response: 0.764293 − 0.015837 = 0.748456 s.

Rise-time errors: one moment -20.74%; two moments -2.29%.

The one-moment fit still gives a shorter transition. Two moments improve the duration here, but do not make either crossing exact.

Node 5 · Middle of the chain

Start with the Elmore calculation: μ5 = 0.400 s.

μ=0.400000 swjxj=0.174000 s2m2=2(0.174000)=0.348000 s2σ2=0.348000−(0.400000)2=0.188000 s2a=0.851064,θ=0.470000 s\begin{aligned}\mu&=0.400000\,\mathrm s\\\frac{w_j}{x_j}&=0.174000\,\mathrm{s^2}\\m_2&=2(0.174000)=0.348000\,\mathrm{s^2}\\\sigma^2&=0.348000-(0.400000)^2=0.188000\,\mathrm{s^2}\\a&=0.851064,\quad\theta=0.470000\,\mathrm s\end{aligned}

One moment: ln(9) × 0.400 = 0.878890 s.
Two moments: θ[P⁻¹(a,0.9) − P⁻¹(a,0.1)] = 0.927693 s.
Full response: 0.965548 − 0.045456 = 0.920092 s.

Rise-time errors: one moment -4.48%; two moments +0.83%.

Here the first-moment estimate is close but low, while the two-moment estimate is slightly high.

Node 10 · Insulated endpoint

Start with the Elmore calculation: μ10 = 0.550 s.

μ=0.550000 swjxj=0.253000 s2m2=2(0.253000)=0.506000 s2σ2=0.506000−(0.550000)2=0.203500 s2a=1.486486,θ=0.370000 s\begin{aligned}\mu&=0.550000\,\mathrm s\\\frac{w_j}{x_j}&=0.253000\,\mathrm{s^2}\\m_2&=2(0.253000)=0.506000\,\mathrm{s^2}\\\sigma^2&=0.506000-(0.550000)^2=0.203500\,\mathrm{s^2}\\a&=1.486486,\quad\theta=0.370000\,\mathrm s\end{aligned}

One moment: ln(9) × 0.550 = 1.208474 s.
Two moments: θ[P⁻¹(a,0.9) − P⁻¹(a,0.1)] = 1.042680 s.
Full response: 1.136826 − 0.141062 = 0.995764 s.

Rise-time errors: one moment +21.36%; two moments +4.71%.

The slow onset and the subsequent transition are distinct. The one-moment estimate is now longer than the actual rise time.

Errors above are 100 × (estimate / full-response rise − 1). A positive sign means too long; a negative sign means too short. All values use the same input, output, and thresholds. See the gamma derivation and assumptions for why the second estimate is still approximate.

See the crossings and the transition width

Solid teal: full modal response. Dashed brown: one-moment fit. Dotted purple: two-moment fit. The shaded band spans the actual t₁₀ to t₉₀; each lower bar spans its own model’s two crossings on the same horizontal time scale. On narrow screens, scroll the diagram sideways. Use the exact values below.

Crossing times and rise duration, in seconds
Responset₁₀ (s)t₉₀ (s)t₉₀ − t₁₀ (s)Rise error

Repeat the calculation after changing the boundary or heat source

For each case, rebuild K and b, then solve Kx = b, Kv = Cx, and Kw = Cv. Use μⱼ = vⱼ/xⱼ and σ² = 2wⱼ/xⱼ − μⱼ² before fitting either response. Do not reuse the uniform-final-temperature path sum for a local heat input or a second unstepped sink.

Same uniform chain unless identified as unequal layers; all times in seconds
ExperimentObserve nodeμ (s)One-moment rise (s)Two-moment rise (s)Full modal rise (s)
Both ends step by 1 K50.1500000.3295840.2870390.274999
Left steps; right stays fixed50.1416670.3112730.2802690.268542
1 W at node 5; two fixed sinks50.1016670.2233840.2480580.253917
1 W at node 5; far end insulated50.3600000.7910010.8895250.915420
Three unequal layers; ambient step33.7737508.2917766.7164026.478040

The two-reservoir experiments include an eleventh 0.1 K/W link; their boundary-to-boundary resistance is 1.1 K/W. The unequal-layer example uses the convective film and center-to-center layer resistances derived above. Select any row’s experiment in the graphic to see the individual crossings and load it in the explorer.

Resources and further reading

Find additional resources with Google

The linked references explain the underlying methods. The gamma response is the approximation chosen for this guide. Search links are for discovery; check a result’s assumptions and original source before using its formulas.

More network examples

03 / REPRODUCIBLE BENCHMARKS

The 1-, 5-, and 10-node comparison

Keep R total = 1 K/W and C total = 1 J/K. Use N equal links from a stepped left reservoir through N equal capacities; leave the far end insulated. The table is calculated with the same solver as the explorer.

1 / Proposed additive estimate

τsum=RC+12RC=1.5 s\tau_{\mathrm{sum}}=RC+\frac12RC=1.5\,\mathrm s

This reproduces the supplied assumption. RC = 1 s is a lumped time constant, not a 10–90% rise time. The extra ½RC is not a generally derived diffusion delay. The result is a heuristic for comparison, not a recommended physical model.

2 / Elmore first moment

μN=∑i=1N(ir)c=rcN(N+1)2=RCN+12N\mu_N=\sum_{i=1}^N(ir)c=rc\frac{N(N+1)}2=RC\frac{N+1}{2N}

With r = R/N and c = C/N, this gives 1 s, 0.6 s, and 0.55 s for N = 1, 5, and 10. It is exact as a first moment of the endpoint transfer response.

3 / Dominant matrix mode

Kϕ=λCϕτdom=1λmin⁡=RC4N2sin⁡2 ⁣(π4N+2)\begin{aligned}\mathbf K\boldsymbol\phi&=\lambda\mathbf C\boldsymbol\phi\\\tau_{\mathrm{dom}}&=\frac1{\lambda_{\min}}=\frac{RC}{4N^2\sin^2\!\left(\frac\pi{4N+2}\right)}\end{aligned}

This is the slowest decay time constant of the stated uniform ladder. It is exact for the discrete model, not an exact threshold time or a guarantee about the physical rod.

Where the matrix formula and continuum limit come from

For N > 1, K/(1/r) is tridiagonal with diagonal [2, …, 2, 1] and off-diagonal −1. The left reservoir fixes the perturbation at node 0 to zero; the insulated end corresponds to a fictitious node N+1 with the same temperature as node N. Trying φᵢ = sin(iβ) gives 2−2cosβ = 4sin²(β/2). The end condition sin[(N+1)β] = sin(Nβ) selects βₘ = (2m−1)π/(2N+1), m = 1,…,N.

λm=4rcsin⁡2 ⁣((2m−1)π4N+2)λmin⁡=4N2RCsin⁡2 ⁣(π4N+2)lim⁡N→∞τdom=4RCπ2≈0.405285RClim⁡N→∞μN=RC2\begin{aligned}\lambda_m&=\frac4{rc}\sin^2\!\left(\frac{(2m-1)\pi}{4N+2}\right)\\\lambda_{\min}&=\frac{4N^2}{RC}\sin^2\!\left(\frac\pi{4N+2}\right)\\\lim_{N\to\infty}\tau_{\mathrm{dom}}&=\frac{4RC}{\pi^2}\approx0.405285RC\\\lim_{N\to\infty}\mu_N&=\frac{RC}2\end{aligned}

The formula also gives τ = RC for N = 1, where the conductance matrix contains only the one reservoir link. The two limiting constants differ because a decay mode and a first moment measure different aspects of the response. Refining this specified discrete ladder changes its finite-N dynamics; it does not mean adding physical material makes a real object respond faster.

NBulk RC (s)Illustrative 1.5RC sum (s)End-node μ (s)Dominant τ (s)End-node t₆₃.₂ (s)10–90% (s)

The 1.5RC column reproduces an arbitrary assumption in the supplied discussion, not a recommended prediction. Its added 0.5RC term is not generally justified. This discrete ladder uses full links to the boundary; a cell-centered spatial discretization uses half-cell boundary links and gives different finite-N values.

Four boundary / heat-input cases

N = 10, every link r = 0.1 K/W, every capacity c = 0.1 J/K. “Both ends stepped” means both reservoir temperatures change by 1 K. A left-only step with the right end held unchanged is a separate explorer option. Internal heat cases apply 1 W at node 5 with reservoir temperature changes held at zero.

CaseOutputμ (s)Dominant τ (s)t₆₃.₂ (s)10–90% (s)

Delay and rise-time estimates checked by time marching

These calculations independently integrate C dT/dt = b − KT with classical fourth-order Runge–Kutta (RK4), starting at zero. Crossings are linearly interpolated between actual time levels. The two RK4 columns use Δt and Δt/2; the final column reports the finer step. Estimate errors are signed percentages relative to the refined RK4 rise time. A positive error means the estimate is longer.

Exampleμ delay (s)RK4 t₅₀ (s)ln(9)μ (s)ErrorTwo-moment (s)ErrorModal rise (s)RK4 rise, Δt (s)RK4 rise, Δt/2 (s)Fine Δt (s)

Agreement under step refinement verifies the time integration for these examples. It does not establish the physical accuracy of the assumed thermal network.

Corrections to the supplied AI discussion
  • Elmore delay, the dominant pole, t₆₃.₂, and the 10–90% rise time are different metrics. A single exponential makes some of them simply related; a general network does not.
  • For two stepped ends, (K⁻¹)ⱼᵢ = r[min(i,j) − ij/(N+1)]. At N = 10 and j = 5, summing this row times c gives 0.150 s, not 0.125 s. The entries are nonnegative; the original calculation changed min(i,5) incorrectly for i > 6.
  • For heat injected at node 5, steady temperatures are not uniform. The normalized factor xᵢ/xⱼ is necessary. The first moment is 0.101667 s for two sinks, and 0.360 s for one sink—not the unweighted 0.125 s and 0.400 s in the discussion.
  • “Fixed right temperature” and “both boundaries stepped” are distinct experiments. The pasted code stepped both ends despite earlier ambiguous wording.
  • Reported time-marching values are recalculated here. The explorer uses all eigenmodes; the downloadable verification script independently checks them against numerical integration.
  • A mean and variance alone do not determine all threshold times. Graph loops do not imply active feedback, and a passive system matrix C⁻¹K need not itself be symmetric, though it is similar to a symmetric matrix.

06 / SOURCES & FURTHER READING

Trace the equations

Rise-time resources and Google searches ↑

This page is an independently written, corrected educational adaptation of the Google AI discussion supplied by the site owner on September 27, 2026. The original search is context, not a validated technical reference.

Computation: symmetric Jacobi eigendecomposition, modal matrix exponential, and bisection for monotone thresholds. Limits: 1–20 nodes, positive constant properties, reciprocal conduction, no phase change, radiation nonlinearity, or active control. Results describe the entered discrete model; they are not experimental validation of hardware.

Inspect the browser solver · Download independent Python verification (requires NumPy and SciPy) · IICSM PDE Solver ↗

THE THERMAL TIME CONSTANTS COMMUNITY

Cumulative visitor map

67Site visitors
Distinct daily visits, cumulative

Counting since 2026-09-27 (UTC). As on To the Infinity, one IP address counts once per UTC day; this is not a count of registered accounts or unique people across all time. Shared networks and automated traffic can affect totals.

Santa Clara, US: 14 cumulative daily visits14Ashburn, US: 6 cumulative daily visits6Los Angeles, US: 6 cumulative daily visits6New York, US: 6 cumulative daily visits6Tracy, US: 6 cumulative daily visits6Singapore, SG: 5 cumulative daily visits5Frankfurt am Main, DE: 4 cumulative daily visits4Hong Kong, HK: 3 cumulative daily visits3Your current approximate location (shown only to you)
67 geolocated cumulative daily visits · 8 locations meet the public threshold

Cumulative location countYour approximate current location

Your approximate current location: Columbus, US. This blue marker is shown only in your response.

Locations are approximate IP-derived city/region estimates, never GPS. Public markers require at least three cumulative daily visits. Thermal Time Constants stores aggregate locations and short-lived keyed daily identifiers outside the public site, not raw IP addresses. Map boundaries are for orientation, not a statement of jurisdiction.

Visitor locations & map sources
  • Santa Clara, US — 14 cumulative daily visits
  • Ashburn, US — 6 cumulative daily visits
  • Los Angeles, US — 6 cumulative daily visits
  • New York, US — 6 cumulative daily visits
  • Tracy, US — 6 cumulative daily visits
  • Singapore, SG — 5 cumulative daily visits
  • Frankfurt am Main, DE — 4 cumulative daily visits
  • Hong Kong, HK — 3 cumulative daily visits

Basemap: World Atlas, derived from Natural Earth public-domain map data. IP geolocation uses the same local database as To the Infinity.