🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

Faster way to obtain average Ploss of component class MOSFET (Eon)

User: "Vintersorg"
Altair Community Member

Hi!

The power loss (Ploss) of component class MOSFET (Eon) is available through Ploss extra node. The help menu for this class states:

"The total loss, in watts, is represented in the form of current flowing out of this node. Therefore, to measure and display the loss, an ammeter should be connected between the nodes and the ground."

The Ploss out of this node, obtained by using an ammeter, takes a long time to converge. It takes a long simulation time frame to reach the steady state of Ploss by this approach. For this reason, my simulation is becoming extremely slow.

If we set to 1 (enable) the Ploss flag inside MOSFET (Eon) component parameters, we see from Ploss waveforms that the losses actually reach the steady state very fast, but it is this averaging from Ploss extra node that is taking too long to converge.

So far, I've been using a graphical approach to obtain the losses, like using cursors and getting the average power loss for one PWM cycle, but it is a manual approach and I would like to automate my simulation using a script.

Question is:

Is it possible to get Ploss instantaneous values in any way? For instance, get the instantaneous value for each simulation step, or have acces to the variable used when we enable Ploss flag and use it in the simulation schematic (or C-block?). Then, I can use a low-pass filter with my desired time constant and have the Ploss calculation to converge much faster than the ammeter approach with Ploss node.

Any suggestions? I just need a faster Ploss calculation from MOSFET (Eon) component class for an automated script.

Thanks in advance!

Find more posts tagged with

Sort by:
1 - 2 of 21
    User: "NikosDimitrakopoulos"
    Altair Employee
    Accepted Answer

    Dear @Vintersorg,

    The frequency parameter explained here Thermal Calculation - Understanding the Frequency Parameter — Altair Community applies a moving average to the losses with the specified frequency.

    For example, if you put 50Hz it will apply a 50Hz moving average calculation to the results. Now, let's say that your time step is 1e-6 sec. If you define the frequency parameter as 1/1e-6 = 1MHz, the results will provide the instantaneous losses for every step. Then you post process them as you want without needing an ammeter. Just with the flags.

    When it comes to scripting options, PSIM has introduced updates in this area. While the legacy C scripting option remains available, we have added three more modern alternatives:

    1. Compose scripting (similar to Matlab Syntax - https://community.altair.com/discussion/39388)

    2. Python scripting

    3. HyperStudy: tutorial , useCase1, useCase2

    Hope this helps!

    BR,

    Nikos

    User: "NikosDimitrakopoulos"
    Altair Employee
    Accepted Answer

    Dear @Vintersorg,

    Thank you for the detailed description! I now fully understand your issue. You're correct that the Ploss flag signal cannot be accessed directly inside the simulation. However, you can achieve similar results by working with the current measurement. There is just an extra step! Here's how:

    When setting up a thermal model, you need to define parameters such as the junction-to-case thermal impedance. This allows PSIM to calculate the case temperature based on the junction temperature and associated losses.

    Screenshot 2025-01-20 122941.png

    This information is then used like this (what happens inside the PSIM thermal model):

    image.png

    Now, this impedance is what "averages out" the losses you see from the current measurement.

    A quick workaround would be to edit your thermal model and set all Cauer or Foster circuit impedances as zero, like I did in the picture above. Afterward, redefine these impedances manually outside the package. By doing so, you'll gain access to the complete Ploss information directly within the package, allowing for immediate measurement.

    I am attaching a very simple example that showcases this:


    image.png image.png

    Thank you for giving me the chance to explain this interesting topic!

    Best regards,

    Nikos Dimitrakopoulos