Sound Design Toolkit 075 Physically informed sound synthesis for everyday sounds

- Main Page
- Modules
- Data Structures
- Files

Typedefs | Functions
Friction
SDTInteractors.h: interactions between solids

## Typedefs
typedef struct SDTFriction | SDTFriction
| Opaque data structure representing the internal state of a friction interactor.

## Functions
SDTInteractor * | SDTFriction_new ()
| Object constructor. More...
void | SDTFriction_free (SDTInteractor *x)
| Object destructor. param[in] Pointer to a SDTInteractor instance, configured for the friction case.
void | SDTFriction_setNormalForce (SDTInteractor *x, double f)
| Sets the perpendicular force (pressure) applied to the two sliding resonators. More...
void | SDTFriction_setStribeckVelocity (SDTInteractor *x, double f)
| Sets the Stribeck velocity. More...
void | SDTFriction_setStaticCoefficient (SDTInteractor *x, double f)
| Sets the static friction coefficient. More...
void | SDTFriction_setDynamicCoefficient (SDTInteractor *x, double f)
| Sets the dynamic friction coefficient. More...
void | SDTFriction_setBreakAway (SDTInteractor *x, double f)
| Sets the break away coefficient. More...
void | SDTFriction_setStiffness (SDTInteractor *x, double f)
| Sets the contact stiffness. More...
void | SDTFriction_setDissipation (SDTInteractor *x, double f)
| Sets the dissipation coefficient. More...
void | SDTFriction_setViscosity (SDTInteractor *x, double f)
| Sets the contact viscosity. More...
void | SDTFriction_setNoisiness (SDTInteractor *x, double f)
| Sets the surface roughness. More...

## Detailed Description

Elasto-plastic friction model, computing friction force from the relative velocity between the two contact points. The resulting force is the sum of four components: an elastic term, an internal dissipation term, a viscosity term, and finally a random term representing noise related to the surface roughness.

More subtle phenomena, such as pre-sliding behavior (gradual increase of the friction force for very small displacements), are simulated by the "plastic" part of the algorithm and parametrized by several other values, such as static/dynamic friction coefficients, break-away and Stribeck velocity, and so on.

These phenomena are mostly related to the transients and are worth being modeled despite the added complexity of the algorithm because of their importance for a realistic simulation of friction sounds.

## Function Documentation

SDTInteractor* SDTFriction_new | ( |  | ) |

Object constructor.

Returns
  Pointer to a SDTInteractor instance, configured for the friction case

void SDTFriction_setBreakAway | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the break away coefficient.

Parameters

  [in] | f | Break away coefficient, positive scalar

void SDTFriction_setDissipation | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the dissipation coefficient.

Parameters

  [in] | f | Dissipation coefficient, positive scalar

void SDTFriction_setDynamicCoefficient | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the dynamic friction coefficient.

Parameters

  [in] | f | Dynamic friction coefficient [0,1]. Should be less than the static friction coefficient

void SDTFriction_setNoisiness | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the surface roughness.

Parameters

  [in] | f | Surface roughness, positive scalar

void SDTFriction_setNormalForce | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the perpendicular force (pressure) applied to the two sliding resonators.

Parameters

  [in] | f | Normal force, in N

void SDTFriction_setStaticCoefficient | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the static friction coefficient.

Parameters

  [in] | f | Static friction coefficient [0,1]

void SDTFriction_setStiffness | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the contact stiffness.

Parameters

  [in] | f | Contact stiffness, positive scalar

void SDTFriction_setStribeckVelocity | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the Stribeck velocity.

Parameters

  [in] | f | Stribeck velocity, in m/s

void SDTFriction_setViscosity | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the contact viscosity.

Parameters

  [in] | f | Contact viscosity, positive scalar