TorqueSource
Ideal source applying an externally specified torque to a rotational spline.
This component models an ideal torque source for rotational mechanical systems. It takes an external signal, tau
, which defines the accelerating torque to be applied to the connected mechanical spline
. The component inherits its mechanical connection interface, spline
, from PartialTorque
. The core behavior is established by the following equation that relates the input signal tau
to the torque at the spline
connector:
This component extends from PartialTorque
Usage
TorqueSource()
Connectors
spline
- (Spline
)support
- (Spline
)tau
- This connector represents a real signal as an input to a component (RealInput
)
Variables
Name | Description | Units |
---|---|---|
phi_support | Absolute angle of the support spline | rad |
phi | Angle of spline with respect to support | – |
Behavior
Source
# Ideal source applying an externally specified torque to a rotational spline.
#
# This component models an ideal torque source for rotational mechanical systems.
# It takes an external signal, `tau`, which defines the accelerating torque
# to be applied to the connected mechanical `spline`. The component inherits
# its mechanical connection interface, `spline`, from `PartialTorque`.
# The core behavior is established by the following equation that relates the
# input signal `tau` to the torque at the `spline` connector:
# ```math
# spline.\tau = -\tau
# ```
component TorqueSource
extends PartialTorque
# Accelerating torque acting at spline
tau = RealInput() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
relations
spline.tau = -tau
metadata {"Dyad": {"icons": {"default": "dyad://RotationalComponents/Torque.svg"}}}
end
Flattened Source
# Ideal source applying an externally specified torque to a rotational spline.
#
# This component models an ideal torque source for rotational mechanical systems.
# It takes an external signal, `tau`, which defines the accelerating torque
# to be applied to the connected mechanical `spline`. The component inherits
# its mechanical connection interface, `spline`, from `PartialTorque`.
# The core behavior is established by the following equation that relates the
# input signal `tau` to the torque at the `spline` connector:
# ```math
# spline.\tau = -\tau
# ```
component TorqueSource
# Primary rotational shaft spline connector
spline = Spline() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
# Support spline connector
support = Spline() [{
"Dyad": {
"placement": {"icon": {"iconName": "support", "x1": 450, "y1": 950, "x2": 550, "y2": 1050}}
}
}]
# Absolute angle of the support spline
variable phi_support::Angle
# Angle of spline with respect to support
variable phi::Real
# Accelerating torque acting at spline
tau = RealInput() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
relations
support.phi = phi_support
support.tau = -spline.tau
phi = spline.phi-phi_support
spline.tau = -tau
metadata {"Dyad": {"icons": {"default": "dyad://RotationalComponents/Torque.svg"}}}
end
Test Cases
This is setup code, that must be run before each test case.
using RotationalComponents
using ModelingToolkit, OrdinaryDiffEqDefault
using Plots
using CSV, DataFrames
snapshotsdir = joinpath(dirname(dirname(pathof(RotationalComponents))), "test", "snapshots")
"/home/actions-runner-10/.julia/packages/RotationalComponents/0VPxm/test/snapshots"
Related
Examples
Experiments
Analyses
Tests