PartialElementaryTwoSplinesAndSupport
A foundational model for a mechanical component with two rotational shaft interfaces and a supporting housing, establishing torque balance.
This partial component provides a common base for models involving two rotational mechanical splines (flanges), spline_a
and spline_b
, and a central support spline, support
, typically representing a casing or ground. The absolute rotational angle of the support
spline (support.phi
) is equated to the model variable phi_support
. The fundamental behavior defined is the torque balance on the support structure. The torque experienced by the support (support.tau
) is equal and opposite to the sum of the torques from spline_a
(spline_a.tau
) and spline_b
(spline_b.tau
). These relationships are mathematically expressed as:
This component is 'partial', meaning it is intended to be extended by other components that will further define the relationships between the spline angles and torques or connect them to other elements.
Usage
PartialElementaryTwoSplinesAndSupport()
Connectors
Variables
Name | Description | Units |
---|---|---|
phi_support | Variable for the absolute angle of the support spline | rad |
Source
# A foundational model for a mechanical component with two rotational shaft interfaces and a supporting housing, establishing torque balance.
#
# This partial component provides a common base for models involving two rotational
# mechanical splines (flanges), `spline_a` and `spline_b`, and a central support
# spline, `support`, typically representing a casing or ground. The absolute
# rotational angle of the `support` spline (`support.phi`) is equated to the model
# variable `phi_support`. The fundamental behavior defined is the torque balance on
# the support structure. The torque experienced by the support (`support.tau`) is
# equal and opposite to the sum of the torques from `spline_a` (`spline_a.tau`) and
# `spline_b` (`spline_b.tau`).
# These relationships are mathematically expressed as:
# ```math
# \text{support}.\phi = \phi_{\text{support}}
# ```
# ```math
# \text{support}.\tau = -(\text{spline\_a}.\tau + \text{spline\_b}.\tau)
# ```
# This component is 'partial', meaning it is intended to be extended by other components that will further
# define the relationships between the spline angles and torques or connect them to other elements.
partial component PartialElementaryTwoSplinesAndSupport
# First rotational 1-dimensional shaft spline connector (flange_a)
spline_a = Spline() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
# Second rotational 1-dimensional shaft spline connector (flange_b)
spline_b = Spline() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
# Support spline connector, typically for housing or reaction torques
support = Spline() [{
"Dyad": {
"placement": {"icon": {"iconName": "support", "x1": 450, "y1": 950, "x2": 550, "y2": 1050}}
}
}]
# Variable for the absolute angle of the support spline
variable phi_support::Angle
relations
support.phi = phi_support
support.tau = -spline_a.tau-spline_b.tau
end
Flattened Source
# A foundational model for a mechanical component with two rotational shaft interfaces and a supporting housing, establishing torque balance.
#
# This partial component provides a common base for models involving two rotational
# mechanical splines (flanges), `spline_a` and `spline_b`, and a central support
# spline, `support`, typically representing a casing or ground. The absolute
# rotational angle of the `support` spline (`support.phi`) is equated to the model
# variable `phi_support`. The fundamental behavior defined is the torque balance on
# the support structure. The torque experienced by the support (`support.tau`) is
# equal and opposite to the sum of the torques from `spline_a` (`spline_a.tau`) and
# `spline_b` (`spline_b.tau`).
# These relationships are mathematically expressed as:
# ```math
# \text{support}.\phi = \phi_{\text{support}}
# ```
# ```math
# \text{support}.\tau = -(\text{spline\_a}.\tau + \text{spline\_b}.\tau)
# ```
# This component is 'partial', meaning it is intended to be extended by other components that will further
# define the relationships between the spline angles and torques or connect them to other elements.
partial component PartialElementaryTwoSplinesAndSupport
# First rotational 1-dimensional shaft spline connector (flange_a)
spline_a = Spline() [{"Dyad": {"placement": {"icon": {"x1": -50, "y1": 450, "x2": 50, "y2": 550}}}}]
# Second rotational 1-dimensional shaft spline connector (flange_b)
spline_b = Spline() [{"Dyad": {"placement": {"icon": {"x1": 950, "y1": 450, "x2": 1050, "y2": 550}}}}]
# Support spline connector, typically for housing or reaction torques
support = Spline() [{
"Dyad": {
"placement": {"icon": {"iconName": "support", "x1": 450, "y1": 950, "x2": 550, "y2": 1050}}
}
}]
# Variable for the absolute angle of the support spline
variable phi_support::Angle
relations
support.phi = phi_support
support.tau = -spline_a.tau-spline_b.tau
metadata {}
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