Skip to content

Two-Mass - Bi-directional

Description

A simple bi-directional two-mass model that can serve as a hammer, plectrum, finger, etc. Generally the two-mass model has a small mass and a large mass; the small one will be "connected" to the object being excited, and the large one will be manipulated by the user. The two masses are connected by a spring. Visualize a large coin on a table, with a small coin on top, and a spring between them. The large coin can be moved in two directions ('trans0 and 'trans1), and the spring will cause the small coin to follow.

(make-object 'bi-two-mass ... )

Lisp Syntax and Default Values

A 'bi-two-mass can be created using the following Lisp syntax (the default values are shown for each of the physical parameters):

(make-object 'bi-two-mass
         (small-mass .01)
         (large-mass .01)
         (stiffness0 15000)
         (stiffness1 15000)
         (freq-loss0 100)
         (freq-loss1 100)
         (const-loss0 0)
         (const-loss1 0))

Parameters

All physical parameters can be numerical values or controllers.

  • small-mass: The mass of the small mass in kg.
  • large-mass: The mass of the large mass in kg.
  • stiffness0: The stiffness of the spring in the 'trans0 (horizontal) direction.
  • stiffness1: The stiffness of the spring in the 'trans1 (vertical) direction.
  • freq-loss0: The usual frequency loss parameter, but this loss only affects the trans0 (horizontal) direction of vibration.
  • freq-loss1: The usual frequency loss parameter, but this loss only affects the trans1 (vertical) direction of vibration.
  • const-loss0: The usual constant loss parameter, but this loss only affects the trans0 (horizontal) direction of vibration.
  • const-loss1:The usual constant loss parameter, but this loss only affects the trans1 (vertical) direction of vibration.

As always, the terms horizontal and vertical used above are provided for simplification. This object has separate const-loss and freq-loss parameters for each direction of vibration. See the General Object Information section for a discussion of these parameters.

Accesses

A 'bi-two-mass can be accessed in either of its two directions: trans0 or trans1.

(make-access my-bi-two-mass my-controller 'trans0)
If the value of my-controller is 1, the access is on the small mass. If my-controller is 0, the access is on the large mass. (A value in-between takes a weighted combination of the two points.)

Options

Tuning

A bi-two-mass can be tuned to a specific pitch [in each of its two vibrational directions], using the (set-pitch ...) function, by adjusting one of the following physical parameters:

  • 'stiffness0
  • 'stiffness1
  • 'small-mass0
  • 'small-mass1
  • 'large-mass0
  • 'large-mass1

For example:

(setq my-mass (make-object 'bi-two-mass))
(set-pitch my-mass 'stiffness0 220)