cylinder#
- class py_fatigue.geometry.cylinder.HollowCylinder(initial_depth: Annotated[float, Gt(gt=0)], outer_diameter: Annotated[float, Gt(gt=0)], thickness: Annotated[float, Gt(gt=0)], height: Annotated[float, Gt(gt=0)], crack_position: str, width_to_depth_ratio: Annotated[float, Gt(gt=0)] = 2.0)#
Class to initalise and store the crack geometry data on a hollow cylindrical section.
The crack is assumed to maintain its width to depth ratio.
>>> # Example drawing of a hollow cylinder with external crack >>> # ┌────────────────────────────────────────┐ >>> # │ ▄▄▄▀▀▀▀▀▀▀▚▄▄▖ │ >>> # │ ▗▄▀▀ ▝▀▚▄ │ >>> # │ ▄▀▘ ▀▖ │ >>> # │ ▞ crack front ▝▀▖ │ >>> # │ ▗▀ │ ▄▄▄▖ ▝▖ │ >>> # │ ▗███▄▖<─┘ ▗▟▀▀ ▀▀▚▖ ▐ │ >>> # │ ▟█████▖ ▟▘ ▀▙ ▌ │ >>> # │2c─>███████ ▌ r_i ▐ ▐ │ >>> # │ ███████ ▌ ↑<───>▐ ▐ │ >>> # │ ▜█████▘ ▜▖ │ ▄▛ ▌ │ >>> # │ │▝███▀▘│ ▝▜▄▄ │ ▄▄▞▘ ▐ │ >>> # │ │ ▝▄ │ ▀│▀▘ ▗▘ │ >>> # │ │ ▚ │ r_o│ ▗▄▘ │ >>> # │ │ ▚▄│ │ ▗▘ │ >>> # │ │ a ▀▚▄▖ ↓ ▄▞▀▘ │ >>> # │ │<────>│ ▝▀▀▚▄▄▄▄▄▄▄▄▀▀▀ │ >>> # └────────────────────────────────────────┘ >>> #
- Parameters:
initial_depth (float) – The initial depth of the crack.
outer_diameter (float) – The outer diameter of the part.
thickness (float) – The thickness of the part.
height (float) – The height of the part.
crack_position (float) – The position of the crack on the part.
width_to_depth_ratio (float) – The ratio of the width to the depth of the crack.
- classmethod thickness_validator(v: Annotated[float, Gt(gt=0)], values: dict) Annotated[float, Gt(gt=0)] #
Validate the thickness of the part.
- property geometry_factor: ndarray#
Get the geometric factor. This should be a function of the crack size. The default value is 1.0.
- plot(fig: Figure | None = None, ax: Axes | None = None, **kwargs: dict) tuple #
Plot the crack front on a hollow cylinder.
- Parameters:
fig (matplotlib.figure.Figure, optional) – The figure to plot on.
ax (matplotlib.axes.Axes, optional) – The axis to plot on.
**kwargs (dict) – Keyword arguments to pass to the matplotlib plot function.
- Returns:
fig (matplotlib.figure.Figure) – The figure that was plotted on.
ax (matplotlib.axes.Axes)
- class py_fatigue.geometry.cylinder.Cylinder(initial_depth: Annotated[float, Gt(gt=0)], diameter: Annotated[float, Gt(gt=0)], height: Annotated[float, Gt(gt=0)])#
Class to initalise and store the crack geometry data on a cylindrical section.
- Parameters:
- property geometry_factor: ndarray#
Get the geometric factor. This should be a function of the crack size. The default value is an empty.