OS-T: 2050 Pattern Repetition

In this tutorial you will perform a topology optimization using pattern repetition.

The model used in this tutorial is a rectangular plate with a concentrated force on one edge and two constraints on the opposite edge. Two other rectangular plates with a scaled size of 0.6 and 0.3 from the original plate, with forces and boundary conditions applied in different directions, are also modeled to highlight the difference between the topology results with and without pattern repetitions.

The objective of this tutorial is to minimize the compliance for the single subcase. The volume fraction of the design space is limited to 0.3. The design spaces are the three plates.

2050_model
Figure 1.

Launch HyperMesh and Set the OptiStruct User Profile

  1. Launch HyperMesh.
    The User Profile dialog opens.
  2. Select OptiStruct and click OK.
    This loads the user profile. It includes the appropriate template, macro menu, and import reader, paring down the functionality of HyperMesh to what is relevant for generating models for OptiStruct.

Import the Model

  1. Click File > Import > Solver Deck.
    An Import tab is added to your tab menu.
  2. For the File type, select OptiStruct.
  3. Select the Files icon files_panel.
    A Select OptiStruct file browser opens.
  4. Select the no_repeat.fem file you saved to your working directory. Refer to Access the Model Files.
  5. Click Open.
  6. Click Import, then click Close to close the Import tab.

Set Up the Optimization

Create Topology Design Variables

  1. From the Analysis page, click optimization.
  2. Click topology.
  3. Select the create subpanel.
  4. In the desvar= field, enter dv1.
  5. Set type: to PSHELL.
  6. Using the props selector, select first.
  7. Click create.
  8. Update the design variable's parameters.
    1. Select the parameters subpanel.
    2. Toggle minmemb off to mindim=, then enter 2.0.
    3. Click update.
  9. Repeat the above steps to create design variables labeled dv2 and dv3 for the second and third component.
  10. Click return.

Create Optimization Responses

  1. From the Analysis page, click optimization.
  2. Click Responses.
  3. Create the volume fraction response.
    1. In the responses= field, enter Volfrac.
    2. Below response type, select volumefrac.
    3. Set regional selection to total and no regionid.
    4. Click create.
  4. Create the compliance response.
    1. In the response= field, enter comp.
    2. Below response type, select compliance.
    3. Set regional selection to total and no regionid.
    4. Click create.
  5. Click return to go back to the Optimization panel.

Create Design Constraints

  1. Click the dconstraints panel.
  2. In the constraint= field, enter volfrac.
  3. Click response = and select Volfrac.
  4. Check the box next to upper bound, then enter 0.3.
  5. Click create.
  6. Click return to go back to the Optimization panel.

Define the Objective Function

  1. Click the objective panel.
  2. Verify that min is selected.
  3. Click response= and select comp.
  4. Using the loadsteps selector, select sub.
  5. Click create.
  6. Click return twice to exit the Optimization panel.

Run the Optimization

  1. From the Analysis page, click OptiStruct.
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter no_repeat_opt for filename.
    For OptiStruct input decks, .fem is the recommended extension.
  4. Click Save.
    The input file field displays the filename and location specified in the Save As dialog.
  5. Set the export options toggle to all.
  6. Set the run options toggle to optimization.
  7. Set the memory options toggle to memory default.
  8. Click OptiStruct to run the optimization.
    The following message appears in the window at the completion of the job:
    OPTIMIZATION HAS CONVERGED.
    FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
    OptiStruct also reports error messages if any exist. The file no_repeat_opt.out can be opened in a text editor to find details regarding any errors. This file is written to the same directory as the .fem file.
  9. Click Close.

View the Results Without Pattern Repetition

In this step you will review an Iso Value plot of element densities.
  1. From the OptiStruct panel, click HyperView.
    HyperView launches inside of HyperMesh Desktop, and loads the session file no_repeat_opt.mvw that is linked with the no_repeat_opt_des.h3d file.
  2. On the Results toolbar, click resultsIso-24 to open the Iso Value panel.
  3. Under Result type, select Element Densities(s).
  4. On the Animation toolbar, click animationFastForwardEnd-24 to choose the last iteration from the Simulation list.
  5. Click Apply.
  6. Change the density threshold.
    • In the Current value field, enter 0.4.
    • Under Current value, move the slider.
  7. Set Show values to Above.
  8. Under Clipped geometry, select Features and Transparent.
    An isosurface plot is displayed. The elements with a density greater than the value of 0.4 are shown in color, the rest are transparent.


    Figure 2.
  9. On the Page Controls toolbar, click the Delete Page icon to delete the HyperView page.

    page_delete
    Figure 3.

Set Up Pattern Repetition

In this step you will define the pattern repetition cards in HyperMesh.
  1. Select nodes.
    1. From the Tool page, click the numbers panel.
    2. Click nodes > by id, then enter 1329, 66, 6, 46, 507, 447, 487, 928, 892, 948 in the id= field.
      Use commas to seperate the values.
    3. Click on.
    4. Click return to exit the Numbers panel.
    The selected node's numbers display.
  2. Isolate component collectors.
    1. From the menu bar, click View > Browsers > HyperMesh > Mask to open the Mask Browser.
    2. In the Mask Browser, Isolate column, click 1 to display only component collectors.

      os2050pic3
      Figure 4.
  3. From the Analysis page, click the optimization panel.
  4. Click the topology panel.
  5. Select the pattern repetition subpanel.
  6. Create the main DTPL card.
    1. Double-click desvar= and select dv1.
    2. Set the switch to main.
    3. Toggle from system to coordinates.
    4. Using the first selector, select node ID 6.
    5. Using the second selector, select node ID 46.
    6. Using the third selector, select node ID 1329.
    7. Using the anchor selector, select node ID 66.
    8. Click update.
  7. Create the secondary DTPL card.
    1. Double-click desvar= and select dv2.
    2. Set the switch to secondary.
    3. Set main= to dv1.
    4. For sx=, enter 0.6; for sy=, enter 0.6; for sz=, enter 1.0.
    5. Toggle from system to coordinates.
    6. Using the first selector, select node ID 447.
    7. Using the second selector, select node ID 487.
    8. Using the third selector, select node ID 1329.
    9. Using the anchor selector, select node ID 507.
    10. Click update.
  8. Create the secondary DTPL card.
    1. Double-click desvar= and select dv3.
    2. Set the switch to secondary.
    3. Set main= to dv1.
    4. For sx=, enter 0.3; for sy=, enter 0.3; for sz=, enter 1.0.
    5. Toggle from system to coordinates.
    6. Using the first selector, select node ID 892.
    7. Using the second selector, select node ID 928.
    8. Using the third selector, select node ID 1329.
    9. Using the anchor selector, select node ID 948.
    10. Click update.
  9. Click return twice.
You have identified the first DTPL card with ID 1 (on the first component) as the main, and the DTPL's of ID2 (second component) and ID 3 (third component) as the secondary, which are dependent on the DTPL of ID1. The second component is scaled 0.6 in both the x- and y-axis, while the third component is scaled 0.3 in both the x- and y-axis with respect to the first component.

Run the Optimization

  1. From the Analysis page, click OptiStruct.
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter repeat_opt for filename.
    For OptiStruct input decks, .fem is the recommended extension.
  4. Click Save.
    The input file field displays the filename and location specified in the Save As dialog.
  5. Set the export options toggle to all.
  6. Set the run options toggle to optimization.
  7. Set the memory options toggle to memory default.
  8. Click OptiStruct to run the optimization.
    The following message appears in the window at the completion of the job:
    OPTIMIZATION HAS CONVERGED.
    FEASIBLE DESIGN (ALL CONSTRAINTS SATISFIED).
    OptiStruct also reports error messages if any exist. The file repeat_opt.out can be opened in a text editor to find details regarding any errors. This file is written to the same directory as the .fem file.
  9. Click Close.

View the Results With Pattern Repetition

In this step you will review an Iso Value plot of element densities.
  1. From the OptiStruct panel, click HyperView.
    HyperView launches inside of HyperMesh Desktop, and loads the session file repeat_opt.mvw that is linked with the repeat_opt_des.h3d file.
  2. On the Results toolbar, click resultsIso-24 to open the Iso Value panel.
  3. Under Result type, select Element Densities(s).
  4. On the Animation toolbar, click animationFastForwardEnd-24 to choose the last iteration from the Simulation list.
  5. Click Apply.
  6. Change the density threshold.
    • In the Current value field, enter 0.38.
    • Under Current value, move the slider.
  7. Set Show values to Above.
  8. Under Clipped geometry, select Features and Transparent.
    An isosurface plot is displayed. The elements with a density greater than the value of 0.38 are shown in color, the rest are transparent.


    Figure 5.
  9. On the Page Controls toolbar, click the Delete Page icon to delete the HyperView page.

    page_delete
    Figure 6.