How to Optimize dependent parameters


#1

This is a general question. In my case, i am optimizing an FSAE diffuser. The two parameters are the entrance length (3 values) and the diffuser angle ( 4 values). What is the correct way to do this:

  1. optimize entrance length at a random fixed diffuser angle then optimize the diffuser angle at the highest performing entrance length. 3+4=7 simulations
  2. Simulate every combination of the two variables 3x4=12 simulations
    The difference between the number of simulations of the two approaches increases quickly for a larger number of parameters.
    Also , is 3 values enough to optimize a parameter?

#2

Hi @Naly, There is no automatic way to do this. The method I would use is to design your geometry using variables, thus making the parameter easy to alter. If you have access to Matlab or the likes you can create code that produces values to input into the parameters (think combinations etc). This can be made as easy or as complex as you like, I would say that varying one variable then another would be a quick method but doesn’t always produce the best result, thus the second method of doing every combination would be better. For large amounts of variables with large ranges sometimes it isn’t sensible to run every combination. There is an entire science dedicated to this using an initial set of designs and predicting the optimum solution (this answers you question about large numbers, probably more complex than you currently require). Also, every combination of 3 variables and 4 values, if there are four values for each variable a number of combinations are a lot higher 3^4? Can’t remember if it was variables to the power of the number of possibilities.

In your CAD software, you can alter the variable then export the STEP over and over to produce your designs then bring them into SimScale and create a setup for one. Copy this one and alter the geometry and re-mesh, same for simulations changing the mesh. This means you need only do one setup for many simulations and meshes. There is a lot of interesting info out there on the optimising subject, it might interest you :slight_smile:

kind regards,
Darren


#3

Thanks alot for your reply.


#4

Hi Naly,

Optimization is one of the biggest problems in any engineering field. It takes a lot of time and effort, and just taking 3 values will not be sufficient for a well-researched scientific evaluation of the problem. Ideally, the more the values that you take, the better it is. But I recognize that time/computational/storage issues makes this complicated.

What I suggest is that you search for tendencies. If upon changing the angle/entrance length by a small value, you get a tendency towards an optimum answer, you can try a few more values in that direction. Start from the extremes, and come towards the mean.

As user @1318980 suggested, using Matlab is a good way to do this. There are many python codes available online, and you can search through mechanical forums to find one that suits your needs. Another good way to do this is to use special and dedicated optimization software (like Optimus) to perform these simulations (it’s easy to understand with simple GUI input for the variables).

Once you get a tendency, you can always go ahead and make further changes to the design before you finalize one.

Thanks and regards,
Shashidharan Tharani


#5

@stharani, have you tried any python codes/modules to recommend? I am just looking at pykriging but not sure at this stage if its what I need.

Thanks in advance,
Darren


#6

Hi @1318980,

I have used simple self-made codes with python, but not really any modules. I suggest you have a look into Optimus (open source), it might help you.

I have personally not used PyKriging, but I googled it, and it looks potentially useful. Maybe just try out both?

Thanks,
Shashidharan Tharani