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
-
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