Simscape electrical thermal analysis

hi in short, i am trying to monitor the surface temperature of a capacitor for a DC bus filter:
i would've thought this would work but all i get is 300K which is odd because my temperature reference points are set to 40degC
the thermal characteristics are all parameterised based on a capacitor datasheet.
if i change the thermal probe to differential it shows me -286K which as we all know is impossble so i dunno what was happening there...
does anyone have experience trying to get temperature rises from capacitors in simscape electrical? am i missing something here?

1 Comment

for some added context, what i want to see is if the three capacitors split the thermal losses evenly, and if one capacitor dies, do the others heat up more by an unacceptable amount with the same load and current

Sign in to comment.

Answers (1)

Umar
Umar about 1 hour ago
Hi @Seth,
A few things jump out that would explain both symptoms.
The flat 300 K reading: Simscape's built-in default initial temperature for thermal states is exactly 300 K. Getting precisely that instead of something near your intended 313 K (40°C) is the signature of an initial target that was entered but never took effect — which happens when the value's Priority isn't set to High on the Variables/Initial Targets tab. A non-prioritized target is just a suggestion; the solver's free to fall back to its own default during initialization. Worth checking that on each capacitor.
That covers the wrong starting point, but not why it never moves afterward. For that, double-check your Capacitance model setting — if it's Constant rather than Dielectric relaxation (Debye), the capacitor is mathematically lossless (no ESR/dielectric loss term), so there's literally no heat source feeding your thermal mass regardless of how well the R_th/C_th network downstream is parameterized. Debye is the option that actually uses your datasheet dissipation-factor data to generate loss.
The -286 K differential reading: if the absolute sensors are quietly stuck at the same 300 K default rather than 40°C, a differential probe between two nodes both sitting near that same value should read close to 0 K, not -286 K. That mismatch suggests port B (which differential mode exposes) isn't connected to a meaningful comparison node — it may have picked up an implicit zero-Kelvin reference or an unrelated node instead. I'd hold off trusting that number until port B's connection is confirmed.
For your actual question (even split across CF1–CF3, and whether the survivors overheat if one dies): once real temperature rise is showing up, run the healthy 3-capacitor case first as a baseline with identical parameterization on all three, then use the Capacitor block's built-in Faults section to trigger an open or short on one capacitor mid-run — you can inject the fault at a set time and log all three temperatures on one scope, so healthy-vs-faulted is a direct comparison in a single simulation rather than two you have to line up by hand. Also worth modeling both open- and short-circuit failure separately, since a short pulls fault current through the bus and is a different (more urgent) stress case than an open capacitor just shifting more ripple current onto the other two.
Fix the priority + capacitance model first — everything downstream (even-split check, fault comparison) is only meaningful once real heat is actually flowing.

Products

Release

R2026a

Asked:

about 17 hours ago

Answered:

about 3 hours ago

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!