Home > リソース > MBDynモデル集 > 7. バネ‐マス‐ダンパー系（１）
MBDynモデル集

## 7. バネ‐マス‐ダンパー系（１）

### 入力ファイル

```# spring_mass_damper.mbd

#-----------------------------------------------------------------------------
# [Data Block]

begin: data;
problem: initial value;
end: data;

#-----------------------------------------------------------------------------
# [<Problem> Block]

begin: initial value;
initial time:   0.;
final time:     5.;
time step:      1.e-3;
max iterations: 10;
tolerance:      1.e-6;
end: initial value;

#-----------------------------------------------------------------------------
# [Control Data Block]

begin: control data;
output frequency: 10;
structural nodes: 2;
rigid bodies:     1;
joints:           3;
forces:           1;
gravity;
end: control data;

#-----------------------------------------------------------------------------
# Design Variables
set: real M = 1.;  #[kg] Mass
set: real L = 1.;  #[m] Spring Natural Length
set: real K = 20.; #[N/m] Spring Stiffness Coefficient
set: real C = 1;   #[Ns/m] Damper Damping Coefficient

#-----------------------------------------------------------------------------
# Node Labels
set: integer Node_Ground = 1;
set: integer Node_Mass   = 2;

# Body Labels
set: integer Body_Mass = 1;

# Joint Labels
set: integer JoClamp_Ground      = 1;
set: integer JoInLin_Ground_Mass = 2;
set: integer JoPrism_Ground_Mass = 3;

# Force Labels
set: integer Force_SpringDamper = 1;

#-----------------------------------------------------------------------------
# [Nodes Block]

begin: nodes;

#-----------------------------------------------------------------------------
# Nodes
structural: Node_Ground, static,
null, # absolute position
eye,  # absolute orientation
null, # absolute velocity
null; # absolute angular velocity

structural: Node_Mass, dynamic,
0., 0., -L, # absolute position
eye,        # absolute orientation
null,       # absolute velocity
null;       # absolute angular velocity

end: nodes;

#-----------------------------------------------------------------------------
# Plugin Variables
set: [node, DZ, Node_Mass, structural, string="X[3]"];
set: [node, VZ, Node_Mass, structural, string="XP[3]"];

#-----------------------------------------------------------------------------
# [Elements Block]

begin: elements;

#-----------------------------------------------------------------------------
# Bodies
body: Body_Mass, Node_Mass,
M,    # mass
null, # relative center of mass
eye;  # inertia matrix

#-----------------------------------------------------------------------------
# Joints
joint: JoClamp_Ground,
clamp,
Node_Ground,
null, # absolute position
eye;  # absolute orientation

joint: JoInLin_Ground_Mass,
in line,
Node_Ground,
null, # relative line position
eye,  # relative line orientation
Node_Mass;

joint: JoPrism_Ground_Mass,
prismatic,
Node_Ground,
Node_Mass;

#-----------------------------------------------------------------------------
# Forces
force: Force_SpringDamper,
follower internal,
Node_Mass,
position, null,                               # relative arm
Node_Ground,
position, null,                               # relative arm
single, 0., 0., 1., string, "-K*(DZ-(-L))-C*VZ"; # force value

#-----------------------------------------------------------------------------
# Gravity
gravity: 0., 0., -1., const, 9.81;

end: elements;
```