Generative Design study result is not correct

Generative Design study result is not correct

s202087
Explorer Explorer
853 Views
6 Replies
Message 1 of 7

Generative Design study result is not correct

s202087
Explorer
Explorer

Hello everyone,

 

I have been attempting to run a generative design study on the following body and have been encountering issues with the study creating solutions. I would like to create a framework for the cargo bike as part of a study project. I took the fixed points from the existing model and set the limits. The forces are defined and a safety factor of 2 is set. But as a result I only get a block with a safety factor of 26. What am I doing wrong?

s202087_0-1636707419942.png

s202087_1-1636707583183.png

s202087_2-1636708435302.png

s202087_3-1636708669806.png

 

0 Likes
854 Views
6 Replies
Replies (6)
Message 2 of 7

Ben-Weiss
Autodesk
Autodesk

Hi @s202087 !

 

Cool bike! It looks like the shape is so bulky because it hit a disconnection.

 

Disconnections occur when the generative design algorithm decides that a preserve isn't "important" enough to be worth connecting to the rest of the design, either because it has no loads and constraints, or because the loads and/or constraints on it are not significant in the context of the rest of the problem. Unfortunately, when one piece of the design becomes disconnected, this stops the generative design process, and you get a solution that isn't complete yet - as you note it hasn't hit your safety factor target and it seems over-designed.

 

I ran your study, and noticed that the output mesh is breaking away from the preserves around your axle on the iteration just before the solve terminates:

 

mesh.png

Looking at the setup, there are no loads or constraints on this preserve, so the optimizer sees no reason to keep it around.

 

The forums are a bit over-due for a good discussion on disconnections, so I'm going to take a side trip into some general rules for handling/avoiding disconnections in generative design. Not all of these are immediately applicable to your problem. See also this post for a similar situation.

 

Rule #1 for disconnections: Remove preserves that aren't important for the structural problem you're trying to solve.

 

Sometimes we have regions of the design that we want to have in our final design, but aren't actually involved in the main loads the structure encounters. Things like mounts for sensors or wires, auxiliary pulleys, etc. It's often best to leave these bodies out of the structural solve and create geometry to connect them to the generatively designed structure afterwards. Other times a preserve has very small loads compared to the rest of the system. In these cases you get to decide whether you want to keep the preserve in the solve or remove it and connect it to the results later.

 

Your setup is already in pretty good shape in this case, but I wonder about whether a few of these preserves are really important:

preserves.png

 

Rule #2 for disconnections: Make sure every preserve has either a load or a constraint.

 

Think about the physical situations this bike gets used in. The load case you have in the design so far looks like it captures the static loads of the rider and cargo, but what about the force of the rider's feet on the pedals? Let's think about the structural loads that could be applied to each of the preserve bodies in a real-world situation. Note that you can create separate "load cases" to cover different scenarios, for example "pedaling", "braking", etc. and every preserve does not need to participate in every load case.

 

Just having a load or constraint on each preserve isn't necessarily enough to ensure that it doesn't disconnect, though. You need to get the relative "importance" of the preserves close enough to equal that the optimizer doesn't decide one of them isn't worth keeping.

 

To do this, we sometimes have to create artificial loads (or artificially high loads) that keep it all connected. This will over-design your component a bit, but if it keeps it from disconnecting, you can still remove a ton more material than you've taken out so far. Figuring out what the value for these loads is can be tricky and takes a little practice. As a rule of thumb, if the largest load in the system is 1000 N, I'll tend to make sure all the preserves have at least 100 N of load on them (and not 10 N or 1 N, for example). That's just a rule of thumb, though, because the configuration of the preserves can cause a little load to drive a ton of energy in the part (think a long lever arm with a small load on the end).

 

Rule #3 for Disconnections: Watch out for multiple constraints

 

Sometimes, I see generative setups where a bunch of bolts are all applied and each one is tagged as a constraint for all of the load cases:

constraints.png

When you tag something as a constraint, think of it as being super-super glued to a granite slab that's 10,000 times bigger than your assembly. It won't move. At all. Ever. And you can push on it as hard as you want without displacing it at all. What this does is cause any constrained preserve to be able to absorb an infinite amount of applied load by itself. Sometimes the result is that only one or two of the preserves you constrained are actually needed to absorb all of the applied loads, and the rest of the preserves get disconnected because they aren't near any load paths.

 

In practice, we don't have super-super glue or gigantic granite slabs and the displacements from the rest of our assembly cause the reaction forces to be evenly distributed across the set of preserved faces. To model that in generative design, I create a new load case that represents the "inverse" configuration, where I apply what I think the reaction forces should be and constrain the locations where the loads were originally applied.

reverse loads.png

Again, it takes either experience or a separate simulation to figure out what those individual load components should be. Typically I will make the sum of the artificial reaction forces equal to about 60% of the original applied load, enough that they encourage balancing between the different constrained faces, but not so large that they become more important than the loads produced by the original load case.

 

Rule #4 for Disconnections: Start small

 

It's tempting to throw a ton of preserves into a generative design problem, but the more preserves you have, the more likely one of them is going to disconnect. I would start with 4-5 key preserves for your assembly in my first run and only use a couple of key load cases on them. Iterate on that until I get a sense of the manufacturing constraints I like, the factor of safety that's giving me good results, and the materials I want to consider. Then, with that as a foundation, I'll slowly add additional preserves with appropriate loading until I have my final design.

 

<<<End of side trip>>>

 

For your particular problem, I think you should consider removing some preserves and adding loads to others so they are all about equally important. You can also start with just the core preserves you've applied loads to, and once that works, slowly add additional ones.

 

Hopefully that answers your question! Thanks for indulging me in a lengthy side trip...

 

Best,

 

Ben



Ben Weiss
Senior Research Engineer
Message 3 of 7

s202087
Explorer
Explorer

Hi ben,

thank you for the detailed answer to my problem, that helps me a lot. But I still have a couple of questions:
1. So should the problem go away if I define more forces on the individual preserves, so they won't disconnect?
2. Does it also help if I define the existing frame as a starting shape?
3. Is it better if I define large, simple geometries as obstacles and not every component, such as handlebars, wheels or cogs?

 

best regards

 

Tom

 

Tom

0 Likes
Message 4 of 7

Ben-Weiss
Autodesk
Autodesk

Hi Tom!

 

1. The short answer is "yes", but it's a bit more nuanced than that because just having a force doesn't guarantee that the structure won't disconnect. You need forces that "make reasonable sense" in the context of the problem. In your case, your loads are in the 500-1500 range, so I would start with disconnection loads of around 100N, run a study, and look carefully at the model if it disconnects to figure out where. It's still going to depend, though, on how close the preserve geometry is to the rest of the structure that is loaded and the distance from the constraints. What you want is a load that is sufficient to stop the disconnection from happening, and also as small as possible so you do not distort the overall shape driven by your existing loads too much. I typically put loads that are there only to prevent a disconnection into a separate load case so they don't stack up on top of the primary structural loads.

 

2. Adding the existing frame as a starting shape probably won't help much. So long as the previewer runs, we don't need an explicit starting shape to connect all of the preserves, and using the existing design won't decrease the likelihood of a disconnection.

 

3. From a disconnection perspective, it doesn't matter. In general however, generative will give you results that are easier to work with as T-Splines if you provide large, smooth obstacles. For example, I would probably replace the handle bars with larger cylinders (since the user's hands are going to be there too and we don't want geometry that interferes with their ability to grasp the handle bars). Similarly, I would replace the wheel models with solid, smooth disks that are larger than the wheels. We don't want generative to find a path that goes between two spokes and keeps the wheels from turning. In addition, for the front wheel and the mechanism that drives its ability to steer, you want to think through the envelope in which these parts move  so you don't generate geometry that keeps you from being able to steer left or right, for example.

 

Hope that helps,

 

Ben



Ben Weiss
Senior Research Engineer
0 Likes
Message 5 of 7

s202087
Explorer
Explorer

Hi @Ben-Weiss,

thanks to your tips, I've come a long way.
I added a few loads and the result was the following study(V22):

s202087_0-1637707520145.png

So the left part is still pretty disconnected, so I added some more (in my Opinion useful) Load Cases, maybe I am wrong. But now the Study keeps Failing after 2 Hours without any error and I don't know why. I changed nothing else I think. Even if I remove the additional loads. I worked on it the hole week and I went a little crazy because I don't know where the problem is. Do u have any Idea what I'm doing wrong?

 

Greets

Tom

 

 

0 Likes
Message 6 of 7

Ben-Weiss
Autodesk
Autodesk

Hi @s202087,

 

I believe we were having infrastructure issues on our side with the generative design cloud service mid- last week that caused these jobs to fail. I'm told all should be resolved now; could you please try again and let me know if the solve still fails after two hours?

 

Thanks,

 

Ben



Ben Weiss
Senior Research Engineer
0 Likes
Message 7 of 7

s202087
Explorer
Explorer

Hi @Ben-Weiss,

 

yes now it works. Thank you. Can I do something myself if the error occurs again?

 

I have one more question. My results are quite asymmetrical, although all forces are symmetrical. Are there any other ways to make the result more symmetrical?

 

Best

Tom

0 Likes