How does Inspire "maximize stiffness"?
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
-
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.
0 -
Adriano A. Koga_21884 said:
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.
0 -
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.
0 -
Adriano A. Koga_21884 said:
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.0