Stopper
IconStopper
This component extends from TranslationalComponents.PartialTwoFlanges
Usage
Stopper(c, d)
Parameters:
Name | Description | Units | Default value |
---|---|---|---|
c | N/m | ||
d | s-1 |
Connectors
Variables
Name | Description | Units |
---|---|---|
v_a | m/s | |
v_b | m/s | |
s_a | m | |
s_b | m | |
f | N |
Behavior
\[ \begin{align} \mathtt{flange\_a.s}\left( t \right) &= \mathtt{s\_a}\left( t \right) \\ \mathtt{flange\_b.s}\left( t \right) &= \mathtt{s\_b}\left( t \right) \\ \mathtt{flange\_a.f}\left( t \right) &= f\left( t \right) \\ \mathtt{flange\_b.f}\left( t \right) &= - f\left( t \right) \\ \frac{\mathrm{d} \mathtt{s\_a}\left( t \right)}{\mathrm{d}t} &= \mathtt{v\_a}\left( t \right) \\ \frac{\mathrm{d} \mathtt{s\_b}\left( t \right)}{\mathrm{d}t} &= \mathtt{v\_b}\left( t \right) \\ f\left( t \right) &= ifelse\left( \mathtt{s\_a}\left( t \right) \geq \mathtt{s\_b}\left( t \right), c \left( - \mathtt{s\_b}\left( t \right) + \mathtt{s\_a}\left( t \right) \right) + d \left( \mathtt{v\_a}\left( t \right) - \mathtt{v\_b}\left( t \right) \right), 0 \right) \end{align} \]
Source
component Stopper
extends TranslationalComponents.PartialTwoFlanges
parameter c::TranslationalSpringConstant
parameter d::DampingCoefficient
variable v_a::Velocity
variable v_b::Velocity
variable s_a::JSML.Position
variable s_b::JSML.Position
variable f::Force
relations
flange_a.s = s_a
flange_b.s = s_b
flange_a.f = f
flange_b.f = -f
D(s_a) = v_a
D(s_b) = v_b
f = if s_a>=s_b then (v_a-v_b)*d+c*(s_a-s_b) else 0
end
Flattened Source
component Stopper flange_a = Flange() [{ "JuliaSim": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}} }] flange_b = Flange() [{ "JuliaSim": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}} }] parameter c::TranslationalSpringConstant parameter d::DampingCoefficient variable v_a::Velocity variable v_b::Velocity variable s_a::JSML.Position variable s_b::JSML.Position variable f::Force relations flange_a.s = s_a flange_b.s = s_b flange_a.f = f flange_b.f = -f D(s_a) = v_a D(s_b) = v_b f = if s_a>=s_b then (v_a-v_b)*d+c*(s_a-s_b) else 0 metadata {} end
Test Cases
Related
- Examples
- Experiments
- Analyses