ERROR # 312 During Topology Optimization in OptiStruct

Oğuz Kalaycı
Oğuz Kalaycı Altair Community Member
edited February 2023 in Community Q&A

Hello, I get this error when I do topology optimization:

 *** ERROR # 312 ***
  In static load case 1
  the compliance is negative or large 9.61426e+08.
  Optimization/buckling analysis cannot be performed.
  due to possible rigid body mode.
  FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).

I did equivalence to fix the problem but it didn't work

Best Answer

  • PaulAltair
    PaulAltair
    Altair Employee
    edited February 2023 Answer ✓

    Your model had no optimisation constraint defined, so, you have asked to minimise the mass, but with no restriction at all on the model behaviour. OS therefore removes all the design material to comply with your objective (it minimised the mass!), but it is leaving no material to actually provide a loadpath.

    You need to add an optimisation constraint (e.g. a minimum compliance, or maximum displacement, you could also constrain volume fraction of retained material).

    I ran your model 'analysis only' and found the max displacement at the loaded node (with all material) is 0.096, I then created a displacement response at that node and added an optimisation constraint for a maximum displacement at that node of 0.3 and it seems to be running ok. I'll share the .hm shortly

Answers

  • PaulAltair
    PaulAltair
    Altair Employee
    edited February 2023 Answer ✓

    Your model had no optimisation constraint defined, so, you have asked to minimise the mass, but with no restriction at all on the model behaviour. OS therefore removes all the design material to comply with your objective (it minimised the mass!), but it is leaving no material to actually provide a loadpath.

    You need to add an optimisation constraint (e.g. a minimum compliance, or maximum displacement, you could also constrain volume fraction of retained material).

    I ran your model 'analysis only' and found the max displacement at the loaded node (with all material) is 0.096, I then created a displacement response at that node and added an optimisation constraint for a maximum displacement at that node of 0.3 and it seems to be running ok. I'll share the .hm shortly

  • PaulAltair
    PaulAltair
    Altair Employee
    edited February 2023

    Your model had no optimisation constraint defined, so, you have asked to minimise the mass, but with no restriction at all on the model behaviour. OS therefore removes all the design material to comply with your objective (it minimised the mass!), but it is leaving no material to actually provide a loadpath.

    You need to add an optimisation constraint (e.g. a minimum compliance, or maximum displacement, you could also constrain volume fraction of retained material).

    I ran your model 'analysis only' and found the max displacement at the loaded node (with all material) is 0.096, I then created a displacement response at that node and added an optimisation constraint for a maximum displacement at that node of 0.3 and it seems to be running ok. I'll share the .hm shortly

    Attached my HM, it still doesn't give a converged solution, but better than what you had before!

  • PaulAltair
    PaulAltair
    Altair Employee
    edited February 2023

    Your model had no optimisation constraint defined, so, you have asked to minimise the mass, but with no restriction at all on the model behaviour. OS therefore removes all the design material to comply with your objective (it minimised the mass!), but it is leaving no material to actually provide a loadpath.

    You need to add an optimisation constraint (e.g. a minimum compliance, or maximum displacement, you could also constrain volume fraction of retained material).

    I ran your model 'analysis only' and found the max displacement at the loaded node (with all material) is 0.096, I then created a displacement response at that node and added an optimisation constraint for a maximum displacement at that node of 0.3 and it seems to be running ok. I'll share the .hm shortly

    I think I found the issue, you had assigned the designable property to both the components (designable and non-designable) so in fact it was all up for grabs, if I assign the non-designable component the non designable property it is working better. I think it may be better posed as minimise displacement for a given volume fraction though...