OS-T: 2098 Excavator Arm

In this tutorial you will set up an optimization problem of an MBD system using the equivalent static load method (ESL).

Before you begin, copy the file(s) used in this tutorial to your working directory.

You will setup the model in HyperMesh, and run the Topology optimization job with OptiStruct.

The Objective of the optimization is to maximize the stiffness of the Lower arm of an excavator model, while keeping the mass to less than an allowable value. The model units are kg, N, m and s.

os_2098_model
Figure 1. Excavator Model
The optimization problem for this tutorial is stated as:
Objective
Minimize the maximum compliance in an ESL loadstep.
Constraints
Upper bound on volume fraction.
Design Variables
Element density of elements in the lower arm (flexible body) component.

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.

Open the Model

  1. Click File > Open > Model.
  2. Select the Excavator_MBD.hm file you saved to your working directory.
  3. Click Open.
    The Excavator_MBD.hm database is loaded into the current HyperMesh session, replacing any existing data.

Submit the Job

The model already has the excavator MBD analysis set up with all the bodies defined as rigid bodies..

  1. From the Analysis page, click the OptiStruct panel.

    OS_1000_13_17
    Figure 2. Accessing the OptiStruct Panel
  2. Click save as.
  3. In the Save As dialog, specify location to write the OptiStruct model file and enter excavator_MBD_analysis 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 analysis.
  7. Set the memory options toggle to memory default.
  8. Clear the options field.
  9. Click OptiStruct to launch the OptiStruct job.
If the job is successful, new results files should be in the directory where the excavator_MBD_analysis.fem was written. The excavator_MBD_analysis.out file is a good place to look for error messages that could help debug the input deck if any errors are present.

View the Results

  1. When the message ANALYSIS COMPLETED is received in the dialog, close the dialog.
  2. From the OptiStruct panel, click HyperView.
    The results for the current run automatically load into HyperView.
  3. From the Animation toolbar, click animationStart-24 to start the animation and review the MBD model.
  4. On the Page Controls toolbar, click pageDelete-24 to delete the page, close HyperView, and return to HyperMesh.

Set Up the Optimization

Change the Rigid Body into a Flexible Body

In this step you define the topology optimization on the body, Lower_Arm. It was originally modeled as a rigid body and needs to be converted to a flexible body for the optimization.
  1. From the Analysis page, click the bodies panel.
  2. Select the update subpanel.
  3. Double-click body= and select Lower_Arm.
  4. Click review.
    The lower arm component is highlighted. Body type PRBODY is shown for type=, indicating that lower arm is modeled as a rigid body. You will update this body to a flexible body type, and also define topology optimization on this body.
  5. Click type= and select PFBODY.
  6. In the nmodes= field, enter 20.
    This increases the number of modes included in the CMS method to 20.

    os_2098_updating_lower_arm
    Figure 3. Updating Body Type for Lower_Arm
  7. Click update.
    A message appears in the lower left corner to indicate that the body has been update to a new type.
  8. Click return.

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 L_Arm_Topology.
  5. Set type: to PSOLID.
  6. Using the props selector, select lowerarm.
  7. Click create.
  8. Update the design variable's parameters.
    1. Select the parameters subpanel.
    2. Toggle minmemb off to mindim=, then enter 0.05.
    3. Click update.
  9. 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 by entity and no regionid.
    4. Using the props selector, select lowerarm.
    5. 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 Vol_Constr.
  3. Click response = and select Volfrac.
  4. Check the box next to upper bound, then enter 0.5.
  5. Click create.
  6. Click return to go back to the Optimization panel.

A constraint is defined on the response Volfrac. The constraint will force the volume fraction used in the design space to be less than 0.5.

Define the Objective Reference

  1. From the Analysis page, Optimization panel, click the obj reference panel.
  2. In the dobjref= field, enter MAX_Compin.
  3. Select pos reference, and enter 1.0.
  4. Select neg reference, and enter -1.0.
  5. Click response and select Comp.
  6. Set the loadsteps selection option to all.

    This ensures the design objective reference includes compliances from all the load steps that are calculated by the ESL method.

  7. Click create.
  8. Click return to go back to the Optimization panel.

Define the Objective Function

  1. Click the objective panel.
  2. Verify that minmax is selected.
  3. Click dobjrefs and select MAX_Comp.
  4. Click create.
  5. Click return twice to exit the Optimization panel.

Save the Database

  1. From the menu bar, click File > Save As > Model.
  2. In the Save As dialog, enter excavator_MBD_Topology.hm for the file name and save it to your working directory.

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 excavator_MBD_Topology 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 excavator_MBD_Topology.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

  1. When the message OPTIMIZATION HAS CONVERGED is received in the command window, close the DOS window.
  2. From the OptiStruct panel, click HyperView.
    The results are load into HyperView.
  3. In the Results Browser, select the final Outerloop iteration to load the optimized topology results.

    os_2098_outerloop
    Figure 4.
  4. From the Results toolbar, click resultsIso-24 to open the Iso Value panel.
  5. Set the Result type to Element densities (s).
  6. Click Apply.
    Only the elements that have elemental density higher than what is shown Current value field display.

    os_2098_current_value
    Figure 5.
  7. Change the density threshold.
    • In the Current value field, enter 0.5.
    • Under Current value, move the slider.
  8. Set Show values to Above.
  9. In the Model Browser, Component folder, right-click on Lower_Arm and select Isolate from the context menu.
  10. In the Iso Value panel, under Clipped geometry, select Features to visualize the complete design space.

    os_2098_features
    Figure 6.