Contenuto principale

Bearing

R2026b

Bearing that provides trans-axial support to freely rotating shaft

Since R2023a

  • Bearing block icon

Libraries:
Simscape / Driveline / Couplings & Drives

Description

The Bearing block represents a ball- or roller-type bearing or a journal bearing. These bearings constrain a shaft in the transverse plane so the shaft may only rotate axially in the bearing. Bearings also contribute torque to the system due to friction. You can add bearing friction to a mechanical rotational network by connecting the network to only port B or by connecting the bearing in series with other components using ports B and F.

You can use either a constant or variable load on the bearing, F. When you set Radial load specification to Constant, the block uses the value of the Load on bearing parameter. When you set Radial load specification to Variable, the block takes a physical signal input from port Load and smooths the signal such that

F=(Finput2+FThr2)1/2,

where:

  • Finput is the physical signal input at the Load port.

  • FThr is the Force threshold parameter.

The block calculates the torque due to friction such that

Tf=μ⋅F⋅r,

where:

  • μ is the coefficient of friction.

  • Ff is the friction force acting on the bearing.

  • r is the Bearing radius parameter.

How the block calculates μ depends on the type of bearing that you simulate.

Ball- or Roller-Type Bearings

When you set Bearing type to Ball or Roller, the block calculates the overall friction coefficient depending on the Coefficient of friction specification parameter. When you set this parameter to Constant, the block calculates a constant coefficient of friction throughout the simulation. The block uses a hyperbolic tangent function to smooth the zero-crossing transition. When you set Coefficient of friction specification to Variable, the block uses a 1-D lookup table where μ functions with the angular velocity, ɷ such that

μ=tablelookup(ω⇀,μ⇀,ω,interpolation=interp_method_1,extrapolation=extrap_method_1),

where:

  • ω⇀ is the Bearing angular speed vector, N parameter.

  • μ⇀ is the Coefficient of friction, f(N) parameter.

The block uses linear interpolation and extrapolation by default. You can use the Interpolation method and Extrapolation method parameters to change the interpolation and extrapolation, respectively.

Journal Bearings

When you set Bearing type to Journal, the block uses the Hersey number a lookup table to define the coefficient of friction, such that

μ=tablelookup(H⇀⋅K,μ⇀⋅μmin,H,interpolation=interp_method_2,extrapolation=extrap_method_2),

where:

  • H⇀ is the optional Normalized Hersey number vector parameter.

  • μ⇀ is the optional Normalized viscous coefficient vector parameter.

  • K is the bearing modulus, which is the value of H where μmin occurs.

  • μmin is the Minimum coefficient of friction parameter.

The block defines the bearing characteristic number, or Hersey number, as

H=μωP,

where P is the bearing lubricant pressure such that

P=F2rl,

where r is the Radius parameter and l is the Length parameter.

Faults

To model a fault in the Bearing block, in the Faults section, click the Add fault hyperlink next to the fault that you want to model. For more information about fault modeling, see Fault Behavior Modeling and Fault Triggering.

When the block experiences a fault, it increases the bearing friction using the value of the Faulted damping coefficient multiplier parameter. When you trigger a fault, the block calculates the friction coefficient such that

μfault=μ⋅fault factor,

where fault factor is the Faulted damping coefficient multiplier parameter.

Assumptions and Limitations

The block assumes that the bearing lubricant is a Newtonian fluid with zero-slip boundary conditions.

Ports

Input

expand all

Physical signal input port associated with the load on the bearing, in N.

Dependencies

To enable this port, set Radial load specification to Variable.

Programmatic Use

Port: Force

Conserving

expand all

Mechanical rotational conserving port associated with the base end of the shaft.

Programmatic Use

Port: B

Mechanical rotational conserving port associated with the follower end of the shaft. This port maintains the same angular velocity as port B.

Dependencies

To enable this port, select Enable follower port.

Programmatic Use

Port: F

Mechanical rotational conserving port associated with the bearing casing. When this port is enabled, the block assumes the casing reference is stationary.

Dependencies

To enable this port, select Enable case port.

Programmatic Use

Port: C

Parameters

expand all

Mechanical Properties

Type of bearing that the block behaves as during the simulation.

Programmatic Use

Parameter: bearingType
Values: "sdl.enum.bearingType.BallRoller" | "sdl.enum.bearingType.Journal"

Whether to enable the follower port.

Programmatic Use

Parameter: enableFollower
Values: "true" | "false"

Whether to enable the case port.

Programmatic Use

Parameter: casing
Values: "true" | "false"

Radius of the interface between the bearing and the shaft.

Programmatic Use

Parameter: radius

Length of the interface between the bearing and the shaft.

Programmatic Use

Parameter: length

Whether the block uses a constant load or you specify a variable load using the Load port.

Programmatic Use

Parameter: loadType
Values: "foundation.enum.constant_variable.constant" | "foundation.enum.constant_variable.variable"

Constant load that the shaft imparts on the bearing.

Dependencies

To enable this parameter, set Radial load specification to Constant.

Programmatic Use

Parameter: load

Load threshold above which the block applies a load to the bearing.

Dependencies

To enable this parameter, set Radial load specification to Variable.

Programmatic Use

Parameter: F_thr

Angular velocity threshold above which the block applies bearing friction.

Dependencies

To enable this parameter, set Bearing type to Ball or Roller.

Programmatic Use

Parameter: w_thr

Whether the block coefficient is constant or varies with the bearing speed.

Dependencies

To enable this parameter, set Bearing type to Ball or Roller and Coefficient of friction specification to Constant.

Programmatic Use

Parameter: frictionType
Values: "foundation.enum.constant_variable.constant" | "foundation.enum.constant_variable.variable"

Constant coefficient of friction.

Dependencies

To enable this parameter, set Coefficient of friction specification to Constant.

Programmatic Use

Parameter: f_coeff

Method to use for lookup table breakpoint interpolation. The block uses the tablelookup function to model nonlinearity by using array data to map input values to output values:

  • Linear — Select this option for the lowest computational cost.

  • Smooth — Select this option to produce a continuous curve with continuous first-order derivatives.

For more information, see tablelookup.

Programmatic Use

Parameter: interp_method_1
Values: "simscape.enum.interpolation.linear" | "simscape.enum.interpolation.smooth"

Method to use for lookup table breakpoint extrapolation. This method determines the output value when the input value is outside the range specified in the argument list. The block uses the tablelookup function to model nonlinearity by using array data to map input values to output values:

  • Linear — Select this option to produce a curve with continuous first-order derivatives in the extrapolation region and at the boundary with the interpolation region.

  • Nearest — Select this option to produce an extrapolation that does not go above the highest point in the data or below the lowest point in the data.

  • Error — Select this option to avoid extrapolating when you want your data to be within the table range. If the input signal is outside the range of the table, the simulation stops and generates an error.

Programmatic Use

Parameter: extrap_method_1
Values: "simscape.enum.extrapolation.linear" | "simscape.enum.extrapolation.nearest" | "simscape.enum.extrapolation.error"

Bearing angular velocity.

Programmatic Use

Parameter: N_TLU

Coefficient of friction for a given bearing angular velocity. The elements in this vector must correspond one-to-one with the Bearing angular speed vector, ω parameter.

Programmatic Use

Parameter: f_coeff_TLU

Fluid Properties

To enable these parameters, set Bearing type to Journal.

Whether to customize the bearing friction curve.

Dependencies

To enable this parameter, set Bearing type to Journal.

Programmatic Use

Parameter: customizeFrictionCurve
Values: "true" | "false"

Dynamic viscosity of the bearing lubricant.

Dependencies

To enable this parameter, set Bearing type to Journal.

Programmatic Use

Parameter: mu

Lowest coefficient of friction the block uses for any angular velocity.

Dependencies

To enable this parameter, set Bearing type to Journal.

Programmatic Use

Parameter: visc_coeff_min

Journal bearing modulus.

Dependencies

To enable this parameter, set Bearing type to Journal and select Customize friction curve.

Programmatic Use

Parameter: bearingModulus

Normalized Hersey number.

Dependencies

To enable this parameter, set Bearing type to Journal and select Customize friction curve.

Programmatic Use

Parameter: muN_P_norm_TLU

Normalized viscous friction coefficients. The elements in this vector correspond one-to-one with the Normalized Hersey number vector parameter.

Dependencies

To enable this parameter, set Bearing type to Journal and select Customize friction curve.

Programmatic Use

Parameter: visc_coeff_norm_TLU

Method to use for lookup table breakpoint interpolation. The block uses the tablelookup function to model nonlinearity by using array data to map input values to output values:

  • Linear — Select this option for the lowest computational cost.

  • Smooth — Select this option to produce a continuous curve with continuous first-order derivatives.

For more information, see tablelookup.

Dependencies

To enable this parameter, set Bearing type to Journal and select Customize friction curve.

Programmatic Use

Parameter: interp_method_2
Values: "simscape.enum.interpolation.linear" | "simscape.enum.interpolation.smooth"

Method to use for lookup table breakpoint extrapolation. This method determines the output value when the input value is outside the range specified in the argument list. The block uses the tablelookup function to model nonlinearity by using array data to map input values to output values:

  • Linear — Select this option to produce a curve with continuous first-order derivatives in the extrapolation region and at the boundary with the interpolation region.

  • Nearest — Select this option to produce an extrapolation that does not go above the highest point in the data or below the lowest point in the data.

  • Error — Select this option to avoid extrapolating when you want your data to be within the table range. If the input signal is outside the range of the table, the simulation stops and generates an error.

Dependencies

To enable this parameter, set Bearing type to Journal and select Customize friction curve.

Programmatic Use

Parameter: extrap_method_2
Values: "simscape.enum.extrapolation.linear" | "simscape.enum.extrapolation.nearest" | "simscape.enum.extrapolation.error"

Faults

To modify the faults, create a fault and, in the block dialog, click Open fault properties. In the Property Inspector, click the Fault behavior link to open the faults.

Whether to model a fault in the bearing. To add a fault, click the Add fault hyperlink.

Damping coefficient when a fault is triggered.

Dependencies

To enable this parameter, enable faults for the block by clicking the Add fault hyperlink.

References

[1] Mckee, S. A., and T. R. Mckee. “Journal-Bearing Friction in the Region of Thin-Film Lubrication,” 320009, 1932. https://doi.org/10.4271/320009.

[2] Shigley, Joseph Edward, Charles R. Mischke, and Richard G. Budynas. Mechanical Engineering Design. 7th ed. McGraw-Hill Series in Mechanical Engineering. New York, NY: McGraw-Hill, 2004.

Extended Capabilities

expand all

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

HDL Code Generation
Generate VHDL, Verilog and SystemVerilog code for FPGA and ASIC designs using HDL Coder™.

Version History

Introduced in R2023a

expand all