Skip to main content
8-Gravel
December 2, 2020
Question

Efficiency Optimization

  • December 2, 2020
  • 1 reply
  • 4329 views

Hi Guys,

I have one question about how to use mathcad prime 6 to optimize two parameters in order to get a highest efficiency. For example, I have two variables A and B as input, and I already wrote one efficiency calculation file that using this two as variables, and output an fixed efficiency result. How can I use the optimization function in prime 6 that can help me get a highest efficiency (3D curve) when the two input A and B vary in a specific range?

If you have any examples, please let me know. Thanks.

1 reply

23-Emerald IV
December 2, 2020

Please attach your Prime worksheet.

That should help us to help you.

 

Success!

Luc

WeiXu8-GravelAuthor
8-Gravel
December 2, 2020

Hi, attached is my calculation file for a set of fixed variables, such as switching frequency fs=15kHz and inductance Lpri=35uH.

 

WeiXu_0-1606929044708.png

And the final efficiency curve is showed in the second last section. Attached is the efficiency curve, but I can do one more step calculation. I can use only one value to represent the final optimization target, efficiency index.

For example, CEC Efficiency = 0.04 x Eff10% + 0.05 x Eff20% + 0.12 x Eff30% + 0.21 x Eff50% + 0.53 x Eff75%. (California Energy Commission (CEC) has proposed another weighting, which is now specified for some inverters used in the US.)

WeiXu_1-1606929123874.png

What I want to achieve is that I can vary the switching frequency into a specific range, such as 15kHz to 100kHz, and also specify Lpri ranging from 20uH to 100uH. Then I should be able to get a 3D matrix that has variable fs, Lpri as inputs and efficiency as output.

Hope you can take a look at this file. I know it's a bit complicated, but I can try to simplify the calculation algorithm. If you have any idea about how to use prime 6 to achieve this kind of optimization methodology, please let me know. Thanks.

 

 

23-Emerald IV
December 2, 2020

You should use one of the functions maximize() or minimize(). I guess in your case you want to maximize efficiency.

What you need is a function (yes, a function) that you want to optimize, e.g. Efficiency(fs,Lpri).

Then you can use a solve block to set constraints and use maximize.

I cannot find an optimization problem example in the help for Prime with more than one variable, so...

Here's an example (of a former Mathcad), that you should be able to build in Prime to gain experience, and then you should know what to do to rebuild your system for optimization:

LucMeekes_0-1606933777486.png

LucMeekes_1-1606933829252.png

Now comes the solve block:

LucMeekes_3-1606933926347.png

Success!

Luc