Closed jgim06932 closed 3 years ago
Hi there,
For your Q1. I am actually not sure why it does not work for you as I am using FEniCS 2019.01 and running this function without a problem. FEniCS does not only support triangular meshes.
Q2. OpenMDAO is an open-source optimization framework, which is modular and automatically assembles the total derivative. We benefit from its flexibility so that we can easily change objectives, constraints, PDEs, etc. Our work on this hasn't been published yet but it is going to be in a couple of months.
To address your question, you don't have to use OpenMDAO if you just want to solve some simple problems. There are examples of topology optimization using pure FEniCS (like this). 99-line has a Python version on their website as well.
You can reach out to me through email (jiy352@eng.ucsd.edu) if you have further questions to discuss. Also, I recommend using the LSDO main branch rather than my developing branch. LSDO main branch is more stable.
Thanks, Jiayao Yan
If there is no further question, I'll close this issue. You can reach out to me through email.
Sorry for my late reply, and thank you very much for your answers to my questions.
For my question Q1, I made a stupid mistake in my code. I used the double variables for the coordinates of two side positions of rectangular domain. But, it seems that they should be defined as a structure of "df.Point", not just variable.
Thank you for your helps once again.
Hello.
I am interested in the structural optimization, and recently heard about topology optimization. I have tried to run the 99-line Matlab topology optimization code. The optimal design results look very interesting.
After this Matlab running, while searching for a Python-based topology optimization code, I accidentally saw this code (atomics) using FEniCS and OpenMDAO. This was very impressive to me. So I have tried to get started a code by following your documentation, and from this I have a few questions: Please consider this may be a stupid question...
Q1. I ran your cantilever beam code, but the (structured) quadrilateral mesh for the rectangular domain is not created and an error occurs. For a unit square domain, it seems to be created without error. Is there something I'm doing wrong or missing something during the installation or running process? For your information, I installed the latest 2019.01 version of FEniCS. I looked it up and until recently, FEniCS only seemed to support triangular meshes, is that correct?
https://github.com/LSDOlab/atomics/blob/763bbab0787cb454e9d5512be4f89ff8f552b906/atomics/examples/case_1_cantilever_beam_opts/run_cantilever_beam.py#L19
Q2. What is the OpenMDAO and why use it? Is the OpenMDAO necessary for topological optimization?
I know you are busy, but it would be very grateful if you could reply. If it is hard to give the answers here, it would be also OK to reply to my email address, jgim06932@gmail.com