ForceSensorForceSensor Icon

ForceSensor

Ideal sensor measuring the translational force transmitted between two flanges.

This component models an ideal sensor that measures the translational force acting between its two mechanical flanges, flange_a and flange_b. It ensures the sensor body is perfectly rigid, meaning no relative displacement between the flanges. This is expressed by the equation:

\[flange_a.s = flange_b.s\]

The force exerted at flange_a is directly measured and provided as the output signal f:

\[flange_a.f = f\]

By Newton's third law, the force at flange_b is equal and opposite to the force at flange_a:

\[flange_b.f = -flange_a.f\]

This component extends from PartialRelativeSensor

Usage

TranslationalComponents.ForceSensor()

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)
  • f - This connector represents a real signal as an output from a component (RealOutput)

Behavior

\[ \begin{align} 0 &= \mathtt{flange\_b.f}\left( t \right) + \mathtt{flange\_a.f}\left( t \right) \\ \mathtt{flange\_a.s}\left( t \right) &= \mathtt{flange\_b.s}\left( t \right) \\ \mathtt{flange\_a.f}\left( t \right) &= f\left( t \right) \end{align} \]

Source

"""
Ideal sensor measuring the translational force transmitted between two flanges.

This component models an ideal sensor that measures the translational force acting between its two mechanical flanges, `flange_a` and `flange_b`.
It ensures the sensor body is perfectly rigid, meaning no relative displacement between the flanges.
This is expressed by the equation:

math flangea.s = flangeb.s


The force exerted at `flange_a` is directly measured and provided as the output signal `f`:

math flange_a.f = f


By Newton's third law, the force at `flange_b` is equal and opposite to the force at `flange_a`:

math flangeb.f = -flangea.f

"""</span>
<span class="hljs-keyword">component</span> ForceSensor
&nbsp;&nbsp;<span class="hljs-keyword">extends</span> <span class="hljs-link"><a href="https://help.juliahub.com/dyad/dev/stdlib/TranslationalComponents/types/PartialRelativeSensor.html">PartialRelativeSensor</a></span>
&nbsp;&nbsp;<span class="hljs-comment">"Force transmitted from `flange_a` to `flange_b` as output signal"</span>
&nbsp;&nbsp;<span class="hljs-symbol">f</span> = <span class="hljs-link"><a href="https://help.juliahub.com/dyad/dev/stdlib/Dyad/connectors/RealOutput.html">RealOutput</a></span>() {
&nbsp;&nbsp;&nbsp;&nbsp;"Dyad": {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"placement": {"icon": {"x1": 450, "y1": 950, "x2": 550, "y2": 1050, "rot": 90}}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
<span class="hljs-keyword">relations</span>
&nbsp;&nbsp;flange_a.s = flange_b.s
&nbsp;&nbsp;flange_a.f = f
<span class="hljs-keyword">metadata</span> {
&nbsp;&nbsp;"Dyad": {"icons": {"default": "dyad://TranslationalComponents/RelativeSensor.svg"}}
}
<span class="hljs-keyword">end</span></code></pre>
Flattened Source
"""
Ideal sensor measuring the translational force transmitted between two flanges.

This component models an ideal sensor that measures the translational force acting between its two mechanical flanges, `flange_a` and `flange_b`.
It ensures the sensor body is perfectly rigid, meaning no relative displacement between the flanges.
This is expressed by the equation:

math flangea.s = flangeb.s


The force exerted at `flange_a` is directly measured and provided as the output signal `f`:

math flange_a.f = f


By Newton's third law, the force at `flange_b` is equal and opposite to the force at `flange_a`:

math flangeb.f = -flangea.f

"""</span>
<span class="hljs-keyword">component</span> ForceSensor
&nbsp;&nbsp;<span class="hljs-comment">"Negative connection flange of the sensor, often considered the reference point."</span>
&nbsp;&nbsp;<span class="hljs-symbol">flange_a</span> = <span>Flange</span>() {"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}
&nbsp;&nbsp;<span class="hljs-comment">"Positive connection flange of the sensor, where the measurement is taken relative to flange_a."</span>
&nbsp;&nbsp;<span class="hljs-symbol">flange_b</span> = <span>Flange</span>() {"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}
&nbsp;&nbsp;<span class="hljs-comment">"Force transmitted from `flange_a` to `flange_b` as output signal"</span>
&nbsp;&nbsp;<span class="hljs-symbol">f</span> = <span>RealOutput</span>() {
&nbsp;&nbsp;&nbsp;&nbsp;"Dyad": {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"placement": {"icon": {"x1": 450, "y1": 950, "x2": 550, "y2": 1050, "rot": 90}}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;}
<span class="hljs-keyword">relations</span>
&nbsp;&nbsp;0 = flange_a.f + flange_b.f
&nbsp;&nbsp;flange_a.s = flange_b.s
&nbsp;&nbsp;flange_a.f = f
<span class="hljs-keyword">metadata</span> {
&nbsp;&nbsp;"Dyad": {"icons": {"default": "dyad://TranslationalComponents/RelativeSensor.svg"}}
}
<span class="hljs-keyword">end</span></code></pre>


Test Cases

No test cases defined.

  • Examples
  • Experiments
  • Analyses