NOTE: This tutorial was updated on 08/2016 to match the updated version of the platform
If you would like to watch the third session of the Drone Workshop again or in the case you missed it, you can access the full recording below.
Background
Landing a drone can be very challenging. Here it is very important to manoeuvre the drone with the correct rate of sink which is not trivial. When designing a drone you should therefore also ensure that your drone has a sufficient resistance to impact damage.
Exercise
In this level of the homework we will setup a simulation of the drop test. We will use a simplified model by fusing all parts of the drone (except the battery) to one signle solid.
We will investigate four different fall velocities (1m/s, 2m/s, 5m/s, 10m/s)
Step-by-Step Instructions
Meshing
First of all you have to import the geometries into your SimScale workspace. For this, you only have to click on this link and a project with everything you need will be added to your workspace. Please note that this can take several minutes.
You will be notified when the project has been imported and it will be added to your project list. The project contains the geometry required for this exercise.
Click on the geometry Drone_Geom in the project tree. Then click on the New mesh button.
This will open a new middle menu where you can specify the mesh operation you want to use to create the mesh.
Select Tetrahedral with local refinements from the list and define following parameters:
- Name: Mesh
- Maximum mesh edge length: 0.001
- Minimal mesh edge length: 0.0003
- NETGEN3D fineness parameter: 2 - Coarse
- Number of processors 16
Now we have defined a range for the base mesh size which is fine for regions where we are not expecting high stress. Here you should keep in mind that, in general, the mesh size is related to the local accuracy of the simulation. It is therefore necessary to refine the mesh in those areas where high stresses are expected.
We will now apply local refinements on faces where we expect high stresses and high deformations and an additional local refinement to the floor to decreasre the mesh resolution.
Click on the Mesh Refinements item which was added to the project tree. This will open again a menu in the middle column where all refinements are listed and where you can add new refinements. Click on the New button which will add a new sub-item to the project tree.
Now you can specify the mesh refinement.
- Name: High Stress Zone Refinement
- Maximum mesh edge length: 0.0003
- Minimal mesh edge length: 0.0001
- NETGEN3D fineness parameter: 3 - Moderate
Next, select the faces you want to apply this refinement on by using the list below. Since the face selection would take a lot of time for this mesh we have prepared a ready-to-use face set. To use this sets, please change the Filter for entitiy type to face sets and select refinement_zone
Create an additional mesh refinement by clicking on the New button which you will find again in the middle column when you click on the Mesh Refinements item in the project tree.
Finally, we will create a refinement which will coarsen the mesh of the floor. Specifiy the refinement as follows:
- Name: Floor Coarsened
- Maximum mesh edge length: 1000
- Minimal mesh edge length: 0.01
- NETGEN3D fineness parameter: 1 - Very coarse
Next, apply this refinement to the body of the floor (solid_0)
Now our mesh is ready for computation. Click on the meshing operation in the project tree and click the Start button.
Simulation Setup
After the mesh is completed we will set up the simulation. Click on the Simulation Designer button in the main ribbon bar. Click on the New simulation button to create a simulation and rename it to Drop_Test.
This will open an additional column in the middle. Here you can select which kind of simulation you want to run.
In our case we will run a Dynamic Analysis - advanced simulation.
Next you have to specify which mesh you want to use for your simulation. Click on the Domain item in the project tree and select Drone_Geom Mesh from the menu which disappears in the middle column. Don’t forget to save your selection.
Since we are simulating an assembly of two parts it is necessary to define Contacts which are describing the kinematic behavior of the parts.
Click on the Contacts item in the project tree which will open a new middle column menu where you can add new contacts by clicking on the related button.
Now we have to create a contact which is connecting the battery to the frame. For graphical selection it may be necessary to hide some of the other parts.
Battery to Frame
This contact is necessary to fix the battery on the upper base plate. We will therefore define a contact between the lower face of the battery (master) and the contact area between both parts on the base plate (slave).
- Name: Battery to Frame
- Type: Bounded Contact
- Master entitiy: faceGroupOnGeoFaces_12
- Slave entity: faceGroupOnGeoFaces_210
Next we have to define the physical Model we want to use for this simulation. Click therefore on the Model item in the project tree which will open a middle column windows. Here you can define the Geometric linearity as well as gravitation.
- Geometric linearity: nonlinear
- g: 9.81
- ex: 0
- ey: -1
- ez: 0
Next we will define the Physical Contacts. In contrast to Contacts, they are also covering the physical interaction between parts. We will use them to specify the contact between the dropping drone and the floor.
Click on the Physical Contacts item in the project tree. This will open a new middle column menu where we first will adapt two general settings:
- Solution method: Augmented Lagrange
- Nonlinearity resolution: Newton
First save the selection. Now we will create a new contact by clicking the New button in the middle column menu.
This will add a new contact to the project tree which you can edit by selecting the item from the tree.
- Name: Drone to floor
- Type: Frictionless augmented lagrange
- Master entitiy: faceGroupOnGeoFaces_5
- Slave entity: faceGroupOnGeoFaces_17, faceGroupOnGeoFaces_171
Now we define and assign material properties to the different parts. Click on the Material item in the project tree. This will open a middle column menu where you can edit and create materials and assign them to volumes. Click on the New button
Now you can define your new material based on your own material proporties or access our Material Library which includes ready-to-use material models for several materials.
We will start with the manual definition of materials:
ABS Thermoplatics
- Name: ABS Thermoplastic
- Young’s Modul: 1800000000
- Poisson’s ratio: 0.35
- Densiy: 1040
And assign in to the drone body (volumeOnGeoVolumes_2).
Add an additional material to your project tree.
Battery
- Name: Battery
- Young’s Modul: 70000000000
- Poisson’s ratio: 0.34
- Densiy: 2500
Assign the material to the battery of the drone (volumeOnGeoVolumes_0).
Add an additional material to your project tree.
Steel
Next we will assign the steel material model the floor. Add an additional material to your project tree.
Now we will access our material library instead of creating the material model manually. Click on the Import from material library which will open a widget.
Please select steel from the list on the left side and save your selection by clicking the related button.
Now assign the material to the floor (volumeOnGeoVolumes_0).
Since all kinematic and mechanical relationships were defined we will now take care for the interaction of our model with its environment.
Click therefore on velocity which is a sub-item of the Initial conditions in the project tree. This will open a new middle column window where you can define the inital values of velocity.
Since we only want to define the fall veloicity of the drone (shortly before touching the floor) it is necessary to change the type for this initial condition to Subdomain-based
After saving this modification we are able to create a subdomain by clicking the related New button
This will open a new middle column window where you have to define the following settings:
- Name: Drop Velocity
- ux: 0
-uy: -10
-uz: 0
Then map this condition to all volumes except the not moving floor (volumesOnGoVolumes_1, volumesOnGoVolumes_2)
Next we can start to define the boundary conditions. Click on the Boundary Conditions item in the project tree.
There are two kinds of boundary conditions for structural simulations.
- Constraint conditions are used to limit the degrees of freedom of the model.
- Load conditions are applying an external load to the model
Due the fact that there is now external load or force on the model we only need to define three constraint boundary conditions
To create a new constraint boundary condition please click the related button in the middle column windows
Floor fixed support
The role of this boundary conditions is to fix the floor.
- Name: Floor fixed support
- Type: Fixed support
Finally, assign this boundary condition to the lower face of the floor (FaceGrouponGeoFaces_4).
<img src=“/forum/uploads/default/original/2X/7/72aafd309992f14c139af6e98d68d768e598cd2c.png” width=“690” height=“355”>
Symmetry xy-plane
This boundary condition is required because we are using a quarter model of the drone.
Create a new constraint boundary condition by clicking the related button.
- Name: Symmetry xy-plane
- Type: Fixed Value
- x displacement: unconstrained
- y displacement: unconstrained
- z displacement: prescribed with a value of 0
Please assign all surfaces of the drone base plates which are bounding with the imaginery xy-symmetry plane and therefore behaving like a symmetry plane (faceGroupOnGeoFaces_0, faceGroupOnGeoFaces_8, faceGroupOnGeoFaces_56, faceGroupOnGeoFaces_62, faceGroupOnGeoFaces_97, faceGroupOnGeoFaces_209).
Symmetry yz-plane
This boundary condition is required because we are using a quarter model of the drone.
Create a new constrait boundary condition by clicking the related button.
- Name: Symmetry yz-plane
- Type: Fixed Value
- x displacement: prescribed with a value of 0
- y displacement: unconstrained
- z displacement: unconstrained
Please assign all surfaces of the drone base plates which are bounding with the imaginery yz-symmetry plane and therefore behaving like a symmetry plane (faceGroupOnGeoFaces_1, faceGroupOnGeoFaces_9, faceGroupOnGeoFaces_57, faceGroupOnGeoFaces_63, faceGroupOnGeoFaces_98, faceGroupOnGeoFaces_188, faceGroupOnGeoFaces_201).
Next we will modify the numerical settings of our simulation to increase stability and speed. Please click on the Numerics item in the project tree. This will open a new middle column menu where you can adapt the numerical schemes and tolerances:
-
Time integration type: implicit
-
Time integration scheme: Hilb-Hughes-Taylor (HHT)
-
Nonline resolution type: Newton
-
Convergence criteria: relative
-
Tolerance: 0.00001
Click on the Simulation Control item in the project tree to specify how fast and accurate you want the simulation to be computed. Since we are running a dynamic simulation we also have to care about the time step length.
The time step length can be comprehended similar to the mesh size. It should be as a large as possible and as small an necessary. Due the fact that there will be only negligibly small stresses before the impact, we will use a large time step during the ‘free fall’ and a smaller time step before and during the impact.
- Timestep definition: Auto
- Simulation interval: 0.016
Note that you need for every fall velocity a different Simulation intervall
- 1m/s = 0.1
- 2m/s = 0.0548
- 5m/s = 0.027
Now click on the table icon under the field for Initial time step length
This will expand the middle column menu. We will now upload a CSV file which describes the time steps lengths for the different stages of the simulation
Note that you need for every fall velocity a different CSV file. We are providing all CSV files for the homework below.
CSV file for 1m/s
CSV file for 2m/s
CSV file for 5m/s
CSV file for 10m/s
Click on the Upload file button and select the CSV file ‘Time_Steps_10ms.csv’. Make sure that you use Comma as the seperator.
Finally change the number of computing cores to 16 and change the *Maximum runtime to 10000
Click on the Result Control item in the project tree which will open a new middle column menu.
Now we will add some additional Solution Fields defining which physical quantities should be calculated during the simulations. Click on the Solution Fields sub-item in the project tree and then on the New button against the Solution fields item.
Choose the result field you want to add from the drop-down menu in the middle column:
- Name: vonMises stress
- Type: stress
- Stress type: vonMises stress
Next we will also add other Result Control items to simplify the result interpretation.
To add them, click again on the Result Control item in the project tree.
Then click on the New button against the Area calculation item.
Now define the Result Control item as follows:
- Name: Displacement propeller tip 1
- Type: minimum and maximum
- Field selection: displacement
- Component selection: all components
Map it to the upper surface of the tip of the propeller (faceGroupOnGeoFaces_255).
Please repeat this workflow to create an additional result control item for the opposite tip of the propeller:
To start the simulation, click on the Simulation Runs item in the tree and click on the New button at the top of the middle column menu. This will create a snapshot of your simulation settings as a new sub-item.
You can now start the simulation run by selecting it from the project tree and then click on the Start button.
Important note
It is not necessary to setup the simulation from scratch in order to simulate the three other fall velocities. You can just modify your simulation and create an new run. Since this is a dynamic simulation you should make sure to update following settings.
- To adapt the fall velocity you have to modify the initial conditions for velocity
- Since a different fall velocity will impact the duration of the drop test you also have to update some settings in simulation control:
- You have to change the Simulation interval to the according value as stated in the section above.
- You also have to use a different CSV file for time step length which you can download in the same section above.
Once your simulation is finished you can perform the solution field post-processing. Please use the instructions of Level 2.
Congratulations, you have completed the Homework of Session 3 - Level 1 and can now move on to the next level: