Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discontinuity in Optimisation Results Using Stiffness as Base #40

Closed
Vishnu-Gaddime opened this issue Apr 26, 2024 · 5 comments
Closed

Comments

@Vishnu-Gaddime
Copy link

Hello,

I am working on an optimization problem where I am using stiffness as the base. Here are the details of my setup:

  • Load: 1200N
  • Mass goal ratio: 0.3
  • Material: Aluminium 6061-T6

For the boundary condition preservation, I have added the nodes into another ELSET and set its domain optimisation
to false.

I have attached an image showing the boundary conditions for my problem. However, I am observing some discontinuities in the result file, which I did not expect. I have also attached an image of these results for reference.

Could anyone provide some insight into why these discontinuities might be occurring? Any help would be greatly appreciated.

Thank you.
GEBracketInputs
GEBracketIssue

@fandaL
Copy link
Collaborator

fandaL commented Apr 28, 2024

In this case it might be due to more reasons.
It might be lighter solution if you use only the closest fixations. If you require the lug to be connected to all four bolts, you can try to include also some other load cases with additional load directions. Or replace fixed locations with nearby structure which has some real stiffness (not perfectly rigid). So the solution will be more robust for practical application.

Since the algorithm works on the principle of sequential removal of the material, it can happen that it removes some links, which “should” be there, especially if the mesh is too rough and you ask for low mass goal ratio. You can also look at intermediate results before it reached final mass.

@Vishnu-Gaddime
Copy link
Author

Vishnu-Gaddime commented May 3, 2024

Thank you @fandaL for your previous response. It was very helpful. I have an additional question regarding the preservation of boundary conditions.
In my current approach, I extract the nodes from the fixed constraints and load constraints from the .inp file. I then create an ELSET from these nodes, assign them different materials, and set their domain optimization to False. Additionally, I remove these nodes from the domain-optimized ELSET. The image of the GEBracket above is the result of this process.

However, when I tried splitting and assigning different materials using the approach you mentioned for preserving the geometry, there was no discontinuity for the same boundary conditions. This has led me to question whether my approach is correct or if there’s something I might be doing wrong.
I would greatly appreciate any insights or alternative approaches I could take. Thank you in advance for your time and assistance.

@fandaL
Copy link
Collaborator

fandaL commented May 3, 2024

Difficult to say from the rough description. There can be significant changes in the results if you change inputs only a little. Inputs and some output metrics are printed to the .log file in the working directory, where you can compare the differences.

@supriyachaugule1
Copy link

Hii @fandaL
GEBracket.zip
These are the steps we follow while generating the inp file:
-The file contains only a single body without any split bodies.
-We designate four surfaces as fixed surfaces and two upper surfaces as load surfaces, as illustrated in the figure above.
-In the material section, we don't assign any solid body for the first material. Instead, we assign all constrained faces to the second
material. Consequently, the generated inp file lacks an elset for the second material.
-To address this, we run a Python script to modify the inp file. The script determines the elset from nodes and assigns it to the
second material. It also removes this elset from the first material, as the first material contains all elsets (volume elements).

Here attaching both files ,generated from freecad and modified with python script.
Could you provide insight into whether there's anything wrong with the inp file causing the discontinuity issue in the results?

@fandaL
Copy link
Collaborator

fandaL commented May 9, 2024

If you would look at results from more iterations, there will be some point where further bolts detach. The optimization works with some filter radius and element size. With finer mesh (filter radius is by default 2x element size) results can change so some small connection might remain. (Unfortunately, current code leads to very long optimization times when models are large.) If the mesh is too rough, results with very small mass_goal_ratio do not make sense. But in the case above, I guess the solution is not so bad because the loads act in a plane which is almost intersecting closer bolt holes. So I would expect further bolts to be much less effective in this load case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants