Bearings#

class AngularContactBallBearing(**kwds)#

Creates an analytical bearing that overtakes radial and axial loads in one direction.

The bearing is defined by the following dimensions:

Geometry of an angular contact ball bearing.

Angular Contact Ball Bearing Geometry.#

Example

Connect two parts with an angular contact ball bearing.#
from msolve import *
from msolve.machinery.bearings.bearings import AngularContactBallBearing

model = Model(output="angular_contact_ball_bearing")

ground = Part(ground=True)
global_ref = Marker(body=ground)

Units(mass="KILOGRAM", length="MILLIMETER", time="SECOND", force="NEWTON")
Accgrav(kgrav=-9.81)

marker_0 = Marker(body=ground, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])

part_0 = Part(ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[0,0,0], zv=[0,0,1], xv=[1,0,0]))

jt_bearing_rev = Joint(type="REVOLUTE", i=part_0.cm.id, j=global_ref.id)

mot_driver = Motion(joint=jt_bearing_rev.id, dtype="VELOCITY", icdisp=0.0, function="STEP(TIME,0,0,1,1)")

acbb = AngularContactBallBearing(rm=marker_0, inner_connection_part=part_0, outer_connection_part=ground,
                                 contact_angle=5.0, inner_diameter=100.0,
                                 number_of_rollers=20, outer_diameter=180.0, pitch_diameter=140.0,
                                 roller_diameter=20.0, width=40.0)

Name

Type

Symbol

Required

Default

Modifiable

active

Bool

True

\(\checkmark\)

bearing_clearance

Double

0.0

bearing_density

Double

contact_angle

Double

\(a0\)

\(\checkmark\)

contact_length_a

Double

\(a\)

damping_force

Bool

True

damping_ratio

Double

0.1

external_connection

Bool

False

friction_torque

Bool

False

id

Int

Auto

inner_connection_flex_body

Reference - FlexBody

inner_connection_flex_node

Int

inner_connection_part

Reference - Part

inner_density

Double

inner_diameter

Double

\(d\)

\(\checkmark\)

inner_race_conformity

Double

0.52

inner_shoulder_diameter_1

Double

\(d1\)

inner_shoulder_diameter_2

Double

\(d2\)

label

Str

lubricant_viscosity

Double

0.0

lubrication_method

Enum

grease

na

Int

60

name

Str

nc

Int

6

no

Int

2

number_of_rollers

Int

\(\checkmark\)

outer_connection_flex_body

Reference - FlexBody

outer_connection_flex_node

Int

outer_connection_part

Reference - Part

outer_density

Double

outer_diameter

Double

\(D\)

\(\checkmark\)

outer_race_conformity

Double

0.53

outer_shoulder_diameter_1

Double

\(D1\)

output_rm

Reference - Marker

pitch_diameter

Double

\(dp\)

\(\checkmark\)

poisson_ratio

Double

rm

Reference - Marker

\(\checkmark\)

roller_density

Double

roller_diameter

Double

\(dr\)

\(\checkmark\)

roller_pass_frequency

Bool

True

rollers_force_graphics

Bool

False

simplified_graphics

Bool

False

static_load_rating

Double

0.0

transition_velocity

Double

0.1

vec_gra_scale

Double

1.0

width

Double

\(b\)

\(\checkmark\)

young_modulus

Double

active#

Defines the state of the object.

Type=Bool, Default=True, Modifiable

bearing_clearance#

The bearing clearance of the bearing.

Type=Double, Default=0.0

bearing_density#

The bearing elements density.

See Comment 2.

Type=Double

contact_angle#

The contact angle of the bearing, defined in degrees [deg].

Type=Double, Required

contact_length_a#

The distance from the one face of the bearing to intersection point of rolling elements contact line and bearing axis.

Type=Double

damping_force#

A flag that activates damping force.

Type=Bool, Default=True

damping_ratio#

The damping factor of the bearing. Used only when damping_force flag is True.

Type=Double, Default=0.1

external_connection#

A flag that allows to apply external connection to ring parts. The validation is ignored when this flag is activated.

Type=Bool, Default=False

friction_torque#

A flag that activates friction torque.

Type=Bool, Default=False

id#

The id of the object.

Type=Int

inner_connection_flex_body#

The connection flex body to the inner ring part.

Type=Reference (FlexBody)

inner_connection_flex_node#

The connection flex node to the inner ring part.

Type=Int

inner_connection_part#

The Part that is connected to the inner ring.

See Comment 1.

Type=Reference (Part)

inner_density#

The inner ring density. Default value calculated in [kg/mm^3].

Type=Double

inner_diameter#

The inner diameter of the bearing.

Type=Double, Required

inner_race_conformity#

The inner race conformity (fi) expresses the relation between the rolling element diameter (dr) and the inner raceway groove radius (ri).

fi = ri/dr, 0.51 < fi < 0.54

Type=Double, Default=0.52

inner_shoulder_diameter_1#

The big shoulder diameter of inner ring.

Type=Double

inner_shoulder_diameter_2#

The small shoulder diameter of inner ring.

Type=Double

label#

The label of the composite element.

Type=Str

lubricant_viscosity#

The viscosity of the bearing lubricant. Measured in [cSt]. Used only when friction_torque flag is True.

Type=Double, Default=0.0

lubrication_method#

The lubrication method of the bearing. Used only when friction_torque flag is True.

Type=Enum, Default=grease

Permitted values are:

  • grease

  • oil_bath

  • oil_jet

  • oil_mist

na#

Parameter that defines the number of nodes in the perimeter of rings graphics.

Type=Int, Default=60

name#

Defines a nametag for the object.

Type=Str

nc#

Parameter that defines the number of nodes in the raceway of rings graphics.

Type=Int, Default=6

no#

Parameter that defines the number of nodes in the width of rings graphics.

Type=Int, Default=2

number_of_rollers#

The number of rollers at the bearing in a single row.

Type=Int, Required

outer_connection_flex_body#

The connection flex body to the outer ring part.

Type=Reference (FlexBody)

outer_connection_flex_node#

The connection flex node to the outer ring part.

Type=Int

outer_connection_part#

The Part that is connected to the outer ring.

See Comment 1.

Type=Reference (Part)

outer_density#

The outer ring density. Default value calculated in [kg/mm^3].

Type=Double

outer_diameter#

The outer diameter of the bearing.

Type=Double, Required

outer_race_conformity#

The outer race conformity (fo) expresses the relation between the rolling element diameter (dr) and the outer raceway groove radius (ro).

fo = ro/dr, 0.51 < fo < 0.54

Type=Double, Default=0.53

outer_shoulder_diameter_1#

The small shoulder diameter of outer ring.

Type=Double

output_rm#

The Marker in which the results are written.

Type=Reference (Marker)

pitch_diameter#

The pitch diameter of the bearing.

Type=Double, Required

poisson_ratio#

The poisson ratio of the bearing elements (rings and rollers).

See Comment 2.

Type=Double

rm#

The reference marker of the composite element.

Type=Reference (Marker), Required

roller_density#

The rolling elements density. Cage part mass/inertia properties are calculated from rolling elements.

Type=Double

roller_diameter#

The roller diameter of the bearing.

Type=Double, Required

roller_pass_frequency#

A flag that defines that the rollers are rotated by the roller pass frequency in the theoretical force calculation.

Type=Bool, Default=True

rollers_force_graphics#

A flag that generates force vectors graphics on the rolling elements.

Type=Bool, Default=False

simplified_graphics#

A flag that activates simplified graphic representation of the bearing.

Type=Bool, Default=False

static_load_rating#

The static load rating of the bearing. Used only in friction torque calculation

Type=Double, Default=0.0

transition_velocity#

The angular velocity which defines the transition phase of the friction torque. Measured in [rad/sec].

Type=Double, Default=0.1

vec_gra_scale#

A scale that defines the size of the output rollers force graphics.

For default value 1.0, the vector length will be 3 * pitch_diameter,when the displacement of the bearing is 0.01 * roller_diameter.

Type=Double, Default=1.0

width#

The width of the bearing.

Type=Double, Required

young_modulus#

Young’s modulus of the bearing elements (rings and rollers). The default value is calculated in [N/mm^2].

See Comment 2.

Type=Double

class CylindricalRollerBearing(**kwds)#

Creates an analytical bearing that overtakes the primary radial load.

The bearing is defined by the following dimensions:

Geometry of a cylindrical roller bearing.

Cylindrical Roller Bearing Geometry.#

Example

Connect two parts with a cylindrical roller bearing.#
from msolve import *
from msolve.machinery.bearings.bearings import CylindricalRollerBearing

model = Model(output="cylindrical_roller_bearing")

ground = Part(ground=True)
global_ref = Marker(body=ground)

Units(mass="KILOGRAM", length="MILLIMETER", time="SECOND", force="NEWTON")
Accgrav(kgrav=-9.81)

marker_0 = Marker(body=ground, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])

part_0 = Part(ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[0,0,0], zv=[0,0,1], xv=[1,0,0]))

jt_bearing_rev = Joint(type="REVOLUTE", i=part_0.cm.id, j=global_ref.id)

mot_driver = Motion(joint=jt_bearing_rev.id, dtype="VELOCITY", icdisp=0.0, function="STEP(TIME,0,0,1,1)")

crb = CylindricalRollerBearing(rm=marker_0, inner_connection_part=part_0, outer_connection_part=ground,
                               effective_roller_length=32.0, inner_diameter=100.0,
                               number_of_rollers=20, outer_diameter=180.0, pitch_diameter=140.0,
                               roller_diameter=20.0, roller_length=34.0, width=45.0)

Name

Type

Symbol

Required

Default

Modifiable

active

Bool

True

\(\checkmark\)

axial_constraint

Bool

False

bearing_clearance

Double

0.0

bearing_density

Double

contact_angle

Double

\(a0\)

0.0

damping_force

Bool

True

damping_ratio

Double

0.1

effective_roller_length

Double

\(\checkmark\)

external_connection

Bool

False

friction_torque

Bool

False

id

Int

Auto

inner_connection_flex_body

Reference - FlexBody

inner_connection_flex_node

Int

inner_connection_part

Reference - Part

inner_density

Double

inner_diameter

Double

\(d\)

\(\checkmark\)

inner_shoulder_diameter

Double

label

Str

lubricant_viscosity

Double

0.0

lubrication_method

Enum

grease

na

Int

60

name

Str

nc

Int

6

no

Int

2

number_of_rollers

Int

\(\checkmark\)

outer_connection_flex_body

Reference - FlexBody

outer_connection_flex_node

Int

outer_connection_part

Reference - Part

outer_density

Double

outer_diameter

Double

\(D\)

\(\checkmark\)

outer_shoulder_diameter

Double

output_rm

Reference - Marker

pitch_diameter

Double

\(dp\)

\(\checkmark\)

rm

Reference - Marker

\(\checkmark\)

roller_density

Double

roller_diameter

Double

\(dr\)

\(\checkmark\)

roller_length

Double

\(L\)

\(\checkmark\)

roller_pass_frequency

Bool

True

rollers_force_graphics

Bool

False

simplified_graphics

Bool

False

transition_velocity

Double

0.1

vec_gra_scale

Double

1.0

width

Double

\(b\)

\(\checkmark\)

active#

Defines the state of the object.

Type=Bool, Default=True, Modifiable

axial_constraint#

A flag that activates an axial constraint in CRBs to model ribs axial stiffness

Type=Bool, Default=False

bearing_clearance#

The bearing clearance of the bearing.

Type=Double, Default=0.0

bearing_density#

The bearing elements density.

See Comment 2.

Type=Double

contact_angle#

The contact angle of the bearing.

Type=Double, Default=0.0

damping_force#

A flag that activates damping force.

Type=Bool, Default=True

damping_ratio#

The damping factor of the bearing. Used only when damping_force flag is True.

Type=Double, Default=0.1

effective_roller_length#

The effective length of the rolling elements. Where the contact occurs.

Type=Double, Required

external_connection#

A flag that allows to apply external connection to ring parts. The validation is ignored when this flag is activated.

Type=Bool, Default=False

friction_torque#

A flag that activates friction torque.

Type=Bool, Default=False

id#

The id of the object.

Type=Int

inner_connection_flex_body#

The connection flex body to the inner ring part.

Type=Reference (FlexBody)

inner_connection_flex_node#

The connection flex node to the inner ring part.

Type=Int

inner_connection_part#

The Part that is connected to the inner ring.

See Comment 1.

Type=Reference (Part)

inner_density#

The inner ring density. Default value calculated in [kg/mm^3].

Type=Double

inner_diameter#

The inner diameter of the bearing.

Type=Double, Required

inner_shoulder_diameter#

The shoulder diameter of the inner ring.

Type=Double

label#

The label of the composite element.

Type=Str

lubricant_viscosity#

The viscosity of the bearing lubricant. Measured in [cSt]. Used only when friction_torque flag is True.

Type=Double, Default=0.0

lubrication_method#

The lubrication method of the bearing. Used only when friction_torque flag is True.

Type=Enum, Default=grease

Permitted values are:

  • grease

  • oil_bath

  • oil_jet

  • oil_mist

na#

Parameter that defines the number of nodes in the perimeter of rings graphics.

Type=Int, Default=60

name#

Defines a nametag for the object.

Type=Str

nc#

Parameter that defines the number of nodes in the raceway of rings graphics.

Type=Int, Default=6

no#

Parameter that defines the number of nodes in the width of rings graphics.

Type=Int, Default=2

number_of_rollers#

The number of rollers at the bearing in a single row.

Type=Int, Required

outer_connection_flex_body#

The connection flex body to the outer ring part.

Type=Reference (FlexBody)

outer_connection_flex_node#

The connection flex node to the outer ring part.

Type=Int

outer_connection_part#

The Part that is connected to the outer ring.

See Comment 1.

Type=Reference (Part)

outer_density#

The outer ring density. Default value calculated in [kg/mm^3].

Type=Double

outer_diameter#

The outer diameter of the bearing.

Type=Double, Required

outer_shoulder_diameter#

The shoulder diameter of the outer ring.

Type=Double

output_rm#

The Marker in which the results are written.

Type=Reference (Marker)

pitch_diameter#

The pitch diameter of the bearing.

Type=Double, Required

rm#

The reference marker of the composite element.

Type=Reference (Marker), Required

roller_density#

The rolling elements density. Cage part mass/inertia properties are calculated from rolling elements.

Type=Double

roller_diameter#

The roller diameter of the bearing.

Type=Double, Required

roller_length#

The length of the rolling elements.

Type=Double, Required

roller_pass_frequency#

A flag that defines that the rollers are rotated by the roller pass frequency in the theoretical force calculation.

Type=Bool, Default=True

rollers_force_graphics#

A flag that generates force vectors graphics on the rolling elements.

Type=Bool, Default=False

simplified_graphics#

A flag that activates simplified graphic representation of the bearing.

Type=Bool, Default=False

transition_velocity#

The angular velocity which defines the transition phase of the friction torque. Measured in [rad/sec].

Type=Double, Default=0.1

vec_gra_scale#

A scale that defines the size of the output rollers force graphics.

For default value 1.0, the vector length will be 3 * pitch_diameter,when the displacement of the bearing is 0.01 * roller_diameter.

Type=Double, Default=1.0

width#

The width of the bearing.

Type=Double, Required

class DeepGrooveBallBearing(**kwds)#

Creates an analytical bearing that overtakes the radial and axial loads in both directions.

The bearing is defined by the following dimensions:

Geometry of a deep groove ball bearing.

Deep Groove Ball Bearing Geometry.#

Example

Connect two parts with a deep groove ball bearing.#
from msolve import *
from msolve.machinery.bearings.bearings import DeepGrooveBallBearing

model = Model(output="deep_groove_ball_bearing")

ground = Part(ground=True)
global_ref = Marker(body=ground)

Units(mass="KILOGRAM", length="MILLIMETER", time="SECOND", force="NEWTON")
Accgrav(kgrav=-9.81)

marker_0 = Marker(body=ground, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])

part_0 = Part(ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[0,0,0], zv=[0,0,1], xv=[1,0,0]))

jt_bearing_rev = Joint(type="REVOLUTE", i=part_0.cm.id, j=global_ref.id)

mot_driver = Motion(joint=jt_bearing_rev.id, dtype="VELOCITY", icdisp=0.0, function="STEP(TIME,0,0,1,1)")

dgbb = DeepGrooveBallBearing(rm=marker_0, inner_connection_part=part_0, outer_connection_part=ground,
                             inner_diameter=100.0, number_of_rollers=20, outer_diameter=180.0,
                             pitch_diameter=140.0, roller_diameter=20.0, width=45.0)

Name

Type

Symbol

Required

Default

Modifiable

active

Bool

True

\(\checkmark\)

bearing_clearance

Double

0.0

bearing_density

Double

contact_angle

Double

\(a0\)

0.0

damping_force

Bool

True

damping_ratio

Double

0.1

external_connection

Bool

False

friction_torque

Bool

False

id

Int

Auto

inner_connection_flex_body

Reference - FlexBody

inner_connection_flex_node

Int

inner_connection_part

Reference - Part

inner_density

Double

inner_diameter

Double

\(d\)

\(\checkmark\)

inner_race_conformity

Double

0.52

inner_shoulder_diameter

Double

label

Str

lubricant_viscosity

Double

0.0

lubrication_method

Enum

grease

na

Int

60

name

Str

nc

Int

6

no

Int

2

number_of_rollers

Int

\(\checkmark\)

outer_connection_flex_body

Reference - FlexBody

outer_connection_flex_node

Int

outer_connection_part

Reference - Part

outer_density

Double

outer_diameter

Double

\(D\)

\(\checkmark\)

outer_race_conformity

Double

0.53

outer_shoulder_diameter

Double

output_rm

Reference - Marker

pitch_diameter

Double

\(dp\)

\(\checkmark\)

poisson_ratio

Double

rm

Reference - Marker

\(\checkmark\)

roller_density

Double

roller_diameter

Double

\(dr\)

\(\checkmark\)

roller_pass_frequency

Bool

True

rollers_force_graphics

Bool

False

simplified_graphics

Bool

False

static_load_rating

Double

0.0

transition_velocity

Double

0.1

vec_gra_scale

Double

1.0

width

Double

\(b\)

\(\checkmark\)

young_modulus

Double

active#

Defines the state of the object.

Type=Bool, Default=True, Modifiable

bearing_clearance#

The bearing clearance of the bearing.

Type=Double, Default=0.0

bearing_density#

The bearing elements density.

See Comment 2.

Type=Double

contact_angle#

The contact angle of the bearing.

Type=Double, Default=0.0

damping_force#

A flag that activates damping force.

Type=Bool, Default=True

damping_ratio#

The damping factor of the bearing. Used only when damping_force flag is True.

Type=Double, Default=0.1

external_connection#

A flag that allows to apply external connection to ring parts. The validation is ignored when this flag is activated.

Type=Bool, Default=False

friction_torque#

A flag that activates friction torque.

Type=Bool, Default=False

id#

The id of the object.

Type=Int

inner_connection_flex_body#

The connection flex body to the inner ring part.

Type=Reference (FlexBody)

inner_connection_flex_node#

The connection flex node to the inner ring part.

Type=Int

inner_connection_part#

The Part that is connected to the inner ring.

See Comment 1.

Type=Reference (Part)

inner_density#

The inner ring density. Default value calculated in [kg/mm^3].

Type=Double

inner_diameter#

The inner diameter of the bearing.

Type=Double, Required

inner_race_conformity#

The inner race conformity (fi) expresses the relation between the rolling element diameter (dr) and the inner raceway groove radius (ri).

fi = ri/dr, 0.51 < fi < 0.54

Type=Double, Default=0.52

inner_shoulder_diameter#

The inner shoulder diameter of the bearing.

Type=Double

label#

The label of the composite element.

Type=Str

lubricant_viscosity#

The viscosity of the bearing lubricant. Measured in [cSt]. Used only when friction_torque flag is True.

Type=Double, Default=0.0

lubrication_method#

The lubrication method of the bearing. Used only when friction_torque flag is True.

Type=Enum, Default=grease

Permitted values are:

  • grease

  • oil_bath

  • oil_jet

  • oil_mist

na#

Parameter that defines the number of nodes in the perimeter of rings graphics.

Type=Int, Default=60

name#

Defines a nametag for the object.

Type=Str

nc#

Parameter that defines the number of nodes in the raceway of rings graphics.

Type=Int, Default=6

no#

Parameter that defines the number of nodes in the width of rings graphics.

Type=Int, Default=2

number_of_rollers#

The number of rollers at the bearing in a single row.

Type=Int, Required

outer_connection_flex_body#

The connection flex body to the outer ring part.

Type=Reference (FlexBody)

outer_connection_flex_node#

The connection flex node to the outer ring part.

Type=Int

outer_connection_part#

The Part that is connected to the outer ring.

See Comment 1.

Type=Reference (Part)

outer_density#

The outer ring density. Default value calculated in [kg/mm^3].

Type=Double

outer_diameter#

The outer diameter of the bearing.

Type=Double, Required

outer_race_conformity#

The outer race conformity (fo) expresses the relation between the rolling element diameter (dr) and the outer raceway groove radius (ro).

fo = ro/dr, 0.51 < fo < 0.54

Type=Double, Default=0.53

outer_shoulder_diameter#

The outer shoulder diameter of the bearing.

Type=Double

output_rm#

The Marker in which the results are written.

Type=Reference (Marker)

pitch_diameter#

The pitch diameter of the bearing.

Type=Double, Required

poisson_ratio#

The poisson ratio of the bearing elements (rings and rollers).

See Comment 2.

Type=Double

rm#

The reference marker of the composite element.

Type=Reference (Marker), Required

roller_density#

The rolling elements density. Cage part mass/inertia properties are calculated from rolling elements.

Type=Double

roller_diameter#

The roller diameter of the bearing.

Type=Double, Required

roller_pass_frequency#

A flag that defines that the rollers are rotated by the roller pass frequency in the theoretical force calculation.

Type=Bool, Default=True

rollers_force_graphics#

A flag that generates force vectors graphics on the rolling elements.

Type=Bool, Default=False

simplified_graphics#

A flag that activates simplified graphic representation of the bearing.

Type=Bool, Default=False

static_load_rating#

The static load rating of the bearing. Used only in friction torque calculation

Type=Double, Default=0.0

transition_velocity#

The angular velocity which defines the transition phase of the friction torque. Measured in [rad/sec].

Type=Double, Default=0.1

vec_gra_scale#

A scale that defines the size of the output rollers force graphics.

For default value 1.0, the vector length will be 3 * pitch_diameter,when the displacement of the bearing is 0.01 * roller_diameter.

Type=Double, Default=1.0

width#

The width of the bearing.

Type=Double, Required

young_modulus#

Young’s modulus of the bearing elements (rings and rollers). The default value is calculated in [N/mm^2].

See Comment 2.

Type=Double

class SphericalRollerBearing(**kwds)#
Creates an analytical bearing that overtakes the radial and axial loads in both directions.

This bearing cannot overtake any tilting moments.

The bearing is defined by the following dimensions:

Geometry of a spherical roller bearing.

Spherical Roller Bearing Geometry.#

Example

Connect two parts with a spherical roller bearing.#
from msolve import *
from msolve.machinery.bearings.bearings import SphericalRollerBearing

model = Model(output="spherical_roller_bearing")

ground = Part(ground=True)
global_ref = Marker(body=ground)

Units(mass="KILOGRAM", length="MILLIMETER", time="SECOND", force="NEWTON")
Accgrav(kgrav=-9.81)

marker_0 = Marker(body=ground, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])

part_0 = Part(ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[0,0,0], zv=[0,0,1], xv=[1,0,0]))

jt_bearing_rev = Joint(type="REVOLUTE", i=part_0.cm.id, j=global_ref.id)

mot_driver = Motion(joint=jt_bearing_rev.id, dtype="VELOCITY", icdisp=0.0, function="STEP(TIME,0,0,1,1)")

srb = SphericalRollerBearing(rm=marker_0, inner_connection_part=part_0, outer_connection_part=ground,
                          inner_diameter=100.0, number_of_rollers=15, outer_diameter=205.0,
                          pitch_diameter=140.0, roller_contour_radius=25.0, roller_diameter=30.0,
                          roller_length=9.0, width=50.0, contact_angle=5.0)

Name

Type

Symbol

Required

Default

Modifiable

active

Bool

True

\(\checkmark\)

angular_offset

Double

0.0

bearing_clearance

Double

0.0

bearing_density

Double

calculation_factor_y0

Double

0.0

contact_angle

Double

\(a0\)

0.0

damping_force

Bool

True

damping_ratio

Double

0.1

external_connection

Bool

False

friction_torque

Bool

False

id

Int

Auto

inner_connection_flex_body

Reference - FlexBody

inner_connection_flex_node

Int

inner_connection_part

Reference - Part

inner_density

Double

inner_diameter

Double

\(d\)

\(\checkmark\)

inner_race_conformity

Double

0.52

inner_shoulder_diameter

Double

label

Str

lubricant_viscosity

Double

0.0

lubrication_method

Enum

grease

na

Int

60

name

Str

nc

Int

6

no

Int

2

number_of_rollers

Int

\(\checkmark\)

outer_connection_flex_body

Reference - FlexBody

outer_connection_flex_node

Int

outer_connection_part

Reference - Part

outer_density

Double

outer_diameter

Double

\(D\)

\(\checkmark\)

outer_race_conformity

Double

0.53

outer_shoulder_diameter

Double

output_rm

Reference - Marker

pitch_diameter

Double

\(dp\)

\(\checkmark\)

poisson_ratio

Double

0.3

rm

Reference - Marker

\(\checkmark\)

roller_contour_radius

Double

\(rs\)

\(\checkmark\)

roller_density

Double

roller_diameter

Double

\(dr\)

\(\checkmark\)

roller_length

Double

\(L\)

\(\checkmark\)

roller_pass_frequency

Bool

True

rollers_force_graphics

Bool

False

simplified_graphics

Bool

False

transition_velocity

Double

0.1

vec_gra_scale

Double

1.0

width

Double

\(b\)

\(\checkmark\)

young_modulus

Double

210000

active#

Defines the state of the object.

Type=Bool, Default=True, Modifiable

angular_offset#

This parameter specifies the angular offset between the two rows of the rolling elements. It is measure of asymmetry in SRBs.

Type=Double, Default=0.0

bearing_clearance#

The bearing clearance of the bearing.

Type=Double, Default=0.0

bearing_density#

The bearing elements density.

See Comment 2.

Type=Double

calculation_factor_y0#

This parameter defines the calculation factor Y0 for the SRB, where:

\(P0 = Fr + Y0 · Fa\) is the basic static equivalent radial load.

Used only for the friction torque calculation.

Type=Double, Default=0.0

contact_angle#

The contact angle of the bearing.

Type=Double, Default=0.0

damping_force#

A flag that activates damping force.

Type=Bool, Default=True

damping_ratio#

The damping factor of the bearing. Used only when damping_force flag is True.

Type=Double, Default=0.1

external_connection#

A flag that allows to apply external connection to ring parts. The validation is ignored when this flag is activated.

Type=Bool, Default=False

friction_torque#

A flag that activates friction torque.

Type=Bool, Default=False

id#

The id of the object.

Type=Int

inner_connection_flex_body#

The connection flex body to the inner ring part.

Type=Reference (FlexBody)

inner_connection_flex_node#

The connection flex node to the inner ring part.

Type=Int

inner_connection_part#

The Part that is connected to the inner ring.

See Comment 1.

Type=Reference (Part)

inner_density#

The inner ring density. Default value calculated in [kg/mm^3].

Type=Double

inner_diameter#

The inner diameter of the bearing.

Type=Double, Required

inner_race_conformity#

The inner race conformity (fi) expresses the relation between the rolling element diameter (dr) and the inner raceway groove radius (ri).

fi = ri/dr, 0.51 < fi < 0.54

Type=Double, Default=0.52

inner_shoulder_diameter#

The inner shoulder diameter of the bearing.

Type=Double

label#

The label of the composite element.

Type=Str

lubricant_viscosity#

The viscosity of the bearing lubricant. Measured in [cSt]. Used only when friction_torque flag is True.

Type=Double, Default=0.0

lubrication_method#

The lubrication method of the bearing. Used only when friction_torque flag is True.

Type=Enum, Default=grease

Permitted values are:

  • grease

  • oil_bath

  • oil_jet

  • oil_mist

na#

Parameter that defines the number of nodes in the perimeter of rings graphics.

Type=Int, Default=60

name#

Defines a nametag for the object.

Type=Str

nc#

Parameter that defines the number of nodes in the raceway of rings graphics.

Type=Int, Default=6

no#

Parameter that defines the number of nodes in the width of rings graphics.

Type=Int, Default=2

number_of_rollers#

The number of rollers at the bearing in a single row.

Type=Int, Required

outer_connection_flex_body#

The connection flex body to the outer ring part.

Type=Reference (FlexBody)

outer_connection_flex_node#

The connection flex node to the outer ring part.

Type=Int

outer_connection_part#

The Part that is connected to the outer ring.

See Comment 1.

Type=Reference (Part)

outer_density#

The outer ring density. Default value calculated in [kg/mm^3].

Type=Double

outer_diameter#

The outer diameter of the bearing.

Type=Double, Required

outer_race_conformity#

The outer race conformity (fo) expresses the relation between the rolling element diameter (dr) and the outer raceway groove radius (ro).

fo = ro/dr, 0.51 < fo < 0.54

Type=Double, Default=0.53

outer_shoulder_diameter#

The inner shoulder diameter of the bearing.

Type=Double

output_rm#

The Marker in which the results are written.

Type=Reference (Marker)

pitch_diameter#

The pitch diameter of the bearing.

Type=Double, Required

poisson_ratio#

The poisson ratio of the bearing elements (rings and rollers).

See Comment 2.

Type=Double, Default=0.3

rm#

The reference marker of the composite element.

Type=Reference (Marker), Required

roller_contour_radius#

The rolling element contour radius.

Type=Double, Required

roller_density#

The rolling elements density. Cage part mass/inertia properties are calculated from rolling elements.

Type=Double

roller_diameter#

The roller diameter of the bearing.

Type=Double, Required

roller_length#

The length of the rolling elements.

Type=Double, Required

roller_pass_frequency#

A flag that defines that the rollers are rotated by the roller pass frequency in the theoretical force calculation.

Type=Bool, Default=True

rollers_force_graphics#

A flag that generates force vectors graphics on the rolling elements.

Type=Bool, Default=False

simplified_graphics#

A flag that activates simplified graphic representation of the bearing.

Type=Bool, Default=False

transition_velocity#

The angular velocity which defines the transition phase of the friction torque. Measured in [rad/sec].

Type=Double, Default=0.1

vec_gra_scale#

A scale that defines the size of the output rollers force graphics.

For default value 1.0, the vector length will be 3 * pitch_diameter,when the displacement of the bearing is 0.01 * roller_diameter.

Type=Double, Default=1.0

width#

The width of the bearing.

Type=Double, Required

young_modulus#

The young modulus of the bearing elements (rings and rollers). The default value is calculated in [N/mm^2]

See Comment 2.

Type=Double, Default=210000

class TaperedRollerBearing(**kwds)#

Creates an analytical bearing that overtakes the radial and axial loads in one direction.

The bearing is defined by the following dimensions:

Geometry of a tapered roller bearing.

Tapered Roller Bearing Geometry.#

Example

Connect two parts with a tapered roller bearing.#
from msolve import *
from msolve.machinery.bearings.bearings import TaperedRollerBearing

model = Model(output="tapered_roller_bearing")

ground = Part(ground=True)
global_ref = Marker(body=ground)

Units(mass="KILOGRAM", length="MILLIMETER", time="SECOND", force="NEWTON")
Accgrav(kgrav=-9.81)

marker_0 = Marker(body=ground, qp=[0,0,0], zv=[0,0,1], xv=[1,0,0])

part_0 = Part(ip=[5,5,5,0,0,0], mass=0.001, cm=Marker(qp=[0,0,0], zv=[0,0,1], xv=[1,0,0]))

jt_bearing_rev = Joint(type="REVOLUTE", i=part_0.cm.id, j=global_ref.id)

mot_driver = Motion(joint=jt_bearing_rev.id, dtype="VELOCITY", icdisp=0.0, function="STEP(TIME,0,0,1,1)")

trb = TaperedRollerBearing(rm=marker_0, inner_connection_part=part_0, outer_connection_part=ground,
                           inner_diameter=110.0, number_of_rollers=20, outer_diameter=200.0,
                           pitch_diameter=150.0, roller_diameter=24.0, roller_length=37.0,
                           effective_roller_length=34.0, contact_angle=15.0, width_t=50.0)

Name

Type

Symbol

Required

Default

Modifiable

active

Bool

True

\(\checkmark\)

bearing_clearance

Double

0.0

bearing_density

Double

bearing_k_factor

Double

0.0

contact_angle

Double

\(a0\)

\(\checkmark\)

damping_force

Bool

True

damping_ratio

Double

0.1

effective_roller_length

Double

\(\checkmark\)

external_connection

Bool

False

friction_torque

Bool

False

id

Int

Auto

inner_connection_flex_body

Reference - FlexBody

inner_connection_flex_node

Int

inner_connection_part

Reference - Part

inner_density

Double

inner_diameter

Double

\(d\)

\(\checkmark\)

inner_shoulder_diameter

Double

label

Str

lubricant_viscosity

Double

0.0

lubrication_method

Enum

grease

na

Int

60

name

Str

nc

Int

6

no

Int

2

number_of_rollers

Int

\(\checkmark\)

outer_connection_flex_body

Reference - FlexBody

outer_connection_flex_node

Int

outer_connection_part

Reference - Part

outer_density

Double

outer_diameter

Double

\(D\)

\(\checkmark\)

output_rm

Reference - Marker

pitch_diameter

Double

\(dp\)

\(\checkmark\)

rm

Reference - Marker

\(\checkmark\)

roller_density

Double

roller_diameter

Double

\(dr\)

\(\checkmark\)

roller_length

Double

\(L\)

\(\checkmark\)

roller_pass_frequency

Bool

True

rollers_force_graphics

Bool

False

simplified_graphics

Bool

False

transition_velocity

Double

0.1

vec_gra_scale

Double

1.0

width_a

Double

\(a\)

width_b

Double

\(b\)

width_c

Double

\(c\)

width_t

Double

\(t\)

\(\checkmark\)

active#

Defines the state of the object.

Type=Bool, Default=True, Modifiable

bearing_clearance#

The bearing clearance of the bearing.

Type=Double, Default=0.0

bearing_density#

The bearing elements density.

See Comment 2.

Type=Double

bearing_k_factor#

The ratio of basic dynamic thrust load rating and basic dynamic radial load rating (Y/X), where:

\(P = X · Fr + Y · Fa\) is the basic dynamic equivalent radial load.(example value X = 0.4, Y = 1.53, K = 3.825).

Used only for friction torque calculation.

Type=Double, Default=0.0

contact_angle#

The contact angle of the bearing. Defined in degrees [deg].

Type=Double, Required

damping_force#

A flag that activates damping force.

Type=Bool, Default=True

damping_ratio#

The damping factor of the bearing. Used only when damping_force flag is True.

Type=Double, Default=0.1

effective_roller_length#

The effective length of the rolling elements. Where the contact occurs.

Type=Double, Required

external_connection#

A flag that allows to apply external connection to ring parts. The validation is ignored when this flag is activated.

Type=Bool, Default=False

friction_torque#

A flag that activates friction torque.

Type=Bool, Default=False

id#

The id of the object.

Type=Int

inner_connection_flex_body#

The connection flex body to the inner ring part.

Type=Reference (FlexBody)

inner_connection_flex_node#

The connection flex node to the inner ring part.

Type=Int

inner_connection_part#

The Part that is connected to the inner ring.

See Comment 1.

Type=Reference (Part)

inner_density#

The inner ring density. Default value calculated in [kg/mm^3].

Type=Double

inner_diameter#

The inner diameter of the bearing.

Type=Double, Required

inner_shoulder_diameter#

The shoulder diameter of the inner ring.

Type=Double

label#

The label of the composite element.

Type=Str

lubricant_viscosity#

The viscosity of the bearing lubricant. Measured in [cSt]. Used only when friction_torque flag is True.

Type=Double, Default=0.0

lubrication_method#

The lubrication method of the bearing. Used only when friction_torque flag is True.

Type=Enum, Default=grease

Permitted values are:

  • grease

  • oil_bath

  • oil_jet

  • oil_mist

na#

Parameter that defines the number of nodes in the perimeter of rings graphics.

Type=Int, Default=60

name#

Defines a nametag for the object.

Type=Str

nc#

Parameter that defines the number of nodes in the raceway of rings graphics.

Type=Int, Default=6

no#

Parameter that defines the number of nodes in the width of rings graphics.

Type=Int, Default=2

number_of_rollers#

The number of rollers at the bearing in a single row.

Type=Int, Required

outer_connection_flex_body#

The connection flex body to the outer ring part.

Type=Reference (FlexBody)

outer_connection_flex_node#

The connection flex node to the outer ring part.

Type=Int

outer_connection_part#

The Part that is connected to the outer ring.

See Comment 1.

Type=Reference (Part)

outer_density#

The outer ring density. Default value calculated in [kg/mm^3].

Type=Double

outer_diameter#

The outer diameter of the bearing.

Type=Double, Required

output_rm#

The Marker in which the results are written.

Type=Reference (Marker)

pitch_diameter#

The pitch diameter of the bearing.

Type=Double, Required

rm#

The reference marker of the composite element.

Type=Reference (Marker), Required

roller_density#

The rolling elements density. Cage part mass/inertia properties are calculated from rolling elements.

Type=Double

roller_diameter#

The roller diameter of the bearing.

Type=Double, Required

roller_length#

The length of the rolling elements.

Type=Double, Required

roller_pass_frequency#

A flag that defines that the rollers are rotated by the roller pass frequency in the theoretical force calculation.

Type=Bool, Default=True

rollers_force_graphics#

A flag that generates force vectors graphics on the rolling elements.

Type=Bool, Default=False

simplified_graphics#

A flag that activates simplified graphic representation of the bearing.

Type=Bool, Default=False

transition_velocity#

The angular velocity which defines the transition phase of the friction torque. Measured in [rad/sec].

Type=Double, Default=0.1

vec_gra_scale#

A scale that defines the size of the output rollers force graphics.

For default value 1.0, the vector length will be 3 * pitch_diameter,when the displacement of the bearing is 0.01 * roller_diameter.

Type=Double, Default=1.0

width_a#

The pressure point distance.

Type=Double

width_b#

The inner ring width.

Type=Double

width_c#

The outer ring width.

Type=Double