how to use couplinElement #1134
Unanswered
Pierre-zhu
asked this question in
Q&A
Replies: 1 comment 2 replies
-
|
Here is an example to clarify some details, however, it does not represent a real model: import ross as rs
from ross.materials import steel
# Define the shafts with their respective dimensions and properties
# Shaft 1 - Left
L1 = [300, 92, 200, 200, 92, 300] # Segment lengths (in mm)
r1 = [61.5, 75, 75, 75, 75, 61.5] # Segment radii (in mm)
shaft1 = [
rs.ShaftElement(
L=L1[i] * 1e-3, # Convert length to meters
idl=0.0, # Inner diameter in meters
odl=r1[i] * 2e-3, # Outer diameter in meters
material=steel, # Material used for the shaft
shear_effects=True,
rotary_inertia=True,
gyroscopic=True,
)
for i in range(len(L1))
]
# Shaft 2 - Right
L2 = [80, 200, 200, 640] # Segment lengths (in mm)
r2 = [160.5, 160.5, 130.5, 130.5] # Segment radii (in mm)
shaft2 = [
rs.ShaftElement(
L=L2[i] * 1e-3, # Convert length to meters
idl=0.0, # Inner diameter in meters
odl=r2[i] * 2e-3, # Outer diameter in meters
material=steel, # Material used for the shaft
shear_effects=True,
rotary_inertia=True,
gyroscopic=True,
)
for i in range(len(L2))
]
# Define the coupling element that connects the two shafts
# Mass at each station (e.g., hub mass of the coupling)
mass_station = 151 / 2 # Assuming equal distribution of mass (in kg)
# Polar moments of inertia at the left and right stations of the coupling
Ip_station = 1.74 # Polar moment of inertia, assuming equal distribution (in kg·m²)
# For stiffness, in this example I considered just the torsional stiffness,
# but you can pass as arguments kt_x, kt_y, kt_z (axial), kr_x, kr_y, kr_z (torsional)
# The K matrix will be assembled like this:
# k1 = kt_x
# k2 = kt_y
# k3 = kt_z
# k4 = kr_x
# k5 = kr_y
# k6 = kr_z
# K =
# [ k1, 0, 0, 0, 0, 0, -k1, 0, 0, 0, 0, 0],
# [ 0, k2, 0, 0, 0, 0, 0, -k2, 0, 0, 0, 0],
# [ 0, 0, k3, 0, 0, 0, 0, 0, -k3, 0, 0, 0],
# [ 0, 0, 0, k4, 0, 0, 0, 0, 0, -k4, 0, 0],
# [ 0, 0, 0, 0, k5, 0, 0, 0, 0, 0, -k5, 0],
# [ 0, 0, 0, 0, 0, k6, 0, 0, 0, 0, 0, -k6],
# [ -k1, 0, 0, 0, 0, 0, k1, 0, 0, 0, 0, 0],
# [ 0, -k2, 0, 0, 0, 0, 0, k2, 0, 0, 0, 0],
# [ 0, 0, -k3, 0, 0, 0, 0, 0, k3, 0, 0, 0],
# [ 0, 0, 0, -k4, 0, 0, 0, 0, 0, k4, 0, 0],
# [ 0, 0, 0, 0, -k5, 0, 0, 0, 0, 0, k5, 0],
# [ 0, 0, 0, 0, 0, -k6, 0, 0, 0, 0, 0, k6],
torsional_stiffness = 3.04e6 # Torsional stiffness (in N·m/rad)
# Create the coupling element
coupling = rs.CouplingElement(
m_l=mass_station, # Mass on the left station
m_r=mass_station, # Mass on the right station
Ip_l=Ip_station, # Polar moment of inertia on the left station
Ip_r=Ip_station, # Polar moment of inertia on the right station
kr_z=torsional_stiffness, # Torsional stiffness
)
# Combine all elements into a single list for the rotor model
shaft_elements = [*shaft1, coupling, *shaft2]
# Build the rotor, you can also add bearings, disks, ...
rotor = rs.Rotor(shaft_elements)
# Plot the rotor to visualize the configuration
rotor.plot_rotor() |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
how to assembly coupling into rotor? or how to use couplingelement? could you give me one axample?
Beta Was this translation helpful? Give feedback.
All reactions