TopGUI
TopGUI Home | Introduce | Updates | Downloads | Guest book

Introduce

  • What TopGUI? 

       TopGUI is a preprocessor program for Ole Sigmund's 99 line topology optimization code. It is a Matlab GUI program designed for applying displacement constraints and forces to the nodes of the FEA model.

  • Why TopGUI? 
      
      Ole Sigmund's 99 line topology optimization code sucessfully implemented the SIMP method for topology optimization, which is an useful tool and is rather popular in engineering education and research. However since the 99 line code applies displacement constraints and forces by directly assigning values for certain arrays,it may be bothering to modify the code whenever you run it for diffrent constraints or loads. By using TopGUI you can easily apply displacement constraints and loads to your FEA model without editing the code, and will on longer have to recall the numbering rule for nodes and elements in the code.

  • How TopGUI works?
         TopGUI is a single function .m file (topgui.m) and is based on GUI programming. It works rather independent on original program and the original program can use TopGUI by doing slight modification.

         TopGUI is called in Sigmund's program as following:
         [fixeddofs F]=topgui(nelx,nely);
        Then the function topgui generates a GUI. In this GUI user can specify the displacement constraints and loads to the model. When all constraints and loads are inputed, press the finish button on the right-bottom of the window. Then the function topgui returns two arrays(fixeddofs and F) which are needed in the original program  and indicate constrained dofs and nodal forces respectively.
        After all to make TopGUI work, you have to do slight modification to the original 99 line code as folows:
         1. At the beginning of the main fucntion insert the blue codes as follows:
               function top(nelx,nely,volfrac,penal,rmin);
               global fixeddofs F
               [fixeddofs F]=topgui(nelx,nely);
                 ...
        2. In function [U]=FE(nelx,nely,x,penal).
              We do some modification to ensure that the array fixeddofs and F are
     
    assigned value by function topgui in main function top(nelx,nely,volfrac,penal,rmin).

               At the beginning insert the blue codes as follows:
                  function [U]=FE(nelx,nely,x,penal)
                  global fixeddofs F
                  ...
               Then remove the sentence "F = sparse(2*(nely+1)*(nelx+1),1);" and the sencentces assigning values to array F and fixeddofs,such as 
             "
    F(2,1) = -1;
                and 
             "
    fixeddofs = union([1:2:2*(nely+1)],[2*(nelx+1)*(nely+1)]);"

     Put the topgui.m and the modified top.m in the same directory and set it to current direcroty under Matlab. So you can begin use TopGUI by input as the original 99 line code:
      >> top(80,50,0.4,3,1.5)

 

TopGUI Home | Introduce | Updates | Downloads | Guest book

This web site is maintained by Kang Zhao.

E-mail : kangzhao(AT)student.dlut.edu.cn

My homepage : http://www.geocities.com/chinakkong/

Hosted by www.Geocities.ws

1