SimScale CAE Forum

Step-by-Step Tutorial: Homework of Session 4 - Level 2


NOTE: This tutorial was updated on 10/2016 to match the updated version of the platform

If you would like to watch the fourth session of the Drone Workshop again or in the case you missed it, you can access the full recording below.


We will now investigate how the drone reacts to external periodic in the near of relevant eigenfrequencies.

Taking a look at the result of our Level 1 homework will help to identify this eigenfrequencies. Since our engine is operating between 14000 and 20000 rpm which is equal to a frequency of 233 / 330 Hz we will only investigate the physical behavior of the drone for eigenmodes 5,6 and 7.

In Addition to that we will also investigate the effect of damping. All in all you will create six different runs for this level.

<img src="/forum/uploads/default/original/1X/78989c06a72edb2acf4f95e0490030aa5f74b007.png" width=“690” height=“207”

Step-by-Step Instructions


Since we will use the same geometry for the harmonic simulation it is not necessary to create a new mesh. We will just use the mesh from the previous Level 1 exercise.

Now we will copy and rename the project to have an better overview. Therefore, copy and rename the project to ‘Drone_Workshop_Session_4_Level_2’ by first clicking on Make a copy, then Edit project properties under Actions and changing the project name.

Simulation Setup

  • Click on the Simulation Designer button in the main ribbon bar and then on New button.

This will open an additional column in the middle. Here you can select the type of simulation you want to run.
In our case we will run a Harmonic analysis 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 QuarterModel_separatedScrews mesh from the menu which disappears in the middle column. Don’t forget to Save your selection.

SimScale keeps all Topological Entity Sets which were assigned to a mesh. We can therefore use the as they are.


Since we are simulating an assembly of two parts it is necessary to define Contacts which are describing the kinematic behaviour 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 New button.

Similar to Level 1 of this homework we will define all kinematic dependencies in one contact.


In this contact we will fix the assembly made of the battery, the frame, the screws, the engine and the propeller. Instead of selecting the faces for master and slave entity from the list or graphically we will use the face sets we created some minutes ago.

  • 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 New button.

  • Specify the following parameters:
  • Name: Contact
  • Type: Bonded Contact
  • Master entity: Contact_Zone_1
  • Slave entity: Contact_Zone_2
  • Finally Save the settings.


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 properties 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 Thermoplastics

  • Specify the following parameters:
  • Name: ABS Thermoplastic
  • Young’s Modulus [N/m2]: 1800000000
  • Poisson’s ratio: 0.35
  • Damping: Rayleigh Damping
  • αK [1/s]: 0.000037
  • βM [s]: 1.5
  • Density [kg/m3]: 1040
  • Assign it to the drone body and the propeller (volumeOnGeoVolumes_4, volumeOnGeoVolumes_5) and finally Save the settings.

Add an additional material to your project tree.


  • Specify the following parameters:
  • Name: Battery
  • Young’s Modulus [N/m2]: 70000000000
  • Poisson’s ratio: 0.34
  • Damping: none
  • Density [kg/m3]: 2500
  • Assign the material to the battery of the drone (volumeOnGeoVolumes_0)and finally Save the settings.


Next we will assign the steel material model to the screws and the engine. 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.

Change the damping properties:

  • Damping: Rayleigh Damping
  • αK [1/s]: 0.00015
  • βM [s]: 5.625
  • Now assign the material to the screws and the engine (volumeOnGeoVolumes_1, volumeOnGeoVolumes_2, volumeOnGeoVolumes_3).

Boundary Conditions

Next we can start to define the boundary conditions.

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

We first add the constraint boundary conditions:

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 first clicking on the Constraint and then on New button.

  • Specify the following parameters:
    • Name: Symmetry XY-plane
    • Type: Fixed Value
  • x displacement: unconstrained
  • y displacement: unconstrained
  • z displacement: prescribed with a value of 0
  • Finally, assign the boundary condition to the face set XY_Symmetry_Plane and then Save.

Symmetry YZ-plane

This boundary condition is required because we are using a quarter model of the drone.

  • Create a new constraint boundary condition same as above.
  • Specify the following parameters:
  • Name: Symmetry YZ-plane
  • Type: Fixed Value
  • x displacement: prescribed with a value of 0
  • y displacement: unconstrained
  • z displacement: unconstrained
  • Finally, assign the boundary condition to the face set YZ_Symmetry_Plane and then Save.

Now we will create a load boundary condition to apply the lift force.

  • Create a new load boundary condition by clicking the related button.

  • Specify the following parameters:
  • Name: Lift (optional)
  • Type: Force
  • fx [N] : 0
  • fy [N]: 2
  • fz [N]: 0
  • Scaling: 1
  • Finally, assign the boundary condition to all faces of the blade of the propeller and Save.
  • List of faces to select:

faceGroupOnGeoFaces_245, faceGroupOnGeoFaces_246, faceGroupOnGeoFaces_247, faceGroupOnGeoFaces_248, faceGroupOnGeoFaces_249, faceGroupOnGeoFaces_250, faceGroupOnGeoFaces_251, faceGroupOnGeoFaces_252, faceGroupOnGeoFaces_253, faceGroupOnGeoFaces_254, faceGroupOnGeoFaces_255, faceGroupOnGeoFaces_256, faceGroupOnGeoFaces_257, faceGroupOnGeoFaces_260, faceGroupOnGeoFaces_261, faceGroupOnGeoFaces_262, faceGroupOnGeoFaces_263, faceGroupOnGeoFaces_264, faceGroupOnGeoFaces_265, faceGroupOnGeoFaces_266, faceGroupOnGeoFaces_267, faceGroupOnGeoFaces_268, faceGroupOnGeoFaces_269, faceGroupOnGeoFaces_270, faceGroupOnGeoFaces_271, faceGroupOnGeoFaces_272

Simulation Control and Numerics

Numerics, which is the next item in the project tree, can be skipped since the default settings are fine.

  • Click on the Simulation Control item in the project tree to specify the last details of your simulation.
  • Excitation frequencies: frequency list
  • Start frequency [Hz]: 230
  • End frequency [Hz]: 240
  • Frequency stepping [Hz]: 0.1
  • Number of computing cores: 8
  • Maximum runtime [s]: 10000

Result Control

Finally we will add some Point data items to simply the result interpretation.

  • Click on the Result Control item in the project tree which will open a new middle column menu.
  • Click on the New button in the middle column menu will create a new Point data item.

Arm right lower point displacement

  • Specify the following parameters:
  • Name: Arm right lower point displacement (optional)
  • Type: harmonic response
  • Frequency response
  • Field selection: displacement
  • Component selection: y displacement
  • Complex numbers: magnitude and phase

Now we have to create a Geometry Primitive since this analysis type does not support to select points or nodes directly.

  • Click on New and then on Point which will open a new middle column windows where you can define the primitive, as shown in the figure above.

  • Specify the following parameters:

  • Name: Arm_lower_point (optional)
  • Center (x): 0.0875726139
  • Center (y): 0.004
  • Center(z): 0.0930726139
  • Save the point by clicking on Save button.

Now switch back to the Point data item you created and map it to the primitive.

Arm right lower point acceleration

  • Specify the following parameters:
  • Name: Arm right lower point displacement (optional)
  • Type: harmonic response
  • Frequency response
  • Field selection: acceleration
  • Component selection: y displacement
  • Complex numbers: magnitude and phase
  • Map this item again on the primitive and Save the settings.

Simulation Runs

  • 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.

Once your simulation is finished you can do the post processing using the workflows you already know from the last homework assignments.

Important note

It is not necessary to set up the simulation from scratch in order to simulate the five other setups. You can just modify your simulation and create a new run. Make sure to update the following settings.

  • To simulate the three runs without damping you have to change the related entry in the material models for ABS Thermoplastic and Steel (Damping: none)
  • Use following Simulation Control settings for the other two eigenfrequencies:
  • (Start frequency: 255, End frequency: 265, Frequency stepping: 0.1)
  • (Start frequency: 270, End frequency: 280, Frequency stepping: 0.1)

Congratulations, you have completed the Homework of Session 4 - Level 2 and can now move on to Session 5:

Homework of Session 5 - Level 1

Session 4: Vibrations



Hi Milad,

I have a question about the project I´m working in. We want to study the vibrations of a vertical wind turbine during its rotation. We have to find the best approach to do it with simscale. A possible approach could be:

  1. Fluid dynamics incompressible simulation and calculate with ParaView:
    - Lift
    - Drag
    - gravity loads
    - centrifugal loads
  2. Frequency analysis to find the eigenmodes
  3. Harmonic analysis with the inputs of the step 1 and 2
    Do you think it´s a good and feasible approach?
    Thank you very much!


Hi Iria,

I would do this in exactly the same way you decribed :smile:

I’m looking forward to hear from you about the progress.

Let us know when you need help!




Hello Milad,

I did level 2 and submitted my homework but I am not really satisfied with the results. First as @Juhana mentioned in the Level 1 post, there seems to be variability in the Eigenfrequencies which I would not expect.

In the Level 2, we looked at the response between 230-240 Hz with an Eigenfrequency of 236.5 Hz. I would expect the maximum response to be at 236.5 Hz but the plot shows the maximum response to be at 238.6 Hz. When I look at my plots of the other two frequency ranges the peaks are not captured in these plots. So it seems like the eignefrequency has shifted out of this range. See the screenshot below.

To try and capture what’s going on I wanted to perform the analysis over a wider frequency range so I set up an simulation to go from 100 Hz to 300 Hz. When I tried to fun this with damping, I get an error:

“The job was terminated because there was insufficient disk space available. Please reduce the write frequency for results.”

Can I delete the solution fields and still solve for the point data to save on disk space. This is not a large problem and its similar in size to other analysis I have performed in other software locally.

When I try to ruin the same simulation without damping,I get the following error:

“The solution matrix is not factorable. This might be caused by an unconstrained rigid body motion or by overconstrained degrees of freedom due to multiple linear relations at at least one node.”

Do you know why I would get this when the other three simulations without damping ran?

Thanks for your help!


Hi Milad

I want to do a simulation run not related to drone workshop, but has insufficient space:

Is it OK to delete Homework 2 and 3 now ?

Best Regards


HI Milad
I am facing really weird problems.

Whenever I select either frequency or harmonic analysis it gives me the following message.

Can you please look into it ASAP



Please see the problem in the above reply.

Also can you please clarify whether we have to perform frequency or harmonic analysis?


@rahild_khan Harmonic analysis.



I also kind of found a way of getting a premium trial for 14 days


@rahild_khan Cool!


Ran the simulations and everything looks pretty reasonable except…

That’s the displacement plot from the 230-240 Hz run without damping.
I checked it in 3d, I used warpbyvector as the filter (filter: vector = displacement(real), scalefactor = 1), point data was displacement(real).

That doesn’t seem right…

If you want to have a look,
Mind you, that’s a 13 gig project.




I get the same for 230-240 without damping


Hi @Juhana and @rahild_khan,
this actually seems right!

What we are calculating is the steady state harmonic response of a system without damping.
You can imagine it like if you would apply a periodical harmonic load infinitely long on a structure and measure the limit value of the displacement, the response.

If you are getting near the eigenfrequency of the structure the response is approaching infinity. In simulations we normally can not exactly match the eigenfrequency because of numerical inaccuracy, so we will always have some very high unphysical response around the eigenfrequency.

Real structures are always subjected to damping effects and if the response is getting too high, they break.

I hope this cleared some of your doubts.


Hi @cjquijano,

let’s try to clear things up so you can understand the reasons for those “unsatisfying results”.

This also was very surprising to us and a very valuable report! We are looking into that issue. In the meantime, using only 1 processor for the eigenfrequency analysis should resolve the problem.

There are some reasons why those frequencies are not the same:

  1. for the eigenfrequency analysis we are using the CalCuliX solver whereas for the harmonic analysis we are using Code_Aster. Generally using different solvers will lead to not exactly the same results. differences of 1% should not be a surprise. In the future we will have also an advanced frequency analysis which is run with Code_Aster to resolve this.
  2. the plot your are showing is referring to an analysis where you activated damping. Damping has not only an effect on the magnitude of the response, it also shifts the eigenfrequencies since the modal analysis was done without damping.
  3. not all eigenfrequencies are visible in the harmonic response with a one-dimensional load, since they are not necessarily excited (for example modes which only deform orthogonal to the applied load or if the load is applied only at node points, e.g. points which have always zero displacement in this mode). So it is natural that some eigenfrequencies will completely vanish in the response graph.

Yes, you can definitely do that, and this is exactly what I would encourage people to do.
If you are investigating a large spectrum with a lot of frequencies, just remove the result fields and do a second analysis with your frequency band narrowed down to the actually interesting areas where you than add result fields for a more detailed post-processing.

This is possible, depending on your hard disk space and the specific fields that you request to be computed.
Keep in mind that you requested several result fields of a complex result (since you added damping) for a range of 2000 frequencies.

This is a little harder to answer. I guess it has to do with the statically unconstrained system and a rather low starting frequency (roughly around the first excited eigenmode, since the first one is a torsional mode of the arm). Adding damping changes the system equation and the solver is able to invert the system matrix. If you want to go more into detail with this I guess it would be worth e new topic.

I hope this helped.