ross.PlainJournalResults#

class ross.PlainJournalResults(frequency, pressure_fields, temperature_fields, theta_grids, z_grids, P_nondim_fields, kxx, kxy, kyx, kyy, cxx, cxy, cyx, cyy, fxs_load, fys_load, n_pad, betha_s_dg, dtheta, thetaF, elements_axial, elements_circumferential, equilibrium_pos_by_speed, opt_results, exec_times, optimization_history, initial_time=None, final_time=None)#

Post-processing results for a PlainJournal bearing.

Parameters:
frequencyarray_like

Operating frequencies in rad/s.

pressure_fieldslist of ndarray, shape (elements_axial, circumferential_total)

Dimensional pressure fields at equilibrium, one per frequency (Pa).

temperature_fieldslist of ndarray, shape (elements_axial, circumferential_total)

Dimensional temperature fields at equilibrium, one per frequency (°C).

theta_gridslist of ndarray

Circumferential coordinate meshgrids, one per frequency (rad).

z_gridslist of ndarray

Axial coordinate meshgrids, one per frequency (m).

P_nondim_fieldslist of ndarray, shape (elements_axial, elements_circumferential, n_pad)

Non-dimensional pressure fields at equilibrium, one per frequency. Used by plot_pressure_distribution.

kxx, kxy, kyx, kyyndarray

Stiffness coefficients (N/m), one value per frequency.

cxx, cxy, cyx, cyyndarray

Damping coefficients (N·s/m), one value per frequency.

fxs_loadfloat

Applied load in the X direction (N).

fys_loadfloat

Applied load in the Y direction (N).

n_padint

Number of pads.

betha_s_dgfloat

Pad arc length in degrees.

dthetafloat

Circumferential mesh step (rad).

thetaFndarray

Pad end angles (rad), one per pad.

elements_axialint

Number of axial mesh elements.

elements_circumferentialint

Number of circumferential mesh elements per pad.

equilibrium_pos_by_speeddict

Mapping {speed_rad_s: equilibrium_position}.

opt_resultsdict

Mapping {speed_rad_s: scipy.OptimizeResult}.

exec_timesdict

Mapping {speed_rad_s: elapsed_seconds}.

optimization_historydict

Mapping {speed_rad_s: [residuals]}.

initial_timefloat, optional

Solver start epoch timestamp.

final_timefloat, optional

Solver end epoch timestamp.

Methods

__init__(frequency, pressure_fields, temperature_fields, theta_grids, z_grids, P_nondim_fields, kxx, kxy, kyx, kyy, cxx, cxy, cyx, cyy, fxs_load, fys_load, n_pad, betha_s_dg, dtheta, thetaF, elements_axial, elements_circumferential, equilibrium_pos_by_speed, opt_results, exec_times, optimization_history, initial_time=None, final_time=None)#
plot_bearing_representation(fig=None, rotation=90, **kwargs)#

Return a pie-chart representation of the bearing pad layout with load arrow.

Parameters:
figgo.Figure, optional

Existing figure to update.

rotationfloat, optional

Rotation of the pie chart in degrees. Default is 90.

Returns:
figgo.Figure
plot_pressure_2d(freq_index=0, fig=None, **kwargs)#

Return a 2-D contour plot of the pressure field (theta vs z).

Parameters:
freq_indexint, optional

Frequency index. Default is 0.

figgo.Figure, optional

Existing figure to add the trace to.

Returns:
figgo.Figure
plot_pressure_3d(freq_index=0, fig=None, **kwargs)#

Return a 3-D surface plot of the pressure field (theta vs z).

Parameters:
freq_indexint, optional

Frequency index. Default is 0.

figgo.Figure, optional

Existing figure to add the trace to.

Returns:
figgo.Figure
plot_pressure_distribution(freq_index=0, axial_element_index=None, fig=None, **kwargs)#

Return a 2-D radial pressure distribution plot around the bearing.

Arrows scaled by local pressure magnitude are plotted on the bearing circumference, one set of arrows per pad.

Parameters:
freq_indexint, optional

Frequency index to use for the pressure field. Default is 0.

axial_element_indexint, optional

Axial slice to plot. Defaults to the middle of the bearing.

figgo.Figure, optional

Existing figure to add traces to.

Returns:
figgo.Figure
plot_results(show_plots=False, freq_index=0)#

Generate and return all standard bearing result plots.

Calls the four abstract plot_* methods and collects their figures into a standardized dictionary. Subclasses may override this method to add bearing-specific figures while calling super().plot_results().

Parameters:
show_plotsbool, optional

When True each figure is displayed immediately via fig.show(). Default is False.

freq_indexint, optional

Index into the frequency array selecting which solved point to visualize. Default is 0 (first frequency).

Returns:
figuresdict

Dictionary with keys "pressure_2d", "pressure_3d", "temperature_2d", and "temperature_3d". Each value is a plotly.graph_objects.Figure.

plot_temperature_2d(freq_index=0, fig=None, **kwargs)#

Return a 2-D contour plot of the temperature field (theta vs z).

Parameters:
freq_indexint, optional

Frequency index. Default is 0.

figgo.Figure, optional

Existing figure to add the trace to.

Returns:
figgo.Figure
plot_temperature_3d(freq_index=0, fig=None, **kwargs)#

Return a 3-D surface plot of the temperature field (theta vs z).

Parameters:
freq_indexint, optional

Frequency index. Default is 0.

figgo.Figure, optional

Existing figure to add the trace to.

Returns:
figgo.Figure
show_coefficients_comparison()#

Print a table comparing the full 2×2 dynamic coefficient matrix across all frequencies.

Parameters:
None
Returns:
None
show_execution_time()#

Display the total solver execution time.

Parameters:
None
Returns:
None

Prints the elapsed time in seconds to the console.

show_optimization_convergence(by: str = 'value', show_plots: bool = False) None#

Display the optimization residuals per iteration for each speed.

Parameters:
bystr, optional

"index" — sort by frequency array index. "value" — sort by speed value (default).

show_plotsbool, optional

When True a convergence plot is shown for each speed. Default is False.

Returns:
None
show_results()#

Print a formatted summary of plain journal bearing results.

Iterates over all solved frequencies and prints a PrettyTable with operating conditions, load, equilibrium position, stiffness and damping coefficients, and optimization statistics.

Parameters:
None
Returns:
None