How does Inspire "maximize stiffness"?

KuthanC
KuthanC Altair Community Member
edited August 2023 in Community Q&A

I would like to better understand conceptually how Altair Inspire maximizes stiffness in a given 3D part shape when you select that option as the optimization objective and give a mass constraint. As you know even simple rectangular beam shaped parts made of isotropic have different stiffness in different loading directions (see pictures attached for generic reference). So when I select maximize stiffness as my objective on a complex bracket part with multiple loading scenarios, what exactly does Inspire optimize? Is it trying to minimize the generic x , y, z displacements in the global coordinate system across all load cases and see which load case gives a maximum displacement? Or perhaps it tries to minimize the vector magnitude of the maximum displacement across all nodes on the mesh?

It would be helpful to understand what exactly are we doing, so that we can set up the optimization to yield the results/ optimized shapes we would prefer. For example, perhaps you would care more about displacement in a certain axis but don't care about displacement in any other direction.

Answers

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited August 2023

    hi,

     

    Inspire uses Compliance, as discussed in this other topic of the Community.

    https://community.altair.com/community?id=community_question&sys_id=c4163735db726950cfd5f6a4e29619dd

    comp = F'*U = U'*K*U

    where K*U=F

     

    Compliance was historically used for Topology Optimization as an inverse global measure of stiffnes..

    It is essentially the summation of the strain energy of a given structure subjected to some force.

    Basically the greater the compliance, the more flexible it is. So minimizing compliance is equivalent to getting a stiffer structure.

    Almost every topology optimization code starts with minimize compliance with volume fraction constraints. You can find references in almost any paper on topology optimization.

  • KuthanC
    KuthanC Altair Community Member
    edited August 2023

    hi,

     

    Inspire uses Compliance, as discussed in this other topic of the Community.

    https://community.altair.com/community?id=community_question&sys_id=c4163735db726950cfd5f6a4e29619dd

    comp = F'*U = U'*K*U

    where K*U=F

     

    Compliance was historically used for Topology Optimization as an inverse global measure of stiffnes..

    It is essentially the summation of the strain energy of a given structure subjected to some force.

    Basically the greater the compliance, the more flexible it is. So minimizing compliance is equivalent to getting a stiffer structure.

    Almost every topology optimization code starts with minimize compliance with volume fraction constraints. You can find references in almost any paper on topology optimization.

    Hi Adriano, thanks for the quick reply. I understand it uses compliance. My question was regarding how it chooses between one shape that is less compliant in one direction vs another shape that is less compliant in another direction. From the part of your answer regarding strain energy, it seems that the total displacement is minimized. Therefore it is agnostic of direction or slope of displacement.  Thanks.

  • Adriano_Koga
    Adriano_Koga
    Altair Employee
    edited August 2023
    KuthanC said:

    Hi Adriano, thanks for the quick reply. I understand it uses compliance. My question was regarding how it chooses between one shape that is less compliant in one direction vs another shape that is less compliant in another direction. From the part of your answer regarding strain energy, it seems that the total displacement is minimized. Therefore it is agnostic of direction or slope of displacement.  Thanks.

    Compliance is calculated for each loadcase that you have.

    Inspire will calculate then, the sum of all compliance values.

    I.e:

    Compliance of loadcase1 = 45000

    Compliance of loadcase2 = 20000

    Compliance of loadcase3 = 10000

    Total sum Compliance = 75000

     

    next iteration, Inspire changes the topology, and the total compliance will drop a little bit, and so on.

    Now, in my example, the higher the compliance of the individual case, the higher its impact in the overall compliance. So naturally, the ones with higher compliance might drive the optimization. Considering that, the solver running behind the scenes, OptiStruct, has another option, to include weighting factors for each compliance value, so that one could raise the importance of a certain loadcase specifically. So far, I believe Inspire doesn't allow you to do that.

    But remember that optimization doesn't consider the value itself only, but the sensitivity of each loadcase, as well. So depending on the loadcase, the sensitivity of the overall total compliance might be more affected by some particular loadcase, thus this loadcase would have a larger influence over the design changes.

    In the end of the day, the important decision for the solver is to get numerically what is being requested, which is design a structure with the minimum overall compliance, for a given volume fraction. If loadcase A, or B or C is more important, then it will chase after it, iteratively.

     

     

     

  • KuthanC
    KuthanC Altair Community Member
    edited August 2023

    Compliance is calculated for each loadcase that you have.

    Inspire will calculate then, the sum of all compliance values.

    I.e:

    Compliance of loadcase1 = 45000

    Compliance of loadcase2 = 20000

    Compliance of loadcase3 = 10000

    Total sum Compliance = 75000

     

    next iteration, Inspire changes the topology, and the total compliance will drop a little bit, and so on.

    Now, in my example, the higher the compliance of the individual case, the higher its impact in the overall compliance. So naturally, the ones with higher compliance might drive the optimization. Considering that, the solver running behind the scenes, OptiStruct, has another option, to include weighting factors for each compliance value, so that one could raise the importance of a certain loadcase specifically. So far, I believe Inspire doesn't allow you to do that.

    But remember that optimization doesn't consider the value itself only, but the sensitivity of each loadcase, as well. So depending on the loadcase, the sensitivity of the overall total compliance might be more affected by some particular loadcase, thus this loadcase would have a larger influence over the design changes.

    In the end of the day, the important decision for the solver is to get numerically what is being requested, which is design a structure with the minimum overall compliance, for a given volume fraction. If loadcase A, or B or C is more important, then it will chase after it, iteratively.

     

     

     

    That is great to know Adriano. I appreciate your detailed answer!

    Have a great day.