Optimization says converged but it's actually diverging

Altair Forum User
Altair Forum User
Altair Employee
edited November 2020 in Community Q&A

I'm doing a very simple optimization. The model is constrained at the fixtrue holes and a load is applied at some nodes on one face. I set my optimization objective to minimize the volume and established dconstraint for the displacement not to exceed 2mm. I run opimization, get feasible design and convergence but my displacement responce curve seems to diverge.

Below there're three graphs of my results. In the case of convergence it should go down, not jump arround and go as high as 30mm displacement. Constraint violation stops signaling too and it takes 27 iterations to finish (doesn't even need to go up to 30 iteration default limit)

 

 

<?xml version="1.0" encoding="UTF-8"?>Resulsts.png

Unable to find an attachment - read this blog

Tagged:

Answers

  • tinh
    tinh Altair Community Member
    edited June 2016

    Hi,

    you seem not to set lower bound of static disp so offcourse -15mm < 2mm and Optistruct said 'converged'

  • Rahul Rajan_21763
    Rahul Rajan_21763 New Altair Community Member
    edited June 2016

    could you share us input file?

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited June 2016

    Hi,

    you seem not to set lower bound of static disp so offcourse -15mm < 2mm and Optistruct said 'converged'

     

    I have response as total displacement and have tried different variations of dconstraints for boundaries, e.g.:

    <?xml version="1.0" encoding="UTF-8"?>dconst2.PNG

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited November 2020

    could you share us input file?

     

    Here's my hm file. 

    I'm trying to solve load collectors auto1 and loadcol1 separatelly (the file is currently set for loadcol1). What am I missing?

    P.S. Do you know how to merge the topologies of both cases afterwards?

    Unable to find an attachment - read this blog

  • Rahul Rajan_21763
    Rahul Rajan_21763 New Altair Community Member
    edited June 2016

    You should have two different load collector for two different load & constraint should be organized in separate load collector. Dconstraint should be set for upper or lower bound.

    I request you to refer some topology optimization tutorial & then work on your model.

  • tinh
    tinh Altair Community Member
    edited June 2016

    Hi,

    It's due to you did not make forced area as nondesign

    similar to constrained area, forced area also need to be assigned as nondesign

     

    and, if you want to satisfy two forces. organize 2 forces in 2 loadcollectors, create 2 loadsteps, and using weightedcomp as objective function to be minimized

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited November 2020

    You should have two different load collector for two different load & constraint should be organized in separate load collector. Dconstraint should be set for upper or lower bound.

    I request you to refer some topology optimization tutorial & then work on your model.

     

    Rahul, I understand what you're saying and for simplicity changed my set-up to only solve a single load case now. As you said, now I have two load collectors, i.e. for constraints and the load separatelly. I had to use SPCADD card image for my load collector. I set the upper bound accordingly but still get 'jumping' results. Could you go through my setup?

     

    Hi,

    It's due to you did not make forced area as nondesign

    similar to constrained area, forced area also need to be assigned as nondesign

     

    I tried including non-design space for forces - did not help :(/emoticons/default_sad.png' srcset='/emoticons/sad@2x.png 2x' title=':(' width='20' />

    Unable to find an attachment - read this blog

  • tinh
    tinh Altair Community Member
    edited June 2016

     

     

     

    I tried including non-design space for forces - did not help :(/emoticons/default_sad.png' srcset='/emoticons/sad@2x.png 2x' title=':(' width='20' />

     

     

     

    I don't believe you. Send me that file please <img class=" data-emoticon="" src="src" />/emoticons/default_angry.png' title=':angry:' /> 

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited November 2020

    I don't believe you. Send me that file please <img class=" data-emoticon="" src="src" />/emoticons/default_angry.png' title=':angry:' /> 

     

    Here's the file and a graph showing my jumping displacement. Again, I've tried different dconstraints but the results are as they are :(/emoticons/default_sad.png' srcset='/emoticons/sad@2x.png 2x' title=':(' width='20' />

    I think I understand what I'm doing so this very frustrating.

     

     

    <?xml version="1.0" encoding="UTF-8"?>Capture1.PNG

    Unable to find an attachment - read this blog

  • tinh
    tinh Altair Community Member
    edited November 2020
  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited November 2020

    Hi

    try running this file

     

    It seems that instead of volume minimization objective you have established compliance minimization. I looked it up and it means that you seek to maximize stiffeness by minimizing strain energy. Here the volume is just a constraint having an upper limit. Also,  I'm not sure if my displacement is alright because it settles on such low value. Could you please explain this set up?

    Why didn't the volume objective work?

    Unable to find an attachment - read this blog

  • tinh
    tinh Altair Community Member
    edited June 2016

    Hi Ognox,

    I just follow guiding of Topology Optimization tutorial.

    Some experts will answer your question.