ross.stochastic.ST_BearingElement
Contents
ross.stochastic.ST_BearingElement#
- class ross.stochastic.ST_BearingElement(n, kxx, cxx, mxx=None, kyy=None, kxy=0, kyx=0, cyy=None, cxy=0, cyx=0, myy=None, mxy=0, myx=0, frequency=None, tag=None, n_link=None, scale_factor=1, is_random=None)#
Random bearing element.
Creates an object containing a list with random instances of BearingElement.
Considering constant coefficients, use an 1-D array to make it random. Considering varying coefficients to the frequency, use a 2-D array to make it random (*see the Examples below).
- Parameters:
- n: int
Node which the bearing will be located in
- kxx: float, 1-D array, 2-D array
Direct stiffness in the x direction.
- cxx: float, 1-D array, 2-D array
Direct damping in the x direction.
- kyy: float, 1-D array, 2-D array, optional
Direct stiffness in the y direction. (defaults to kxx)
- kxy: float, 1-D array, 2-D array, optional
Cross coupled stiffness in the x direction. (defaults to 0)
- kyx: float, 1-D array, 2-D array, optional
Cross coupled stiffness in the y direction. (defaults to 0)
- cyy: float, 1-D array, 2-D array, optional
Direct damping in the y direction. (defaults to cxx)
- cxy: float, 1-D array, 2-D array, optional
Cross coupled damping in the x direction. (defaults to 0)
- cyx: float, 1-D array, 2-D array, optional
Cross coupled damping in the y direction. (defaults to 0)
- frequency: array, optional
Array with the frequencies (rad/s).
- tag: str, optional
A tag to name the element Default is None.
- n_link: int, optional
Node to which the bearing will connect. If None the bearing is connected to ground. Default is None.
- scale_factor: float, optional
The scale factor is used to scale the bearing drawing. Default is 1.
- is_randomlist
List of the object attributes to become stochastic. Possibilities:
[“kxx”, “kxy”, “kyx”, “kyy”, “cxx”, “cxy”, “cyx”, “cyy”]
- Attributes:
- elements_listlist
display the list with random bearing elements.
Methods
- __init__(n, kxx, cxx, mxx=None, kyy=None, kxy=0, kyx=0, cyy=None, cxy=0, cyx=0, myy=None, mxy=0, myx=0, frequency=None, tag=None, n_link=None, scale_factor=1, is_random=None)#
- classmethod from_fluid_flow(n, nz, ntheta, length, omega, p_in, p_out, radius_rotor, radius_stator, viscosity, density, attitude_angle=None, eccentricity=None, load=None, omegap=None, immediately_calculate_pressure_matrix_numerically=True, tag=None, n_link=None, scale_factor=1, is_random=None)#
Instantiate a bearing using inputs from its fluid flow.
- Parameters:
- nint
The node in which the bearing will be located in the rotor.
- is_randomlist
List of the object attributes to become random. Possibilities:
- [“length”, “omega”, “p_in”, “p_out”, “radius_rotor”,
“radius_stator”, “viscosity”, “density”, “attitude_angle”, “eccentricity”, “load”, “omegap”]
- tag: str, optional
A tag to name the element Default is None.
- n_link: int, optional
Node to which the bearing will connect. If None the bearing is connected to ground. Default is None.
- scale_factor: float, optional
The scale factor is used to scale the bearing drawing. Default is 1.
- Grid related
- ^^^^^^^^^^^^
- Describes the discretization of the problem
- nz: int
Number of points along the Z direction (direction of flow).
- ntheta: int
Number of points along the direction theta. NOTE: ntheta must be odd.
- nradius: int
Number of points along the direction r.
- length: float, list
Length in the Z direction (m). Input a list to make it random.
- Operation conditions
- ^^^^^^^^^^^^^^^^^^^^
- Describes the operation conditions.
- omega: float, list
Rotation of the rotor (rad/s). Input a list to make it random.
- p_in: float, list
Input Pressure (Pa). Input a list to make it random.
- p_out: float, list
Output Pressure (Pa). Input a list to make it random.
- load: float, list
Load applied to the rotor (N). Input a list to make it random.
- Geometric data of the problem
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Describes the geometric data of the problem.
- radius_rotor: float, list
Rotor radius (m). Input a list to make it random.
- radius_stator: float, list
Stator Radius (m). Input a list to make it random.
- eccentricity: float, list
Eccentricity (m) is the euclidean distance between rotor and stator centers. The center of the stator is in position (0,0). Input a list to make it random.
- Fluid characteristics
- ^^^^^^^^^^^^^^^^^^^^^
- Describes the fluid characteristics.
- viscosity: float, list
Viscosity (Pa.s). Input a list to make it random.
- density: float, list
Fluid density(Kg/m^3). Input a list to make it random.
- Returns:
- random bearing: srs.ST_BearingElement
A random bearing object.
Examples
>>> import numpy as np >>> import ross.stochastic as srs >>> nz = 8 >>> ntheta = 64 >>> length = 1.5 * 0.0254 >>> omega = [157.1, 300] >>> p_in = 0. >>> p_out = 0. >>> radius_rotor = 3 * 0.0254 >>> radius_stator = 3.003 * 0.0254 >>> viscosity = np.random.uniform(2.4e-03, 2.8e-03, 5) >>> density = 860 >>> load = 1244.1 >>> elms = srs.ST_BearingElement.from_fluid_flow( ... 0, nz=nz, ntheta=ntheta, length=length, ... omega=omega, p_in=p_in, p_out=p_out, radius_rotor=radius_rotor, ... radius_stator=radius_stator, viscosity=viscosity, density=density, ... load=load, is_random=["viscosity"] ... ) >>> len(list(iter(elms))) 5
- plot_random_var(var_list=None, histogram_kwargs=None, plot_kwargs=None)#
Plot histogram and the PDF.
This function creates a histogram to display the random variable distribution.
- Parameters:
- var_listlist, optional
List of random variables, in string format, to plot. Default is plotting all the random variables.
- histogram_kwargsdict, optional
Additional key word arguments can be passed to change the plotly.go.histogram (e.g. histnorm=”probability density”, nbinsx=20…). *See Plotly API to more information.
- plot_kwargsdict, optional
Additional key word arguments can be passed to change the plotly go.figure (e.g. line=dict(width=4.0, color=”royalblue”), opacity=1.0, …). *See Plotly API to more information.
- Returns:
- figPlotly graph_objects.Figure()
A figure with the histogram plots.
Examples
>>> import ross.stochastic as srs >>> elm = srs.st_bearing_example() >>> fig = elm.plot_random_var(["kxx"]) >>> # fig.show()
- random_var(is_random, *args)#
Generate a list of objects as random attributes.
This function creates a list of objects with random values for selected attributes from ross.BearingElement.
- Parameters:
- is_randomlist
List of the object attributes to become stochastic.
- *argsdict
Dictionary instanciating the ross.BearingElement class. The attributes that are supposed to be stochastic should be set as lists of random variables.
- Returns:
- f_listgenerator
Generator of random objects.