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 件のコメント

Seth
Seth 2026 年 7 月 30 日 9:15
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

サインインしてコメントする。

 採用された回答

Umar
Umar 2026 年 7 月 30 日 23:43

0 投票

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.

6 件のコメント

Seth
Seth 2026 年 7 月 31 日 7:12
hi Umar, thanks for that! i've switched to Debye and now i'm faced with a new error that doesn't make sense:
this is coming up for my caps, but:
to me that looks like 10e3*20% is bigger than 120*8%? am i also misunderstanding how simscape does this multiplication?
i will also try your other suggestions! great help thank you!
Umar
Umar 2026 年 7 月 31 日 23:39
Hi @Seth,
Here is a recap of the thread so far.
You originally saw a flat 300 K reading regardless of your 40 degree C setting, plus an odd negative 286 K differential reading.
Two likely causes came up. First, the 40 degree C value may have been entered but not actually enforced. It is worth checking whether Priority is set to High on the temperature initial target under the Variables or Initial Targets tab. Without High priority the solver can quietly ignore the entered value and fall back to its own default of 300 K, which matches what you saw. Second, if the Capacitance model was set to Constant, that option is lossless by definition, meaning there is no ESR or dielectric loss and therefore no heat source feeding the thermal network no matter how well parameterized the thermal resistances are.
Switching to Dielectric relaxation Debye is what actually generates loss from your datasheet dissipation factor data. The negative differential reading is probably a symptom of that same root cause rather than a separate issue, since both sensor nodes were likely sitting near the same default value. Worth rechecking once the first two points are resolved.
You then ran into a new error after switching to Debye, stating that f2 times the intrinsic DF2 must be greater than f1 times the intrinsic DF1. This is not a problem with your arithmetic. The block does not compare the DF1 and DF2 values you entered directly. It compares them after subtracting a frequency dependent correction tied to Series resistance, roughly 2 pi f R C, which grows much faster at f2 of 10 kHz than at f1 of 120 Hz. A large enough series resistance can flip the comparison even though your raw entered products look nowhere close.
The fix on this exact error, is to set Series resistance to zero in the Capacitor block, and if ESR needs to be represented, add it as a separate external resistor in series in the circuit instead. With Series resistance at zero, your entered DF1 and DF2 values are used as entered, with no correction and no conflict.
At this point the DF error was what stood between you and actually finding out whether the original temperature issue is resolved. The next step is rerunning with Series resistance at zero and Priority confirmed as High, then checking what the sensors report. That will tell me whether the original diagnosis was correct or whether something else is still going on.
Let me know what the temperatures look like once it runs.
Seth
Seth 2026 年 8 月 3 日 7:30
hi Umar, thanks, i'm still getting relatively low temperature changes over the range of power / load for some reason since using Debye, i now only get e-14 Joules through the cap which is odd. thanks for your help so far
Umar
Umar 2026 年 8 月 3 日 15:10
Hi @Seth, Can you share screenshot of the block with results being displayed as you mentioned, that would help.
Seth
Seth 2026 年 8 月 5 日 6:32
hi Umar, here's how it is currently constructed:
here's a dummy of the capacitor:
Umar
Umar 2026 年 8 月 5 日 15:32
Hi @Seth,
I went through your latest post and would like you to check these three things:
Set the Temperature initial target priority to High (the screenshot still shows None).
Set the Averaging period for power logging to a value greater than 0 that matches the ripple frequency.
Calculate the Thermal mass as capacitor mass (kg) × specific heat of the case material, not just the specific heat value.
After fixing these, run the simulation again.
Let me know how it goes.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeFoundation and Custom Domains についてさらに検索

製品

リリース

R2026a

質問済み:

2026 年 7 月 30 日 9:13

コメント済み:

2026 年 8 月 5 日 15:32

Community Treasure Hunt

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

Start Hunting!

Translated by