Skip to content

Commit

Permalink
DOC: add Lewis factor table to documentation pages
Browse files Browse the repository at this point in the history
  • Loading branch information
AndreaBlengino committed Apr 5, 2024
1 parent ac9e385 commit 31ed3fd
Show file tree
Hide file tree
Showing 9 changed files with 81 additions and 3 deletions.
5 changes: 5 additions & 0 deletions docs/source/_static/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,8 @@
.admonition, .topic {
font-size: 1.0rem;
}

article table.align-default {
display: table;
text-align: center;
}
9 changes: 9 additions & 0 deletions docs/source/mechanical_objects/HelicalGear/lewis_factor.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,12 @@ lewis_factor

.. autoproperty:: HelicalGear.lewis_factor
:no-index:


Lewis Factor Table
------------------

.. csv-table::
:file: /../../gearpy/mechanical_objects/gear_data/lewis_factor_table.csv
:widths: auto
:header-rows: 1
9 changes: 9 additions & 0 deletions docs/source/mechanical_objects/SpurGear/lewis_factor.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,12 @@ lewis_factor

.. autoproperty:: SpurGear.lewis_factor
:no-index:


Lewis Factor Table
------------------

.. csv-table::
:file: /../../gearpy/mechanical_objects/gear_data/lewis_factor_table.csv
:widths: auto
:header-rows: 1
9 changes: 9 additions & 0 deletions docs/source/mechanical_objects/WormGear/helix_angle.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,12 @@ helix_angle

.. autoproperty:: WormGear.helix_angle
:no-index:


Maximum Helix Angle Table
-------------------------

.. csv-table::
:file: /../../gearpy/mechanical_objects/gear_data/worm_gear_and_wheel_data.csv
:widths: auto
:header-rows: 1
9 changes: 9 additions & 0 deletions docs/source/mechanical_objects/WormWheel/helix_angle.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,12 @@ helix_angle

.. autoproperty:: WormWheel.helix_angle
:no-index:


Maximum Helix Angle Table
-------------------------

.. csv-table::
:file: /../../gearpy/mechanical_objects/gear_data/worm_gear_and_wheel_data.csv
:widths: auto
:header-rows: 1
9 changes: 9 additions & 0 deletions docs/source/mechanical_objects/WormWheel/lewis_factor.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,12 @@ lewis_factor

.. autoproperty:: WormWheel.lewis_factor
:no-index:


Lewis Factor Table
------------------

.. csv-table::
:file: /../../gearpy/mechanical_objects/gear_data/worm_gear_and_wheel_data.csv
:widths: auto
:header-rows: 1
28 changes: 28 additions & 0 deletions gearpy/mechanical_objects/helical_gear.py
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,34 @@ def lewis_factor(self) -> Optional[float]:
-------
:py:class:`float`
Factor used to compute stresses on the gear tooth.
"""\
r"""
.. admonition:: Notes
:class: tip
The Lewis factor is a tabular value that depends on the helical gear virtual number of teeth, which can be
computed as:
.. math::
z_v = \frac{z}{\cos^2 \beta_b \, \cos \beta}
where:
- :math:`z` is the gear number of teeth :py:attr:`n_teeth`,
- :math:`\beta` is the gear :py:attr:`helix_angle`,
- :math:`\beta_b` is the gear base helix angle.
The gear base helix angle :math:`\beta_b` can be computed as:
.. math::
\beta_b = \tan^{-1} \left( \cos \alpha_t \, \cos \beta \right)
where the :math:`\alpha_t` is the gear transverse pressure angle, which can be computed as:
.. math::
\alpha_t = \tan^{-1} \frac{\tan \alpha}{\cos \beta}
where :math:`\alpha` is the pressure angle of the gear, always equal to 20 degrees.
"""
return self.__lewis_factor

Expand Down
2 changes: 1 addition & 1 deletion gearpy/mechanical_objects/worm_gear.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ def inertia_moment(self) -> InertiaMoment:
@property
def helix_angle(self) -> Angle:
"""Helix angle of the worm gear. It must be an instance of :py:class:`Angle <gearpy.units.units.Angle>`. \n
The maximum allowable value of helix angle depends on the pressure angle. \n
The maximum allowable value of helix angle depends on the :py:attr:`pressure_angle`. \n
Once set at the worm gear instantiation, it cannot be changed afterward.
Returns
Expand Down
4 changes: 2 additions & 2 deletions gearpy/mechanical_objects/worm_wheel.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,7 +190,7 @@ def inertia_moment(self) -> InertiaMoment:
@property
def helix_angle(self) -> Angle:
"""Helix angle of the worm wheel. It must be an instance of :py:class:`Angle <gearpy.units.units.Angle>`. \n
The maximum allowable value of helix angle depends on the pressure angle. \n
The maximum allowable value of helix angle depends on the :py:attr:`pressure_angle`. \n
Once set at the worm gear instantiation, it cannot be changed afterward.
Returns
Expand Down Expand Up @@ -281,7 +281,7 @@ def face_width(self) -> Optional[Length]:
@property
def lewis_factor(self) -> Optional[float]:
"""Factor used to compute stresses on the gear tooth. \n
It is a tabular value that in general depends on the :py:attr:`pressure_angle`.
It is a tabular value that depends on the :py:attr:`pressure_angle`.
Returns
-------
Expand Down

0 comments on commit 31ed3fd

Please sign in to comment.