Skip to content
MultiSensor.md

MultiSensor ​

Ideal sensor measuring absolute velocity, transmitted force, and power flow between two mechanical flanges.

This sensor measures key physical quantities between its two mechanical connection ports, flange_a and flange_b. It assumes an ideal connection where the positions of the flanges are identical (flange_a.s = flange_b.s). The component outputs:

  • The absolute velocity v of flange_a, calculated as v=d(flange_a.s)dt.

  • The force f transmitted from flange_a to flange_b, taken as f=flange_a.f.

  • The power power flowing from flange_a to flange_b, calculated as power=fâ‹…v.

These quantities are made available as real output signals for monitoring or control purposes.

This component extends from PartialRelativeSensor

Usage ​

TranslationalComponents.MultiSensor()

Connectors ​

  • flange_a - This connector represents a mechanical flange with position and force as the potential and flow variables, respectively. (Flange)

  • flange_b - This connector represents a mechanical flange with position and force as the potential and flow variables, respectively. (Flange)

  • power - This connector represents a real signal as an output from a component (RealOutput)

  • f - This connector represents a real signal as an output from a component (RealOutput)

  • v - This connector represents a real signal as an output from a component (RealOutput)

Behavior ​

0=flange_b.f(t)+flange_a.f(t)flange_a.s(t)=flange_b.s(t)f(t)=flange_a.f(t)v(t)=dflange_a.s(t)dtpower(t)=v(t)f(t)

Source ​

dyad
"""
Ideal sensor measuring absolute velocity, transmitted force, and power flow between two mechanical flanges.

This sensor measures key physical quantities between its two mechanical connection
ports, `flange_a` and `flange_b`. It assumes an ideal connection where the positions
of the flanges are identical (`flange_a.s = flange_b.s`). The component outputs:
- The absolute velocity `v` of `flange_a`, calculated as $v = \frac{d(flange\_a.s)}{dt}$.
- The force `f` transmitted from `flange_a` to `flange_b`, taken as $f = flange\_a.f$.
- The power `power` flowing from `flange_a` to `flange_b`, calculated as $power = f \cdot v$.
These quantities are made available as real output signals for monitoring or control purposes.
"""
component MultiSensor
  extends PartialRelativeSensor
  "Power flowing from `flange_a` to `flange_b` as output signal"
  power = RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 150, "y1": 1000, "x2": 250, "y2": 1100, "rot": 90},
        "diagram": {"iconName": "default", "x1": 150, "y1": 1000, "x2": 250, "y2": 1100, "rot": 90}
      },
      "tags": []
    }
  }
  "Force transmitted from `flange_a` to `flange_b` as output signal"
  f = RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 450, "y1": 1000, "x2": 550, "y2": 1100, "rot": 90},
        "diagram": {"iconName": "default", "x1": 450, "y1": 1000, "x2": 550, "y2": 1100, "rot": 90}
      },
      "tags": []
    }
  }
  "Absolute velocity of `flange_a` as output signal"
  v = RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 750, "y1": 1000, "x2": 850, "y2": 1100, "rot": 90},
        "diagram": {"iconName": "default", "x1": 750, "y1": 1000, "x2": 850, "y2": 1100, "rot": 90}
      },
      "tags": []
    }
  }
relations
  flange_a.s = flange_b.s
  f = flange_a.f
  v = der(flange_a.s)
  power = f * v
metadata {
  "Dyad": {
    "icons": {"default": "dyad://TranslationalComponents/MultiSensor.svg"},
    "labels": [
      {"label": "W", "x": 250, "y": 864, "rot": 0},
      {"label": "N", "x": 500, "y": 864, "rot": 0},
      {"label": "m/s", "x": 750, "y": 864, "rot": 0}
    ]
  }
}
end
Flattened Source
dyad
"""
Ideal sensor measuring absolute velocity, transmitted force, and power flow between two mechanical flanges.

This sensor measures key physical quantities between its two mechanical connection
ports, `flange_a` and `flange_b`. It assumes an ideal connection where the positions
of the flanges are identical (`flange_a.s = flange_b.s`). The component outputs:
- The absolute velocity `v` of `flange_a`, calculated as $v = \frac{d(flange\_a.s)}{dt}$.
- The force `f` transmitted from `flange_a` to `flange_b`, taken as $f = flange\_a.f$.
- The power `power` flowing from `flange_a` to `flange_b`, calculated as $power = f \cdot v$.
These quantities are made available as real output signals for monitoring or control purposes.
"""
component MultiSensor
  "Negative connection flange of the sensor, often considered the reference point."
  flange_a = Flange() {"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}
  "Positive connection flange of the sensor, where the measurement is taken relative to flange_a."
  flange_b = Flange() {"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}
  "Power flowing from `flange_a` to `flange_b` as output signal"
  power = RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 150, "y1": 1000, "x2": 250, "y2": 1100, "rot": 90},
        "diagram": {"iconName": "default", "x1": 150, "y1": 1000, "x2": 250, "y2": 1100, "rot": 90}
      },
      "tags": []
    }
  }
  "Force transmitted from `flange_a` to `flange_b` as output signal"
  f = RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 450, "y1": 1000, "x2": 550, "y2": 1100, "rot": 90},
        "diagram": {"iconName": "default", "x1": 450, "y1": 1000, "x2": 550, "y2": 1100, "rot": 90}
      },
      "tags": []
    }
  }
  "Absolute velocity of `flange_a` as output signal"
  v = RealOutput() {
    "Dyad": {
      "placement": {
        "icon": {"iconName": "default", "x1": 750, "y1": 1000, "x2": 850, "y2": 1100, "rot": 90},
        "diagram": {"iconName": "default", "x1": 750, "y1": 1000, "x2": 850, "y2": 1100, "rot": 90}
      },
      "tags": []
    }
  }
relations
  0 = flange_a.f + flange_b.f
  flange_a.s = flange_b.s
  f = flange_a.f
  v = der(flange_a.s)
  power = f * v
metadata {
  "Dyad": {
    "icons": {"default": "dyad://TranslationalComponents/MultiSensor.svg"},
    "labels": [
      {"label": "W", "x": 250, "y": 864, "rot": 0},
      {"label": "N", "x": 500, "y": 864, "rot": 0},
      {"label": "m/s", "x": 750, "y": 864, "rot": 0}
    ]
  }
}
end


Test Cases ​

No test cases defined.

  • Examples

  • Experiments

  • Analyses