AccelerationSensor
Ideal sensor measuring the absolute translational acceleration of a flange.
This component measures the absolute acceleration of its connected flange. It first determines the absolute velocity of the flange by taking the time derivative of the flange's absolute position (
where flange.s
variable, with the flange
itself being inherited from PartialAbsoluteSensor
.
This component extends from PartialAbsoluteSensor
Usage
AccelerationSensor()
Connectors
flange
- (Flange
)a
- This connector represents a real signal as an output from a component (RealOutput
)
Variables
Name | Description | Units |
---|---|---|
v | Internal variable representing the absolute velocity of the flange | m/s |
Behavior
Source
# Ideal sensor measuring the absolute translational acceleration of a flange.
#
# This component measures the absolute acceleration of its connected flange.
# It first determines the absolute velocity of the flange by taking the time derivative
# of the flange's absolute position ($\text{flange.s}$). The absolute acceleration
# is then computed as the time derivative of this velocity.
# The governing equations are:
# ```math
# \begin{align*}
# v &= \frac{d(\text{flange.s})}{dt} \\
# a = \frac{dv}{dt} &= \frac{d^2({\text{flange.s}})}{dt^2}
# \end{align*}
# ```
# where $v$ is the internal absolute velocity variable and $a$ is the
# output signal representing the absolute acceleration. The position $\text{flange.s}$
# is accessed via the `flange.s` variable, with the `flange` itself being inherited from `PartialAbsoluteSensor`.
component AccelerationSensor
extends PartialAbsoluteSensor
# Output signal representing the absolute acceleration of the flange
a = RealOutput() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
# Internal variable representing the absolute velocity of the flange
variable v::Velocity
relations
v = der(flange.s)
a = der(v)
metadata {
"Dyad": {"icons": {"default": "dyad://TranslationalComponents/AbsoluteSensor.svg"}}
}
end
Flattened Source
# Ideal sensor measuring the absolute translational acceleration of a flange.
#
# This component measures the absolute acceleration of its connected flange.
# It first determines the absolute velocity of the flange by taking the time derivative
# of the flange's absolute position ($\text{flange.s}$). The absolute acceleration
# is then computed as the time derivative of this velocity.
# The governing equations are:
# ```math
# \begin{align*}
# v &= \frac{d(\text{flange.s})}{dt} \\
# a = \frac{dv}{dt} &= \frac{d^2({\text{flange.s}})}{dt^2}
# \end{align*}
# ```
# where $v$ is the internal absolute velocity variable and $a$ is the
# output signal representing the absolute acceleration. The position $\text{flange.s}$
# is accessed via the `flange.s` variable, with the `flange` itself being inherited from `PartialAbsoluteSensor`.
component AccelerationSensor
# Mechanical flange connector through which the variable is sensed.
flange = Flange() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
# Output signal representing the absolute acceleration of the flange
a = RealOutput() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
# Internal variable representing the absolute velocity of the flange
variable v::Velocity
relations
0 = flange.f
v = der(flange.s)
a = der(v)
metadata {
"Dyad": {"icons": {"default": "dyad://TranslationalComponents/AbsoluteSensor.svg"}}
}
end
Test Cases
This is setup code, that must be run before each test case.
using TranslationalComponents
using ModelingToolkit, OrdinaryDiffEqDefault
using Plots
using CSV, DataFrames
snapshotsdir = joinpath(dirname(dirname(pathof(TranslationalComponents))), "test", "snapshots")
"/home/actions-runner-10/.julia/packages/TranslationalComponents/khJb7/test/snapshots"
Related
Examples
Experiments
Analyses
Tests