MATLAB Answers

How can you set the initital condition 'displacement' of the mass in a simple spring-damper-mass system in Simscape?

57 views (last 30 days)
Maximilian Joerg
Maximilian Joerg on 27 Sep 2016
Edited: Tomorrow on 11 Dec 2018
In Simscape I want a Mass in a simple mass spring damper system to have initial displacement and velocity. When I doubleclick on the mass symbol, I can only set the initital velocity. I already tried to solve this problem by applying initial deformation on the spring, but this ended up as a constant offset. Is there a certain block I have to use?

  0 Comments

Sign in to comment.

Answers (2)

Zhao Wang
Zhao Wang on 29 Sep 2016
I understand that you want to set the initial displacement of the "Mass" block in a Mass-Spring-Damper model in Simscape. I assume that you want to change this initial value without double-clicking blocks in the model.
The initial displacement of the "Mass" block is determined by the initial deformation value in the "Spring" Block. For more details of how to initialize variables of a Mass-Spring-Damper system, refer to the following link:
If you want to change this initial value, you can use a variable (for example 'x') in the field of 'Beginning Value' of the 'Deformation' variable. You can define this variable in the base workspace. Every time you change the value of 'x' and click the 'Run' button, the changed initial displacement will be applied to the simulation of the Mass-Spring-Damper system.

  1 Comment

Maximilian Joerg
Maximilian Joerg on 30 Sep 2016
Hi Zhao, thanks for your reply.
It's not an issue of setting initial values. I'm familiar with both double-clicking and initializing a variable in the wokspace. Besides this I'm familiar with the Variable Viewer, setting priorities and solving conflicts between initital values.
My question is: Is there any way to define the initital (t=0) displacement of a mass directly as a property of the mass, without using the Spring Block's Parameters?
Because I have already tried your solution, using the initital deformation parameter of the Spring Block. But as I described earlier this ended up as a constant offset, meaning the mass's rest postion continued to be the same as the deformation of the spring throughout the entire simulation and not d=0 as one would expect. I assume this Parameter covers some kind of preload or pretention on the Spring

Sign in to comment.


Tomorrow
Tomorrow on 26 Nov 2018
Edited: Tomorrow on 11 Dec 2018
I have read the link you give and followed the same process.
However, I have set the initial position for spring and sensor, and they are the same as -3mm, after the updating the variable, the data are all strange.
attached please find my model. thanks for your help.
can anyone help?

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!