-
Notifications
You must be signed in to change notification settings - Fork 26
Topology optimization with homogenized level set #58
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
Conversation
…intersection with level set boundary and add new elements to the mesh inside each subelement.
…el set elem intersection.
…ear implicit assembly. -- Modifications in elem operation classes to support this.
…an independent file and making the driver functions in the example templated so that the models can be easily switched out.
…o that AMG solvers can be used. -- Added problem_type in SIM topology optimization example so that objective/constraint function can be modified using user options.
…example -- Added problem_type to level-set topology optimization example.
…ed in the global assembly routines.
…int on level-set function.
…tion examples -- Added method in level-set topology optimization example to mark shifted boundaries for application of traction boundary condition. -- Added traction boundary condition in structural analysis. Currently only implemented for 2D inplane structural analysis. -- Added a shifted boundary application of traction boundary condition. Currently only implemented for 2D inplane structural analysis. -- Added option for computation of second order spatial derivative for side integration. -- Damped the Newton-step for identification of point on shifted boundary. -- Added method in level-set element intersection class to identify the sides of the element on material. -- Bug-fixes in sub-element mesh refinement class.
-- added supporting methods in level-set boundary velocity object and mesh function.
…level set function.
…tion now uses the geometric filter information to improve the computational efficiency.
-- Modified the element modulus function in example 7 to use a penalty parameter similar to SIMP.
…ation with different penalization of modulus of elasticity for static analysis and stress analysis. -- Updated smoothing width for approximate Heaviside to 0.1. -- Minor fixes for compatibility with libMesh changes to parallel communicator API.
…nly if NastranIO is enabled.
…n of mast with pynastran -- Modified upper/lower limit of level-set in example 8 to +/- 10
…ese are created by cython during each compilation.
@jdeaton This influences |
I must be missing something. When |
The problem I'm seeing is that Doxygen has some sort of its own pre-processor that isn't smart enough to get through |
I see your points. I just tried to comment all occurrences of I added this conditional to address some problem that I was facing while building the code without nastran support a few days ago. Unfortunately, I do not remember what that problem was and given that the code is building fine in either configuration, it would make sense to remove it and revisit if necessary in future. |
Yea, I may go in and remove those parts. It needs documented in the installation, but the way it's currently setup if Also, I saw you made some changes and then reverted stuff, but I may need to go verify the Cython part. With |
Yes, I figured that by reading through the Cmake documentation. During my very first implementation with cython (about 3 year ago) I was rebuilding these file each time and needed cython. As a result, I did not need the |
-- Added a new example (structural example 8) that uses the homogenized level-set based for topology optimization.
-- Modified Nastran example to be enabled only if
ENABLE_NASTRANIO
is set.