Step-by-Step Tutorial: Homework of Session 3 - Level 1

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.

  1. To adapt the fall velocity you have to modify the initial conditions for velocity
  2. 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:

Homework of Session 3 - Level 2

I am not getting option ‘faces’ in drop down menu in topological mapping.

hi!
You have selected edge calculation option in the result control menu, you should do it for area calculation option, then I am sure your problem will be solved. Hope this helps you.

Cheers,
Debraj

Hey @gurav_harsh ,

as always feel free to post the link to your project if you cannot figure out the problem by yourself.

Good luck!

Jousef

1 Like

Ya, I got my mistake. Thanks anyway.

1 Like

Dear Simscale,

I think the time-step csv file for the 1m/s drop simulation do not suit. If we look at the propeller tip displacement, the contact occur at 0.08 s while the time step only decrease at 0.09 s (after the shock). This will obviously lead to a poor physical approximation.

In order to calculate when the time step shall change, I would proably take into account the gravitational acceleration, in other words: y= 1/2at^2 +v0*t +y0. In our case a=-9.81, v0 is -1 m/s and y0 is 0. Let’s find the time to drop from y=0 to y= -0.096. t=0.0712 s.
So I would suggest to change the csv file as follow:
0.07 0.02
0.08 0.0002
Reducing simulation time will also reduce the result size.

Is everything correct or am I wrong? Please don’t hesitate if you do not agree.

Hi Jojo,

Thank you very much for your thoughts.

You are absolutely right regarding the time step length: Here is still a potential for optimization. Would yu like to simulate your modifications and to share the results with us? I would appreciate to discuss the influence of the time step with you.

Cheers,

Milad

Hi Milad,

I’ve simulated with my suggested time step. Here is the same graph as above, but with a finer time step before the impact.


Obviously the time discretization has a great influence on the accuracy of the simulation. As we don’t really care about the free fall, we could have saved a few iteration by bringing the drone in one time step close to the ground, then use a finer time step to catch the shock. Obviously, the motion will be badly resolved, but the relevant criterion for the shock is the velocity just before the contact.
In any case, fine time step should be used to resolve the impact of the drone on the surface, the question I’m asking now is how fine?

https://platform.simscale.com/?publiclink=405ff6d1-b242-48f4-a396-4ed233646eac

My results for tip deflection seem reasonable but when i run the simulation playback with the stress filter the arm doesn’t seem to hit the plate, is that normal? or have I done something wrong?

Hi @1318980,
most probably you just forgot to apply the “warp by vector” filter, es described in the tutorial of level 1 from session 2.

Best,
Richard

Cheers :smiley: it was indeed that i forgot to add the filters (slap back of wrist)

Hello guys,

I´ve got an issue with simulation run - 1ms. Please find below the public link of my project in case someone of you could review my simulation and find the problem. Thank you.

https://platform.simscale.com/?publiclink=0bc35566-309f-457d-96f5-41dc0565e3c9

I am also attaching the public link for (2ms), it was also canceled:

https://platform.simscale.com/?publiclink=e9e7835f-b9c1-42a5-8b7b-6b7755d1e8bd

Appreciate it.
Greetings
Alex

Hi @Alexor,
it seems that you did not change the initial velocity in the 5-1m/s runs. They all have as initial velocity 10m/s.
You can review your run settings by expanding the settings point of each run in the simulation tree.

If you change the initial velocity to the correct values all should be fine.

Best,
Richard

Thank you Richard for your prompt answer and help !!

I´ve got the mistake in the run settings and I am correcting them.

Greetings
Alex

Hello Richard,

The corrections have been done in velocities of the initial conditions in Level1 of homework-session3 and the results were fine, except for 2ms - run simulation in Level2 which shows an error.
Anyway, let me share with you the public link and a screenshot of my project just in case you would like to have a look at this.

https://platform.simscale.com/?publiclink=5f77d7b3-584a-4f1b-abbe-7acccc28a604

I also reviewed the other run simulations (5m/s and 1m/s - Graphs) in Level2 and it seems the results are not showed as it was expected. I think so.

https://platform.simscale.com/?publiclink=ed7929e8-f0aa-4aa6-8e46-9bd49adbb5c1

Thanks a lot over again for your time.
Greetings
Alex

Hi, where i can obtain the .csv files? This tutorial has a broken link problem.

Thank you

Oscar R. Sandoval