Skip to content

Error in determining the unbalance response at the bearing supports position #1214

@Raimundovpn

Description

@Raimundovpn

I was analyzing the following rotor:

Image

To create the bearing supports, nodes are added to the rotor model. However, to determine the unbalance response at these nodes, the variable self.rotor.nodes_pos[node] is required. Since the bearing support nodes are not found in this variable, attempting to run the following code:

speed = Q_(np.arange(0, 3001, 5), "RPM").to('rad/s').m
n1 = 8
m1 = Q_(118672,'g.mm').to('kg.m').m 
p1 = Q_(0,'rad')
n2 = 16
m2 = Q_(118672,'g.mm').to('kg.m').m 
p2 = Q_(0,'rad')
nn = 4
damped_unb_resp_1st = rotor.run_unbalance_response(node=[n1, n2],
                                                   unbalance_magnitude=[m1, m2],
                                                   unbalance_phase= [p1, p2],  
                                                   frequency=speed)
damped_unb_resp_1st.plot_magnitude(
    probe=[#rs.Probe(node=nn, angle=Q_(0,'deg'),  tag="DE Probe x"),
           #rs.Probe(node=nn, angle=Q_(90,'deg'), tag="DE Probe y"),
            rs.Probe(node=31, angle="major", tag="NDE Probe major"),
            rs.Probe(node=32, angle="major", tag="DE Probe major"),
            # rs.Probe(node=31, angle="minor", tag="NDE Probe minor"),
            # rs.Probe(node=32, angle="minor", tag="DE Probe minor"),
            ],
    amplitude_units="mm/s pkpk",
    frequency_units="RPM",
)

Results in the following error:

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
Cell In[11], line 1
----> 1 damped_unb_resp_1st.plot_magnitude(
      2     probe=[#rs.Probe(node=nn, angle=Q_(0,'deg'),  tag="DE Probe x"),
      3            #rs.Probe(node=nn, angle=Q_(90,'deg'), tag="DE Probe y"),
      4             rs.Probe(node=31, angle="major", tag="NDE Probe major"),
      5             rs.Probe(node=32, angle="major", tag="DE Probe major"),
      6             # rs.Probe(node=31, angle="minor", tag="NDE Probe minor"),
      7             # rs.Probe(node=32, angle="minor", tag="DE Probe minor"),
      8             ],
      9     amplitude_units="mm/s pkpk",
     10     frequency_units="RPM",
     11 )

File d:\dev_git\frf\ross\ross\results.py:3510, in ForcedResponseResults.plot_magnitude(self, probe, probe_units, frequency_units, amplitude_units, fig, **kwargs)
   3465 def plot_magnitude(
   3466     self,
   3467     probe,
   (...)   3472     **kwargs,
   3473 ):
   3474     """Plot forced response (magnitude) using Plotly.
   3475 
   3476     Parameters
   (...)   3508         The figure object with the plot.
   3509     """
-> 3510     df = self.data_magnitude(probe, probe_units, frequency_units, amplitude_units)
   3512     if fig is None:
   3513         fig = go.Figure()

File d:\dev_git\frf\ross\ross\results.py:3351, in ForcedResponseResults.data_magnitude(self, probe, probe_units, frequency_units, amplitude_units)
   3346 except:
   3347     ru_e, rv_e = response[:, speed_idx][
   3348         self.rotor.number_dof * node -3: self.rotor.number_dof * node + 2 -3
   3349     ]
-> 3351 orbit = Orbit(node=node, node_pos=self.rotor.nodes_pos[node], ru_e=ru_e, rv_e=rv_e)
   3352 amp, phase = orbit.calculate_amplitude(angle=angle)
   3353 #amp, phase=self._calculate_amplitude_2(ru_e=ru_e, rv_e=rv_e,angle=angle)

IndexError: list index out of range
)

This was resolved with the change in the amplitude calculation function. The following figure compares the result of the new function with the one recorded by the report for the rotor in question.

Unbalance response for the 'major' from the report.

Image

Unbalance response given by the new function.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions