Daybreak Control Arm Sim Tutorial

Daybreak Control Arm Sim Tutorial

  • Assembly: Using from bild: Control Arm Assembly “22-DYN-1100 (Control Arm Assembly)”

    • Note: This setup was used by Philip to learn how to simulate Daybreak’s control arm. The assembly used here was not the final manufactured version and that was put on the car for comp, but the simulation setup applies regardless and is the same for nextgen ---for all double wishbone suspensions.

    • This is the same way the EV team sims their control arms (pretty accurate)

      image-20250805-025504.png
      Control Arm Assembly in SolidWorks

 

1. Prepping the Geometry

  • Had to make our own pushrod and tierod

    • Insert parts into the assembly and save as a parasolid

  • Dimensions (somewhat arbitrary for practice/this tutorial):

    • Pushrod: 10 in long

    • Tierod: 5 in long

    • Both: 0.625 OD, 0.5 ID

  • When saving the assembly as a parasolid; there might be a popup prompted: click "No" if asked to resolve suppressed features

2. Opening and Setting Up in ANSYS

  • Open ANSYS (make sure VPN is ON)

  • Import engineering data (“Min Materials”)

  • Import parasolid file into Geometry

  • No need to do anything in SpaceClaim (for now)

  • Material: 6061 Aluminum

  • Sidenote:

    • In Engineering Data:

      • Either favorite minimal set of materials, or

      • Import full list and delete what you don’t need (see this same setup section of the trailing arm tutorial that I wrote for what I mean)
        → Your choice — both work fine

image-20250805-025825.png
Engineering Data window w/ 6061 Al
image-20250805-025840.png
Project Window w/ Engineering Data and Geometry linked to Static Structural

3. Static Structural Setup

Connecting Pushrod to Lower Control Arm (LCA)

  • Now double-click on Model to open Static Structural

  • 1st you want to connect pushrod to lower CA

  • image-20250805-030307.png
  • Insert a joint:

    • Right-click Connections → Insert Joint

    • Connection type: Body to Body

    • Type: Revolute

      • NOTE: In the video, mistakenly set as revolute (this is fixed later in the video to be a spherical joint)

      • These photos show a revolute joint selected; will be fixed later down in the tutorial…yes I know kinda lazy on my part for not fixing it rn…but dw it works lol

    • for the first scope; click the orange box, cntrl click the two faced shown of the pushrod tab and select apply

      • Scope 1: CTRL + click two faces on pushrod tab → Apply

    • then scroll down under mobile scope (in the feature tree); now orange box, select the outer face shown of the pushrod and apply

      • Scope 2 (Mobile): Select outer face of pushrod → Apply

    • now there is a revolute joint defined by these two bodies

  • image-20250805-030622.png
    Joint fully defined
    image-20250805-030639.png
    Setting the Joint as Revolute (corrected to spherical joint later)
    image-20250805-030644.png
    Applying the selected faces
    image-20250805-030651.png
    Outer face of Pushrod Selected

     

Beam Approximation for Upright (Robert’s Method)

NOTE: This is “Robert” from EVs method as its essentially just approximating the upright as a stiff beam – the sim result is very accurate and quicker to solve then simming with the upright in the assembly. A bit of explanation of how to sim with the upright is given later below

  • Right click joints folder again; Insert another joint → Select Beam

  • First Scope:

    • CTRL + click bore on LCA spherical bearing → Apply

  • image-20250805-031705.png
    Lower Control Arm Bore Selected
  • Mobile Scope:

    • Select opposite bore on the UCA → Apply

    • now should have a beam that looks something like this:

  • image-20250805-035232.png
    Beam representing our Upright
  • Radius: 0.0127 m (0.5 in)

    • a bit random – "want to make the upright approximation to be stiff basically" – (Robert)

  • Material: Steel beam approximation — should be stiff

    • its approximated as a steel beam; so should be pretty stiff; (see material in the feature tree)

      image-20250805-035734.png
      Steel Beam w/ updated radius representing our upright

Connect Upper CA Pickup (Bore) to Tierod

  • Insert another beam joint (define another beam and do the same thing)

  • Scope: UCA bore

  • image-20250805-035953.png
    Selecting UCA Bore as our Scope under “Reference” in the Feature Tree
  • Mobile Scope: Tierod face (as shown selected in the picture):

  • image-20250805-040241.png
  • Radius: 0.0127 m again (this is while keeping units in metric or m,kg, ...)

Lower Wishbone (Bore) to Tierod

  • Insert one more beam (this will be from lower wishbone to tierod):

    • Use Face Select btw and reference body view to easily select bore (top right view)

  • Scope: Lower Wishbone bore

  • image-20250805-041001.png
    Selecting LCA Bore as Reference Scope
  • Mobile Scope: Tierod face (same as before)

  • Radius: 0.0127 m

Result: Now we have a “fake upright” just for transmitting forces

SIDENOTE: Does it matter if tierod is connected to the top of the upright and not lower where it actually is?

  • Na b/c it only matters if modeling the internal forces of the upright; it's like in 3D statics; 3 reaction forces at this pt here; only those reactions points can react forces

  • for simming the upright; apply the remote loads at the contact patch (just a side note); the only thing we truly know is the load at the tire and then that force is somehow propogated thru the rest of the assembly/car thru FEA

    • This is essentially along the lines of what Robert said

  • this is all for the physical setup; now can start adding the constraints

4. Adding Joints to Inboard Pickup Points

image-20250805-041204.png
Current View of CA Assembly #1
image-20250805-041223.png
Current View of CA Assembly (side view) #2

NOTE: yeah so it was at this point in the video that Philip realized the UCA does not have bot rodend bores; nice; but Robert says it should be fine; we'll just how asymmetric the final sim result is lol (won’t be significantly inaccurate so no real worries for this tutorial)

Target Points (Total: 6)

  • 2 Upper Control Arm (UCA)

  • 2 Lower Control Arm (LCA)

  • 1 Pushrod

  • 1 Tierod

For Each Inboard Pickup:

  • Insert Joint under Connections

  • Type:

    • Connection: Body to Ground

    • Joint: Spherical

  • Behavior:

    • Reference: Deformable

    • Mobile: Deformable

  • Scope: Flat face of pickup point

Repeat this for all 6 joints

image-20250805-043040.png
Spherical Joint Example. NOTE: Image does not show correctly but make sure that BOTH reference and mobile scopes are “deformable”, NOT rigid

Note:

  • "Ground" is just an infinitely stiff reference

  • Spherical joints allow free rotation in XYZ, but fixed translation

  • Revolute joints = rotation around one axis only (not what we want here)

VERY IMPORTANT: go back to the very 1st revolute joint (the pushrod one) and change it to spherical --- it was at this point in the video where the mistake was realized so make sure to fix it here too lol)

image-20250805-041600.png
Correcting Pushrod Joint from Revolute to Spherical

 

  • SIDENOTE/TIPS: for more Ansys learning; Robert mentions can use Ansys learning hub license if you have it or chatgpt it pretty good lol

    • for knowing what each joint is: see this menu on the upper left; if the box is colored in then its free; no color means its fixed; e.g. for this spherical joint, its free in rotation around x y and z but fixed is translation for x y and z

    • image-20250805-041714.png

       

5. Applying Loads

  • now can insert under static structural a remote load

     

Geometry Selection:

  • for geometry: selected UCA, LCA, and tierod outboard pickup pts (the spherical bearing bores and the tierod outer face)

  • need to include basically anywhere where the unsprung assembly touches

  • Outboard pickup points:

    • UCA spherical bearing bore

    • LCA spherical bearing bore

    • Tierod outer face

  • CTRL + click to select all

  • image-20250805-043337.png
    Selecting all outboard faces for remote load
    image-20250805-043354.png
    Applying selected faces (red point is where force is currently applied; will need to update coordinate points-> explained own below)

Coordinate Setup:

  • In CAD, find the contact patch coordinate point

  • Measure from contact patch to global origin
    For Daybreak, origin = center of chassis

  • ANSYS uses the same origin as the parasolid file

  • btw ansys pulls the same global origin from the CAD/parasolid file so that's why you just pull the coords from CAD

Remote Load Definition:

  • image-20250805-043615.png
    Example of remote forces AND Coordinate Points
  • the remote load forces here are arbitrary: I will choose to go with 1.5g steer, 1.5g brake and 3g bump for this tutorial (similar to next gen except for next gen we do 4g bump for extra safety)

  • Change “Define by:” → Components

  • Force direction:

    • Y = Bump

    • Z = Brake

    • X = Steer

  • Example Load Case:

    • Daybreak weight = 911 lbs ≈ 413.2 kg

    • Forces:

      • 1.5g Steer

      • 1.5g Brake

      • 3g Bump

      • Use F=ma

image-20250805-043740.png
Calculated Forces at the Contact Patch
  • See image below for exact Coord Points for DayBreak Contact Patch!

  • image-20250805-043852.png
    Coord Points of Remote Load applied at the contact patch
image-20250805-043921.png
Force Components in the Feature Tree (x = steer, y=bump, z=brake)

NOTE: Make sure the coord system you use in Ansys is the same as the one in CAD (e.g. both have z axis as being longitudinal, or our brake/acceleration force)

Again: (x = steer, y=bump, z=brake) here, but double check always (make sure location of remote force which should be at the contact patch makes sense – see above images

6. Mesh and Contact

  • Mesh Settings:

    • Element size → Enough for 3 elements thick

    • Example: 0.001 m for quick sims ((doesn't have to be that fine if you want a quick practice sim)

  • image-20250805-044325.png
    .001m mesh example
  • Under Connections > Contacts:

    • ANSYS should auto-detect contact between pushrod tab and LCA

    • In other words, under connections > contacts; Ansys already defined the contact between the pushrod tab and the LCA; this should be accurate enough

  • Don’t forget to:

    • Assign 6061 Aluminum to all parts

image-20250805-044424.png
Assigning Aluminum 6061 for all parts under the “Geometry” section

NOTE: For nextgen, or Solar McQueen the material for the control arms is currently designed to be 4130 steel (so make sure to assign it properly in that case)

Joshua from the future here - bro in hindsight this emoji is so corny…what is wrong with me …. but eh whatever lmao

7. Postprocessing and Simulation Results

Add Probes:

  • Right-click Solution:

    • Insert → Stress → Equivalent (von Mises)

    • Insert → Stress Tool → Max Equivalent Stress

  • Then click Solve

Notes:

  • You’ll likely should expect high stress inboard due to no upright deflection

  • this is kinda of like an intuitive check (should always do this) to make sure “do these sim results make sense?” and if not, check your setup and see what you can change to make it more accurate (rule of thumb for simming in general)

  • According to the results:

    • Technically failing at the groove under this load case

    • We didn’t go with this specific CA CAD design in the end (went with Cesar’s rather than Philip’s) so no worries lol.

8. Force Probes (Validation & Analysis)

  • now Robert goes into joint probes (do this especially for CF pushrod sim on next gen)

    • with joint probes, you can see the reaction force of each joint and can then compare to the values given by the hand calc/truss solverhence how you can cross check if your sim setup makes sense for nextgen/Solar McQueen

  • Insert 6 Joint Probes:

    • One for each inboard pickup point

    • Useful for comparing against hand calcs or truss solver

    • Again/in other words: can then use this to validate hand calcs, truss solver, and use for buckling of the pushrod and tierod)

  • Insert 3 Beam Probes:

    • For the 3 circular beam joints (2 spherical bearings of UCA and LCA and 1 of the tierod pickup point)

9. Beam Stiffness Accuracy (OPTIONAL)

  • now in the video; Robert shows how to do accurate represent the beam's stiffness which ends up being the equivalent of a stee beam of this radius (very chunky)

  • image-20250805-045449.png

     

  • Represent upright stiffness via equivalent beam:

    • Use k=EA/L

    • Match beam vertical stiffness to upright

  • Notes:

    • Original sim had very conservative beam stiffness

    • Proper match gives much more accurate results

    • This method = quickest way to get realistic behavior

    • The general idea is you get your upright from CAD, get the Parasolid geometry into Ansys, find beam stiffness w/ the equation EA/L and solve for stiffness (k)

  • image-20250805-045520.png
    Solving for stiffness of upright in Desmos Calculator + Upright in Ansys; x-coord of intersection is the radius of the chunky beam (to get an accurate representative stiffness of our actual upright)
    • MORE SIDENOTES: Again, we were actually very conservative with our beam stiffness in our original sim

    • basically just want the vertical stiffness of your upright, and make a beam of the same stiffness and the results should be the same

    • this is prob the quickest way to sim the control arms pretty accurately

10. Final Fixes and Notes

  • Make sure ALL joints have:

    • Reference Behavior = Deformable

    • Mobile Behavior = Deformable

    • Go back and fix any still marked rigid

  • TIP: Hotkey:

    • Press H to zoom out to the full body in ANSYS

  • basically Philip realizes in this point of the video that for all the mobile scopes they should be deformable

    • if you leave them rigid, you'll see zero stress there

    • DOUBLE CHECK that all reference AND mobile scopes deformable for BOTH circular and spherical joints (go back to all the joints and fix this lol)

 

Final Sim Results & Key Takeaways - THE END

  • Ran the sim again
    Still fails lol (see pictures) BUT:

  • This is the general process for simming double wishbones

  • You can use this exact same sim set up for simming the control arms on Solar McQueen (next gen)

Summary results of this example Sim:

  • Min FOS: 0.35

  • Max Stress: 735 MPa

  • Critical Components: LCA, pushrod tab bolts, and the LCA groove for the spherical bearing (failure points) → these all make intuitive sense as being your failure points (another way to check if your sim setup/results make sense)

    image-20250805-050736.png
    LCA/entire CA assembly min FOS location
  • image-20250805-050816.png
    UCA Stress Distribution
  • image-20250805-050852.png
    UCA FOS

LAST THING: Save the Project

  • Don’t forget to click Save in ANSYS Workbench (this saves everything including your sim setup and final sim result)

  • File name of the tutorial file (will probably put this in SharePoint soon or pin on slack or somethin - or remind me/ask me for the file if I forget/you want it lol):
    Daybreak CA Sim Practice - v1

 

Thank you - from Joshua Palacios; here’s a cookie if you actually read all this