Classic thermal compliance optimization

Altair Forum User
Altair Forum User
Altair Employee
edited July 2022 in Community Q&A

Hi,

I am trying to do a simple optimization, refer to the following  example.

I have make a fixed temperature at the top middle edge, but have error to run.

How can I make a flux input to the entire surface?  I am thinking that the flux input can't applied on Design_Space domain , right? 

 

 

I also attached my FEM file, for your reference.

 

snipaste_20170421_165132.png.55441f5d6326c88803afac82e1047d08.png

Unable to find an attachment - read this blog

Answers

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    @wumindao

     

    You will end up with this message when you have CHBDYE on design space

    CHBDYE can't be applied in topology or free-size design domain.

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    Hi Prakash,

     

    Is there another method to set the Flux input to the entire plate (topology domain)

    As refer to the example above, that comes from attached paper, the optimization can be done by using Optistruct.

     

    Can I add heat flux to nodes/ elements without using CHBDYE  ?

     

     

    Unable to find an attachment - read this blog

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    @wumindao

     

    I will check and update to you soon. 

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    Hi Prakash,

     

    Thanks.

    Furthermore, is it possible to apply the heat flux on 3D solid elements (including outside surfaces and inside elements), so I can solve topology optimization in 3D domain.

    Following photos are showing the 2D and 3D domain model descriptions and results.

     

    <?xml version="1.0" encoding="UTF-8"?>snipaste_20170424_215752.png

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    @wumindao

     

    Yes, you can have CHBDYE on solid elements. CHEXA, CPENTA, CPYRA and CTETRA are supported. 

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    Hi Prakash,

     

    But the same problem is still there that CHBDYE can't be applied in topology design domain. 

    For both 2D and 3D models, the flux need to be applied in the entire design domain.

     

    Do you have any other method to solve this problem? 

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    is it possible to apply the heat flux on 3D solid elements (including outside surfaces and inside elements),

    Yes it is possible to apply heat flux on 3D elements but they need to be in non design space. 

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited November 2020

    Hi Prakash,

     

    Thanks.

    I have change the heat flux type to QVOL, thus this type flux can be used to applied in design space domain.

    Take the 2D problem as example,  I got a different optimal result (following photo) compare to the tree like structure optimal.

    Attached file is my model file.

    Appreciate if you could help me to check my model and see how can I change the setting to get a tree like structure optimal result.

    <?xml version="1.0" encoding="UTF-8"?>snipaste_20170425_191200.png

    Unable to find an attachment - read this blog

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    @wumindao

     

    In the attached pdf, I see the analysis formulation is based on convection and conduction. 

     

    To have a fixed temperature you can constrain the nodes without any Dofs and edit the SPCs to provide temperature boundary condition. 

     

    It is a little difficult to such a structure just based on assumed values.

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited April 2017

    Hi Prakash,

     

    Yes the formulation is based on convection and conduction, but the convection is not considered in the model. 

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited July 2017

    Hi Prakash,

     

    Can you please let me know how to give Internal heat generation to 3D body. I know how to add heat flux from surface through conduction.

     

    THANKS

  • Alucard
    Alucard Altair Community Member
    edited November 2020

    Hi Prakash,

     

    Thanks.

    I have change the heat flux type to QVOL, thus this type flux can be used to applied in design space domain.

    Take the 2D problem as example,  I got a different optimal result (following photo) compare to the tree like structure optimal.

    Attached file is my model file.

    Appreciate if you could help me to check my model and see how can I change the setting to get a tree like structure optimal result.

    <?xml version="1.0" encoding="UTF-8"?>snipaste_20170425_191200.png

    How are you able to get that? 
    When I do the optimization process, all elements get removed.
    What I did was add a 0 temp boundary condition on the middle nodes, and then added a QVOL flux over all elements. I then set the Obj function to min thermal compliance under a volume constraint of 30%. The entire mesh was set as design variables. But it still ends up trying to remove all elements.

    Unable to find an attachment - read this blog

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

    Can you share your model, please?

     

     

  • Alucard
    Alucard Altair Community Member
    edited October 2018

    Sure.

    I've also checked wumindao's file. He set the temperature to 1 instead of 0. That gave me some results, but it still doesn't match with the one in the paper that wumindao linked in his first post. I also noticed when I zoomed into the pictures, that the elements seem to have a convection elements included, which isn't allowed for topology optmization.

    Also, according to another paper https://www.sciencedirect.com/science/article/pii/S0168874X08000905 I should be able to optimize the structure with 0 temp boundary condition on the outer edge without convection included (like in the image below). 

    <?xml version="1.0" encoding="UTF-8"?>image.thumb.png.57594259c1048d94fea69f3d36c4c053.png

    Unable to find an attachment - read this blog

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

    Hi,

     

    Let me check the model and I will revert to you soon, 

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

    Hi @Alucard

     

    I have shared a model through your registered email ID. Please check and try again.

  • Alucard
    Alucard Altair Community Member
    edited October 2018

    Thanks, Prakash!

    The model is working fine now. I do however wonder about the two cards OPTI_DEBUG and CASE_UNSUPPORTED_CARDS. What is the use of these cards?
    Also, if I wanted to do the same for a 3d model. It wouldn't be possible to add the conduction elements in between the internal elements.

  • Alucard
    Alucard Altair Community Member
    edited October 2018

    So I ran a 100x100x100 3d model  with an element size of 2mm and I had to manually add the surface elements one layer at a time just to ensure that I have conduction elements at least touching one face of the internal elements (So not all faces if an element has those elements attached). And I did get the results I was expecting as you can see below from the mid section view and full view.

    image.png.799662e1d5f88098137aaf58a3c3b159.png

    But, this was a time consuming process. Is there an efficient way to do this?

    If I was to only add the surface elements to the outside face, and add Qvol to the internal elements, I end up getting the shape shown below.

    image.png.1d88c6f685359739c644fb5197a77fcf.png

    If I was only to add the surface elements on the outside faces (Without internal QVol), I get the shape below. And it doesn't match what I should be getting.
    image.png.ed0f907718e835522161a0e5a9edfbb6.png

    Thanks

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

    reducing the number of nodes (coarse mesh), more memory may help?!!

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited October 2018

    Hi @Alucard

    Can you get the same result as the paper for 2D case? (My first post) Like this. image.png.894610ddc2a5011e3906d857010e8d70.png I have tried several times and still could not get this and then I gave up. After that I use Top3d and got a quite similar optimal tree-like geometry both for 2D and 3D cases. For your 100x100x100 model, maybe you can try Top3d and see which one run fast. 

     

    By the way, could you share your 100x100x100 model with me?  my email is wumindao@gmail.com

    Thanks. 

     

     

     

  • Alucard
    Alucard Altair Community Member
    edited October 2018

    reducing the number of nodes (coarse mesh), more memory may help?!!

     

    My issue isn't about memory or computational time though. It's about manually having to add the conduction elements internally to get the result that I wanted. If I Was to select all elements, Hypermesh will only add the elements to the external faces of the mesh. So in the case of my 100x100x100, I had to mask every other column and then added the conduction elements. This allowed me to have at least one face in every element that is attached to a conduction element. If I didn't do this, I wouldn't get the results that I'm looking for. Is there another efficient way I can do this?

    @wumindao
    Yes, the file Prakash shared with me is able to obtain the same results. QBDY1 load has to be applied to the slave conduction elements. And two cards needs to be defined (OPTI_DEBUG and CASE_UNSUPPORTED_CARDS). I sent you both the 2d and 3d files.
    I did try Top3d but Matlab ran out of memory when I tried to run a larger model.

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited November 2018

    @Alucard I too am working on a 3D model for this. Were you able to create conduction internally too without masking each row/column. Also do you have any alternate way of contacting you? Also, you are modelling conduction internally and not any convection conditions on the outer surface of the cubes right?

     

    Thanking You,

    Amogh Taraikar

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited November 2018

    So I ran a 100x100x100 3d model  with an element size of 2mm and I had to manually add the surface elements one layer at a time just to ensure that I have conduction elements at least touching one face of the internal elements (So not all faces if an element has those elements attached). And I did get the results I was expecting as you can see below from the mid section view and full view.

    <?xml version="1.0" encoding="UTF-8"?>image.png.799662e1d5f88098137aaf58a3c3b159.png

    But, this was a time consuming process. Is there an efficient way to do this?

    If I was to only add the surface elements to the outside face, and add Qvol to the internal elements, I end up getting the shape shown below.

    <?xml version="1.0" encoding="UTF-8"?>image.png.1d88c6f685359739c644fb5197a77fcf.png

    If I was only to add the surface elements on the outside faces (Without internal QVol), I get the shape below. And it doesn't match what I should be getting.
    <?xml version="1.0" encoding="UTF-8"?>image.png.ed0f907718e835522161a0e5a9edfbb6.png

    Thanks

     

    Hey @Alucard @Prakash Pagadala

    I am interested in the work you guys have done. Do you have any tutorial video or user guide to generate thermal topology of 3d objects? if not can you show me how you did it for this problem? My email address is aa.sutaria@gmail.com.

     

    Thanks

    Ankit Sutaria

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited December 2018

    Hey @Prakash Pagadala

    Can you share 2D or/and 3D sample  generate thermal topology ?

    Thanks

    Best regards

    Andrey

     

  • Altair Forum User
    Altair Forum User
    Altair Employee
    edited January 2019

    Hey @Prakash Pagadala

    Can you share 2D or/and 3D sample  generate thermal topology ?

    Thanks

    Best regards

    Andrea

  • Rahul Rajan_21763
    Rahul Rajan_21763 New Altair Community Member
    edited January 2019
  • Divan.46
    Divan.46 Altair Community Member
    edited March 2019

    Ankit1994

     did you have any tutorial video or user guide to generate a thermal topology of 3d objects?

    if yes, can you please share that with me? 
    My email is  soudas46@gmail.com

     

  • Rahul Rajan_21763
    Rahul Rajan_21763 New Altair Community Member
    edited October 2020
  • Divan.46
    Divan.46 Altair Community Member
    edited March 2019

    Hello    @Alucard ,

    Can you please help me with the classic thermal compliance 2D case? 

     You told earlier, ' QBDY1 load has to be applied to the slave conduction elements. And two cards '
    needs to be defined (OPTI_DEBUG and CASE_UNSUPPORTED_CARDS
    '

    can you please let me know how to do that? 

    thanks in advance :)/emoticons/default_smile.png' srcset='/emoticons/smile@2x.png 2x' title=':)' width='20' /> 


     

  • DM_21595
    DM_21595 Altair Community Member
    edited July 2022

    So I ran a 100x100x100 3d model  with an element size of 2mm and I had to manually add the surface elements one layer at a time just to ensure that I have conduction elements at least touching one face of the internal elements (So not all faces if an element has those elements attached). And I did get the results I was expecting as you can see below from the mid section view and full view.

    <?xml version="1.0" encoding="UTF-8"?>image.png.799662e1d5f88098137aaf58a3c3b159.png

    But, this was a time consuming process. Is there an efficient way to do this?

    If I was to only add the surface elements to the outside face, and add Qvol to the internal elements, I end up getting the shape shown below.

    <?xml version="1.0" encoding="UTF-8"?>image.png.1d88c6f685359739c644fb5197a77fcf.png

    If I was only to add the surface elements on the outside faces (Without internal QVol), I get the shape below. And it doesn't match what I should be getting.
    <?xml version="1.0" encoding="UTF-8"?>image.png.ed0f907718e835522161a0e5a9edfbb6.png

    Thanks

     

    Hey @Alucard @Prakash Pagadala

    I am interested in the work you guys have done. Do you have any tutorial video or user guide to generate thermal topology of 3d objects? if not can you show me how you did it for this problem? My email address is aa.sutaria@gmail.com.

     

    Thanks

    Ankit Sutaria

    Ankit, did you happen to receive the work of @Alucard ? I would really appreciate it if you could give me any leads regarding this.