Jump to content
Farper

Lattice structure

Recommended Posts

Hi,

I just tried to use optisruct to do the lattice structure optimization. The lattice fem file was created but I am not able to see the lattice parts in the model. Could you please take a look at my file to see if I did it correctly or not and what is the problem. I used the lattice option in topology panel(I have attached the photo of it).

Untitled.png

ctrlarm_lattice.fem

Share this post


Link to post
Share on other sites

Hello again,

I just tried to do a lattice optimization for a bulk model under compression but I encountered the message below. I have also attached my file could you please help me to understand what is the problem.

Thank you.

 

Capture.JPG

45x45x100 bulk.hm

Share this post


Link to post
Share on other sites

Hi,

 

there are limitations for stress constraints in topology and free-size optimization (see attached document). 

The stress constraint definition in a topology optimization is a global constraint and does not target local stress concentrations.  These areas can be addressed subsequently through size, shape, and free shape optimization or a combination thereof.  Subsequent size, shape or free-shape optimization is performed to minimize the mass while meeting stress and deflection criteria.  Artificial stress concentrations are filtered out during topology optimization with stress constraints.  These include regions around rigid connections, concentrations due to hard geometric features such as corners, etc.

 

from Optistruct User Guide:

Quote

 

The von Mises stress constraints may be defined for topology and free-size optimization through the STRESS optional continuation line on the DTPL or the DSIZE card. There are a number of restrictions with this constraint:

  • Stress constraints may not be used when enforced displacements are present in the model.

 

 

 

 

 

Stress Responses for Topology and Free-Size Optimization.pdf

Farper likes this

Share this post


Link to post
Share on other sites

Dear @Ivan

Thank you for the information. My model is supposed to simulate a compression test with enforced displacement. According to the file, you uploaded it is not possible to put constraint limit with this type of displacement. So, what do you suggest as a possible solution wrt this fact that I need to do this simulation with displacement percentage?

Share this post


Link to post
Share on other sites

There are two options:

-instead of minimize compliance objective subject to volume fraction constraint, try minimize volume fraction objective subject to stress constraint. Note that stress constraint in this case is defined by static stress response (DRESP1), not on topology card

-optimization in two stages (concept and detail): first concept stage without stress constraint on topology cards and minimize compliance objective subject to volume fraction constraint, and in the second detailed stage (after interpreting results of first stage), perform size, shape or free shape optimization to locally optimize the design and stay bellow stress constraint.

Farper likes this

Share this post


Link to post
Share on other sites

What error are you facing and which version are you using?  It did run on my end (HW 2017.2). 

 

However, there are a couple of issues:

-you forgot to change the optimization constraint from 0.3 to 200

-the optimization problem is not well posed. All loadsteps but the first (0,2% loading) have stresses bigger than 200 MPa in the analysis before optimization. If the model is unable to hit the target using full design space, it cannot produce feasible results after optimization. In other words, if the model does not have enough available material to start with, it can not add material during optimization.

 

Attached are edited model and partially run optimization.

45x45x100 bulk_edit.hm

45x45x100 bulk_01_des.h3d

Farper likes this

Share this post


Link to post
Share on other sites


Eventhogh I had changed the constraints above 200 again I have the following errors.

First: 

ANALYSIS COMPLETED.
  
 
 OPTIMIZATION HAS CONVERGED.
  
 INFEASIBLE DESIGN (AT LEAST ONE CONSTRAINT VIOLATED).

 

Then:

  
 
 ANALYSIS COMPLETED.
  
 

 *** INTERNAL PROGRAMMING ERROR ***
   in file "dsetio-inc.h", at location # 132.

Share this post


Link to post
Share on other sites

In the baseline analysis the highest stress is 333 MPa at 44% compression, so the stress constraint should be at least as much in order to give Optistruct a chance for a feasible design. It should be noted that typically porous material represented by periodic lattice structures exhibits lower stiffness per volume unit compared to fully dense material. Lattice optimization gives huge stress (41.000 MPa) at 44% compression. This kind of makes sense because lattice beams are way too slender since even a solid block of material was at the limit of feasibility. So this high compression % cannot be handled by such a lattice structure (even before buckling is taken into account).

 

The  *** INTERNAL PROGRAMMING ERROR *** is a strange one. Perhaps it is a software bug that should be handled by Altair, as suggested in the following topic:

Looks like the issue is already resolved in 2017.2.2 version:

Running linear static analysis instead did not give such error, but can't be used in your case as it gives too high stresses at larger displacements.

 

I also noticed unit inconsistency: on DTI_units mass was set to kg, but the mass of aluminium is 2.7e-9 so it should be Mgg (tonne) instead.

Farper likes this

Share this post


Link to post
Share on other sites

I should finish my thesis this weekend. My supervisor insists to do a non-linear lattice optimization with enforced displacement. Until now I couldn't find a way to perform it. I just want to know is performing this kind of optimization possible at all? Are there any tutorials that go deep in lattice optimization? (there just an OS:3300 tutorial which is very general and also linear) it is a kind of emergency.

Share this post


Link to post
Share on other sites

I wish I could be more helpful.

 

There are tutorials OS-3300 and OS-E: 0840 Lattice Structure Optimization. There is also a chapter on lattice optimization in the User Guide>Design Optimization>Lattice Structure Optimization

The following might help:

2b101a70b92105abf4b221d0736bcf4b2eeafb01.jpg?image_play_button_size=2x&image_crop_resized=960x540&image_play_button=1&image_play_button_color=7b796ae0

2015-03-18 Altair OptiStruct Revolutionizes Lattice Structures for 3D Printing

https://rc.library.uta.edu/uta-ir/bitstream/handle/10106/26381/DAKSHNAMOORTHY-THESIS-2016.pdf?sequence=1&isAllowed=y

http://sffsymposium.engr.utexas.edu/sites/default/files/2016/170-Dakshnamoorthy.pdf

 

First try to optimize only 0,2% loading without stress constraint. IMHO the stress constraints are too low and imposed displacements are too high.

 

Lattice Structure Optimization.pdf

OS-E_ 0840 Lattice Structure Optimization.pdf

Farper likes this

Share this post


Link to post
Share on other sites

@Ivan

Thank you very much they helped me to understand the lattice better. But as I studied these materials along with the other resources, using nlgeom is not useful. In my case I should optimize a cube under compression. The compression is performed using enforced displacement. To increas the stifness we should use volfrac and compliance responses. Volfrac for the design constrant and minimizing the complians as objective. But all in all I cannot perform this optimization. Using linear static everything is fine.

Share this post


Link to post
Share on other sites
12 hours ago, Farper said:

Volfrac for the design constrant and minimizing the complians as objective.

Actually, when prescribed displacements are used, to increase the stiffness the objective should be to maximize compliance. I'm sorry for misleading you. Try to formulate the optimization problem accordingly and please report back.

 

from Optistruct help:

Quote

• What Is The Difference Between Using Forces And Prescribed Displacements?
In order to increase stiffness, minimize compliance should be used with forces and maximize compliance with prescribed
displacements.
The compliance is defined as:
Compliance ~ Force · Displacement
When prescribed displacements are used, the reaction force must be increased to increase the stiffness. This means that the
compliance has to be maximized.

In case the forces are given, a stiffer structure means having lower displacements. To achieve this goal, the compliance needs
to be minimized.

 

12 hours ago, Farper said:

Using linear static everything is fine.

Do you still get INTERNAL PROGRAMMING ERROR  while running NLGEOM? Did you update to the latest Hyperworks version?

Farper likes this

Share this post


Link to post
Share on other sites

Dear @Ivan

I really appreciate your help today I got an answer from Altair for internal programming error which says that NLGEOM is not supported:

 

Good Morning,

 

the NLGEOM is an obsolete analysis type no more developed in the last years, in fact when you import the .fem file in Hypermesh you obtain this message:image001.png.9af0ebf4916927d8c112cd5317cd5f60.png

 

So at the moment please don’t use NLGEOM analysis type but set up the optimization with standard linear static, trying to approximating the behavior of the component in linear theory.

 

In any case, I’m in contact with the developers, if in the next versions will be any changes I’ll inform you.

 

I talked to my supervisor and we had decided to use Linear Static with small steps. Is it possible? I think it could be possible by increasing the displacement gradually. Let me know about your idea.

 

 

 

 

Simon Križnik likes this

Share this post


Link to post
Share on other sites

You can use non-linear quasi-static (NLSTAT) analysis. However, I would recommend to first perform lattice optimization using linear static analysis with small loading % and only after you are confident enough in the results (they make sense) try the non-linear solution and larger enforced displacements.

Farper likes this

Share this post


Link to post
Share on other sites

Stress constraints are usually set to yield stress and so depends on the material being used. 

Lattice Stress Values.PNG

The "Stress Constraint" is for Phase 1- global constraint (Apply to the entire model including non-design space)

The "Stress Value" is for Phase 2 - local constraint

 

Users can check on the optimization process in the out file under RETAINED RESPONSES TABLE

https://altairuniversity.com/wp-content/uploads/2014/01/Output-File-Structure.pdf

Share this post


Link to post
Share on other sites

We can't use global stress constraint on DTPL card with enforced displacements, remember? ;)

 

Local stress constraint depends on the material being used and application requirements. If we want the design to stay in the elastic range (no plastic deformation) then we constrain at yield strength. If we want to ensure the design will not rupture (break) we constrain at ultimate or fracture strength. If we want to design durable components we constrain at fatigue strength. For typical steel material, yield strength is at 350 MPa and ultimate strength at 420 MPa.

 

Farper likes this

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...