Unconstraint rotational degrees of freedom

Goal of this tutorial

  • Application of the Advanced User Settings to realize unconstraint rotational degrees of freedom

    • Modification of remote loads to RBE2 ties

Training:

Relevant data for this tutorial:

Step 1: Start MSC Apex Generative Design

The program starts and you can directly create your optimisation model

image-20240423-140019.png

Step 2: Model generation

You can either create the geometry directly in MSC Apex Generative Design or import already existing files. You can import for example .xb, .xt, .step, and .sldprt files into the program.

 

image-20240426-081305.png
  • Choose the material AlSi10Mg in the Materials editor and assign it to the Design Space. In this case the material behaviour is Isotropic.

  • The Tension Strength is the maximum allowable stress for the material and is set to 460 MPa.

Step 3: Definition of boundary conditions

Creation of the load

On the middle cylinder surface a direct load is created.

Name

Force/Moment/Pressure/Gravity

Direction

Value in N/Nmm

Name

Force/Moment/Pressure/Gravity

Direction

Value in N/Nmm

Force 1

Force on faces

z

-5000

Creation of dummy loads to be modified to displacement constraints

Currently, the creation of displacement constraints with RBE2 ties and rotational degrees of freedom isn’t supported from the graphical user interface. To realize it, dummy loads are created and modified by the Advanced User Settings.

On the outer cylindric surfaces two dummy loads are created. These dummy loads need to have a load value in the direction which will be constraint afterwards.

Name

Force/Moment/Pressure/Gravity

Direction

Value in N/Nmm

Name

Force/Moment/Pressure/Gravity

Direction

Value in N/Nmm

Force 2

Force on faces

x

1

Force 3

Force on faces

x

1

In Step 6 the dummy loads will be modified to displacement constraints with a RBE2 tie and unconstraint rotational degrees of freedom.

Step 4: Interface Creation

Interfaces have to be created for every functional surface - so every surface where a boundary condition is applied to. With this Tool an offset to the inside with the input “Non-Design Space Thickness” and an offset to the outside with the input “Machining Allowance” is created. The Offset Distance is expanding the Interface to the set value to create material on front faces.

All surfaces on which a boundary condition is applied can be selected directly as an interface with the “Select Faces from Loads and Boundary Conditions” button. The Boundary Condition surfaces will be highlighted and can be selected/deselected. With “Apply” the Non-Design Space Thickness, Machining Allowance and if available Offset Distance values will be applied to the selected surfaces.

  • In this case a Non-Design Space Thickness of 3 mm, a Machining Allowance of 1 mm and an Offset Distance of 3 mm is entered. Via “Automatically create interfaces from Loads and Boundary conditions” the interfaces are created automatically for all 3 cylinders.

  • Note: the Interface Offset (usually displayed in red) is not visualized due to a limitation. The correct value will be considered in the optimisation.

Step 5: 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 GD 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.

  • Event 1: Force 1, Force 2, Force 3

Step 6: Modifying the dummy loads to displacement constraints (with RBE2 ties)

With the Advanced User Settings the dummy loads (Load 2, Load 3) are modified to displacement constraints.

Dummy load Force 2 is changed to a RBE2 discrete tie. Furthermore, the translational degrees of freedom in all 3 directions and the rotational degrees of freedom around the y- and z-axis are constraint. The rotation around the x-axis is free.

The same is done for the second dummy load. For this, the translational displacement in x-direction is free as well.

boundaryCondition.ModelLoadEvent_Force_2_Force.tyingMode=RBE2
boundaryCondition.ModelLoadEvent_Force_2_Force.displacement.x=0
boundaryCondition.ModelLoadEvent_Force_2_Force.displacement.y=0
boundaryCondition.ModelLoadEvent_Force_2_Force.displacement.z=0
boundaryCondition.ModelLoadEvent_Force_2_Force.displacement.ry=0
boundaryCondition.ModelLoadEvent_Force_2_Force.displacement.rz=0

boundaryCondition.ModelLoadEvent_Force_3_Force.tyingMode=RBE2
boundaryCondition.ModelLoadEvent_Force_3_Force.displacement.x=0
boundaryCondition.ModelLoadEvent_Force_3_Force.displacement.z=0
boundaryCondition.ModelLoadEvent_Force_3_Force.displacement.ry=0
boundaryCondition.ModelLoadEvent_Force_3_Force.displacement.rz=0

Step 7: Definition of optimisation parameters and Generative Design Settings

The optimisation parameters are selected in the Studies Area as well.

Step 8: Starting the optimisation in the command line and visualize the results

Because the graphical user interface does not support the displacement constraints with rotational degrees of freedom yet, the optimisation has to be executed in the command line.

Therefore, the optimisation scenario is exported by a right click on the scenario to a freely selectable folder.

Inside the exported folder, all geometry information and the input configuration file for the optimisation are stored. A PowerShell or command line has to be opened here.

Inside the installation folder of MSC Apex the “runGD_Engine-bat” has to be executed with the additional command (-c) for the configuration file.

& 'C:\Program Files\MSC.Software\MSC Apex\...\runGD_Engine.bat' -c .\RotationalDoF.json

The optimisation starts and all optimisation results will be saved in a subfolder.

Step 8: Importing the results back & visualisation

The optimisation results can be imported back into the graphical user interface. Therefore, the Import Generative Design Results option is used. The post processing can be accessed over the new imported scenario.

  • Inside the Post-Processing the von Mises stress and the displacements are visible for all iterations and for every Event

  • In the picture below the displacement in z-direction is displayed

With the Mission Switch the optimised result can be analysed with MSC Apex / Nastran. The following gif shows the rotation in the created displacement constraints.

The complete MSC Apex Generative Design project with all results can be downloaded here:

You might also be interested in these tutorials:

 

 

Copyright (C) 2024, Hexagon AB and/or its subsidiaries. All rights reserved.