Skip to content
LIBRARY
Sources.ForceStep.md

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:

f = -offsetForce - \\begin{cases} 0 & \\text{if } t < startTime \\\\ stepForce & \\text{otherwise} \\end{cases}

This component extends from TranslationalComponents.Interfaces.PartialForce

Usage

TranslationalComponents.Sources.ForceStep(stepForce=1.0, offsetForce=0.0, startTime=0.0)

Parameters:

NameDescriptionUnitsDefault value
stepForceHeight of force step (if negative, force is acting as load)N1.0
offsetForceOffset of forceN0.0
startTimeForce = offset for time < startTimes0.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

NameDescriptionUnits
sDistance between flange and support (= flange.s - support.s)m
fAccelerating 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"}}}
end
Flattened 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"}}}
end


Test Cases

No test cases defined.

  • Examples

  • Experiments

  • Analyses