Goal of this tutorial
Get familiar with symmetry function
This function is unsupported in the MSC Apex Generative Design 2020 Release
Training:
Relevant data for this tutorial:
Step 1: Start MSC Apex Generative Design 2020
The program starts and you can directly create your optimisation model
Step 2: Model generation
You can either create the geometry directly in MSC Apex Generative Design or import already existing files. You can import .x_b, .x_t, .step, and .sldprt files into the program.
Import/create the Design space including the Nondesign spaces in MSC Apex Generative Design 2020. For this Drone a CAD-file was imported.
The CAD-file includes several solids. Thus, only one solid is supported for an optimisation, with a Boolean operation the solids can be merged to one. Activate Merge Solids as Cells to create partitions which can be used for Nondesign spaces.
Create the material in the Materials editor and assign it to the Design space
The specific values needed are the Young's Modulus (2350 MPa), Poisson ratio (0.4) and density (1.24e-6 kg/mm3)
After assigning the material to the solid, the material will be part of the model tree on the left side
Nondesign spaces have to be selected using the optimisation Tools. In this case with the direct method all already existing cells (partitions) can be selected (Four engine brackets and the two brackets for battery and control unit)
The Nondesign spaces will change the colour and are listed up in the model tree
Step 3: Definition of boundary conditions
Go to the Loads & Boundary Condition Tool to enter the loads and fixations. Displacements, Forces, Moments, Gravity and Pressure Loads can be applied using different selection options.
In this case a symmetrical optimisation using the Advanced User Settings is carried out. Therefore, the loads are only applied on a quarter (half/eighth…)
The loads will be automatically mirrored through the symmetry planes
Attention: The loads are only allowed to be applied in the positive coordinate direction. More information about how to use the symmetry function here.
Because two symmetry planes will be used only one force is defined on the engine bracket which is located in the positive coordinate quarter:
Name | Force/Moment/Pressure/Gravity | Direction | Value in N |
---|---|---|---|
Force - Moment | Force on cell | z | -300 |
Two constraints are created and applied on the two cells (partitions) in the middle.
Name | Direction |
Constraint1 | x, y, z (=0) |
Constraint2 | x, y, z (=0) |
The displacement constraints are allowed to be applied inside the other coordinate half/quarter/octant unlike loads
All cells with a load or constraint will automatically be a Nondesign space if they weren’t selected before as a Nondesign space!
Step 4: Definition of load cases
The next steps are defined in the Studies area.
All boundary conditions must be assigned to the specific load cases, which are defined as Events. The number of Events can be changed by adding/deleting Events to the Meshless Generative Design Scenario. The assignment of the boundary conditions to the Events can be made in the Loads & Constrains Window. The already created loads and constraints that concern the Design space are listed in this window and can be activated for each Event individually.
Active in Event1: Force-Moment 1, Constraint 1, Constraint 2
Step 5: Definition of optimisation parameters
The optimisation parameters are selected in the Studies Area as well.
Select the Strut Density: Medium
Select the Shape Quality: Balanced
Enter the Stress goal : 20 MPa
Step 6: Adding Advanced User Settings (Symmetry)
Advanced User Settings can be added to each scenario by activating the text field with a right click on the specific scenario.
To use the symmetry constraints correctly some conditions have to be satisfied:
The geometry has to be symmetrical
The boundary conditions have to be symmetrical
The model has to be placed in the global coordinate origin
In this case the symmetry constraints are added. Therefore, the Advanced User Commands symmetry.x (symmetry plane Y-Z) and symmetry.y (symmetry plane X-Z) are entered.
To ensure the model is placed suitable to the global coordinate origin the Transform Tool can be used. If the Model is shifted to the global planes, it can be moved to the global coordinate origin.
Step 7: Starting the optimisation and visualizing the results
Before starting the optimisation, a look inside the Generative Design Solver Settings can be useful. (Options-Application Settings-Generative Design Solver)
Here can be chosen between local or remote and GPU or CPU solving. Furthermore, the Complexity value can be changed.
If all data is correct, the optimisation can be started and tracked in the Post Processing. The Analysis Readiness function checks if all information is provided and the optimisation can start.
All result iterations are displayed as soon as they are available. Furthermore, you are able to stop the optimisation in this selection area. However, a restart is not directly possible.
The optimisation is finished after 64 iterations (Shape Quality: Balanced).
Generative Design
You can always change the Strut Density , Stress goal and Complexity to influence the results and try out different options. Therefore you can create a new scenario.
The Complexity can be increased for a higher resolution (increased calculation time!)
The Strut Density influences the structures which are formed during optimisation
Step 8: Post Processing: Visualization of Stresses, Displacements & Mass
The legend can be influenced in different ways. You can add and reduce the stress/displacement steps, enlarge different steps and set new minimum and maximum values.
Von Mises stress
Displacement
The mass of each iteration can be visualized with a diagram
The whole MSC Apex Generative Design project with all results is uploaded here: