Leaky Valve Connection
Description
This connection simulates the behavior of a valve. It can be used as well to imitate vibrating lips. Note that you can make it with one or two accesses, plus one for the object playing the role of the tube. It is slightly different from the standard valve connection.
Lisp Syntax and Default Values
The 'leaky-valve connection can be created using the following Lisp syntax:
(make-connection 'leaky-valve
valveAccess initialPosition
;; or valveAccess1 initialPosition1 valveAccess2 initialPosition2
;; if there are 2 accesses on the valve/reed object
objectAccess
breath
airDensity
airViscosity
underArea
frontArea
frontAngle
apertureLength
canalLength
weight)
modalys.create_connection{kind="normalised-leaky-valve",
name="MyNormalisedLeakyValve",
valveaccess=[valve/reed access], initialposition=0.001,
-- or: valveaccess1=[access1], initialposition1=0.001,
-- valveaccess2=[access2], initialposition2=0,
objectaccess=[tube (or other object) access],
breath=0,
airdensity=1.2,
airviscosity=1.78e-5,
frontarea=1e-4,
underarea=2e-5,
frontangle=1e-8,
aperturelidth=0.001,
canallength=0.01,
weight=1}
💡breath (i.e gamma), airdensity, airviscosity, zeta, frontangle, aperturewidth, canallength and weight are controllers. If a numerical value is passed, a dynamic controller is automatically created, controllable using Max messages:
•
MyNormalisedLeakyValve@breath {value}
•
MyNormalisedLeakyValve@airdensity {value}
•
MyNormalisedLeakyValve@airviscosity {value}
•
MyNormalisedLeakyValve@zeta {value}
•
MyNormalisedLeakyValve@frontangle {value}
•
MyNormalisedLeakyValve@aperturewidth {value}
•
MyNormalisedLeakyValve@canallength {value}
•
MyNormalisedLeakyValve@weight {value}
Parameters
The 'valve connection takes fourteen arguments (or twelve if made with two instead of three accesses):
- valveAccess1: first access.
- initialPosition1: initial position of the first access with respect to the valve. (numerical value, not a controller)
- valveAccess2: second access.
- initialPosition2: initial position of the second access with respect to the valve. (numerical value, not a controller)
- objectAccess: access on the object used as a tube.
- breath: a controller defining the breath pressure of the air blowing in the valve. (Pascals)
- airDensity: a controller for the density of air. (kg/m^3)
- airViscosity: a controller for the viscosity of air. (Pa)
- underArea: a controller defining the surface of the under part of the valve. (m^2)
- frontArea: a controller defining the surface of the front part of the valve. (m^2)
- frontAngle: a controller for the inclination of the valve. (degrees)
- apertureLength: a controller defining the length of the aperture/opening. (m)
- canalLength: a controller for the length of the canal.
- weight: (optional) controller weighing the interaction.
The two initial vertical positions must be numerical values, not controllers.
Typical values for air pressure (breath) range from 0 to 50000 Pa.
The real-world value for air density is 1.2 kg / m^3, on earth at sea level at room temperature. You might need to play with this if you wish to blow in other Modalys objects.
The real-world value for air viscosity is around 1.78e-5 Pa.
Typical values for the surface area of the under part of the valve are from 1e-14 to 1e-3 m^2.
Typical values for the surface area of the front part of the valve are also from 1e-14 to 1e-3 m^2.
For the inclination (angle) of the valve, use whatever system you selected with set_angle_mode. By default, it is degrees.
The weight controller is optional. If not provided, it defaults to 1.
You can make this connection with either 2 or 3 accesses: it could have two vibrating “lips” or one vibrating against a static surface, in addition to the object playing the role of a tube.
Discussion
The leaky valve connection is similar to a reed connection.
[More information forthcoming...]
Options
There are no special options for this connection.
★