LIBRARY
Sources.ForceStep
Force step at a given time.
Model of a force step at time startTime. Positive force accelerates in positive direction of flange translation. The force is:
This component extends from TranslationalComponents.Interfaces.PartialForce
Usage
TranslationalComponents.Sources.ForceStep(stepForce=1.0, offsetForce=0.0, startTime=0.0)
Parameters:
| Name | Description | Units | Default value |
|---|---|---|---|
stepForce | Height of force step (if negative, force is acting as load) | N | 1.0 |
offsetForce | Offset of force | N | 0.0 |
startTime | Force = offset for time < startTime | s | 0.0 |
Connectors
flange- This connector represents a mechanical flange with position and force as the potential and flow variables, respectively. (Flange)support- This connector represents a mechanical flange with position and force as the potential and flow variables, respectively. (Flange)
Variables
| Name | Description | Units |
|---|---|---|
s | Distance between flange and support (= flange.s - support.s) | m |
f | Accelerating force acting at flange (= flange.f) | N |
Behavior
julia
using TranslationalComponents #hide
using ModelingToolkit #hide
@variables stepForce #hide
@variables offsetForce #hide
@variables startTime #hide
@named sys = TranslationalComponents.Sources.ForceStep(stepForce=stepForce, offsetForce=offsetForce, startTime=startTime) #hide
full_equations(sys) #hide<< @example-block not executed in draft mode >>Source
dyad
"""
Force step at a given time.
Model of a force step at time `startTime`. Positive force accelerates in positive
direction of flange translation. The force is:
```math
f = -offsetForce - \\begin{cases} 0 & \\text{if } t < startTime \\\\ stepForce & \\text{otherwise} \\end{cases}
```
"""
component ForceStep
extends TranslationalComponents.Interfaces.PartialForce
"Height of force step (if negative, force is acting as load)"
parameter stepForce::Dyad.Force = 1.0
"Offset of force"
parameter offsetForce::Dyad.Force = 0.0
"Force = offset for time < startTime"
parameter startTime::Time = 0.0
relations
f = -offsetForce - ifelse(time < startTime, 0.0, stepForce)
metadata {"Dyad": {"icons": {"default": "dyad://TranslationalComponents/ForceStep.svg"}}}
endFlattened Source
dyad
"""
Force step at a given time.
Model of a force step at time `startTime`. Positive force accelerates in positive
direction of flange translation. The force is:
```math
f = -offsetForce - \\begin{cases} 0 & \\text{if } t < startTime \\\\ stepForce & \\text{otherwise} \\end{cases}
```
"""
component ForceStep
"Flange of component"
flange = Flange() {"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}
"Support/housing of component"
support = Flange() {"Dyad": {"placement": {"icon": {"x1": 450, "y1": 950, "x2": 550, "y2": 1050}}}}
"Distance between flange and support (= flange.s - support.s)"
variable s::Length
"Accelerating force acting at flange (= flange.f)"
variable f::Dyad.Force
"Height of force step (if negative, force is acting as load)"
parameter stepForce::Dyad.Force = 1.0
"Offset of force"
parameter offsetForce::Dyad.Force = 0.0
"Force = offset for time < startTime"
parameter startTime::Time = 0.0
relations
s = flange.s - support.s
support.f = -flange.f
f = flange.f
f = -offsetForce - ifelse(time < startTime, 0.0, stepForce)
metadata {"Dyad": {"icons": {"default": "dyad://TranslationalComponents/ForceStep.svg"}}}
endTest Cases
No test cases defined.
Related
Examples
Experiments
Analyses