MV-3023: Optimize a Suspension

In this tutorial, you will learn how to setup an optimization problem using MotionSolve's Optimization Wizard for a suspension model.

This model is taken from MV- 3010: Optimization Using MotionView - HyperStudy. You will learn about the following:
  • Defining point coordinates as design variables
  • Defining a response type 'Root Mean Square Deviation' for matching curve
  • Using the responses as objectives
  • Running the optimization and comparing the results in HyperGraph
In this tutorial, you will reproduce the suspension optimization problem in MV-3010 (Optimization using MotionView - HyperStudy). The location (y and z coordinates) of both inner tie-rod ball joint and outer tie-rod ball joint are changed so that the toe vs. ride height curve matches a given desired target curve.

Figure 1. Suspension Topology to Optimize

Figure 2. ‘Toe-ride height’ curve of initial design, optimized design and target design
You can compare the differences between MotionSolve optimization and MotionView + HyperStudy optimization and learn the benefits of each method.

Add Design Variables

In this step, you will add design variables for the optimization.

Before you begin, copy the file mv_3023_initial_susp_opt.mdl and target_toe.csv located in the mbd_modeling\motionsolve\optimization\MV-3023 into your <working directory>.
  1. In MotionView, open mv_3023_initial_susp_opt.mdl.
  2. In the Project Browser, right-click on Model and select Optimization Wizard from the context menu.
  3. Under Design Variable, click the Points tab.
    All points listed are shown below.
  4. Make the y and z coordinates of inner tie-rod ball joint and outer tie-rod ball joint designable.
    1. Go to point Otr tierod ball jt - left under the Frnt SLA susp (1 pc LCA) system.
    2. Expand the data member of it and select y and z.
    3. Click Add.
    4. Under the Parallel steering system, add y and z data members to point Inr tierod ball - left.
    5. Change the upper and lower bounds of design variables according to Table 1:
      Table 1.
      DV Lower Limit Upper Limit
      Otr tierod ball jt(DV)-left-y -651.15 -551.15
      Otr tierod ball jt(DV)-left-z 190.92 250.92
      Inr tierod ball(DV)-left-y -298.9 -209.9
      Inr tierod ball(DV)-left-z 230.86 278.86

      The optimization wizard should look like the following image after creating design variables:

      Figure 3.

Add Response Variables

In this step, you will add response variables to the optimization.

The objective of the optimization is to make the toe vs. ride height curve match a target design. The model already has the desired target curve defined and it will be used in the response being created.
  1. Click on the Responses page.
  2. Click to add a response variable. Retain the default Label and Variable name and click OK.
  3. Once the response variable is created, under Response Type, choose Response Type, Root Mean Square Deviation.
    This response needs three user inputs:
    • Desired Curve - This is the target curve.
    • Response Expression - This is the value you measure.
    • Independent Variable - This defines the independent variable used to calculate the target value.
  4. For Desired Curve, click the Curve button and choose toe_rh.
  5. Activate the Specify independent variable check box. Click SolverVariable to choose toe_angle.
  6. For Response Expression, enter the following expression for ride height: `(DZ({})-282.57)`.
    You have finished creating the response. The user interface should appear as it does in Figure 4:

    Figure 4.

Add Objectives and Constraints

In this step, you will add an objective to the problem.

The objective in this problem is matching the toe ride height curve with the target design. You can use the responses you created earlier in the tutorial as objectives.
Navigate to the Goals page. Under Objectives, click .
This will add an objective with the response rv_0. There are no constraints in this problem, so the model is now ready to run.

Figure 5. Defining objectives

Run the Optimization

In this step, you will run the optimization.

  1. Navigate to the Solutions page to specify optimization settings and run the analysis.
    Note: The model is saved before running, and if this is not desired, the model can be saved with a different mdl file name before starting the optimization. This can be done by closing the wizard, saving the model with a different name and returning to the wizard again.
  2. Accept all default optimization setting for this run.
  3. Click Save & Optimize to run the optimization.

    Figure 6. Solution Settings


In this step, you will post-process the results of the optimization.

  1. Once the optimization process is complete, review the result by clicking on the Review Results page.
    The summary window should look as shown in Figure 7:

    Figure 7.
    You can also review the plots and animation by going to the Plot and Animation pages as we demonstrated in previous tutorials. For this optimization, it is worthwhile to plot the toe – ride height curve for different iterations and see how the curve approaches the target one.
  2. Plot the toe-ride height curve for different iterations and see how it approaches the target curve.
    1. Close the Optimization Wizard.
    2. Add an HyperGraph page to the session.
    3. Open the file target_toe.csv.
    4. In the plot panel, change the Type, Request, and Component of x and y as shown in Figure 8.

      Figure 8. Settings to plot target curve
      You should see a straight line in the plotting window.
  3. Navigate to the initial design folder and load the .mrf file inside.
  4. Change the Type, Request, and Component for x and y as shown in Figure 9.

    Figure 9. Settings to plot initial design
  5. Click Apply.
    You should see a convex curve representing the 'toe-ride height' of the initial design.
  6. Go to the subfolder 'iter-18' (the last iteration).
  7. Import the .mrf file and plot the curve with the same setting.
    The 'toe-ride height’ curve of optimized design overlaps with the target curve.

    Figure 10.