Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion src/fatpy/core/damage_cumulation/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
"""Damage cumulation module.

This module contains the classes and functions for damage cumulation methods.
The module implements various fatigue damage accumulation rules used to estimate the
total damage under variable amplitude loading. They include both classical linear
models, such as Palmgren–Miner’s rule, and more advanced non-linear approaches that
account for load sequence effects, mean stress influence, and material-specific
behavior for improved fatigue life prediction.
"""
3 changes: 2 additions & 1 deletion src/fatpy/core/decompositions/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Decompositions module.

This module contains the classes and functions for decomposition methods.
Methods for breaking down complex load signals to cycles.
Contains both the uniaxial and the multiaxial procedures.
"""
7 changes: 7 additions & 0 deletions src/fatpy/core/decompositions/multiaxial/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""Multiaxial decompositions methods.

These routines provide tools for decomposing multiaxial stress and strain states into
their individual components, such as normal and shear parts, principal values, and
others. They are essential for analyzing complex loading conditions, enabling accurate
evaluation of material behavior under multiaxial fatigue.
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Load Path Analysis 5D methods of multiaxial decompositions.

These methods compute the amplitude (J_2,a) and mean (J_2,m) values of the second
invariant of the deviatoric stress tensor in five-dimensional deviatoric space. This
evaluation is particularly useful in advanced multiaxial fatigue models, where accurate
representation of cyclic loading paths and stress states in the deviatoric space is
critical for predicting material response.
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""Shear Path Analysis 2D methods of multiaxial decompositions.

These methods are designed to evaluate the mean shear stress and shear stress amplitude
acting on a specified material plane, typically used in multiaxial fatigue analysis. By
projecting the stress tensor onto the plane of interest, they provide key parameters
for assessing crack initiation risks and fatigue life under complex loading paths.
"""
8 changes: 8 additions & 0 deletions src/fatpy/core/decompositions/uniaxial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Uniaxial decompositions methods.

Implements algorithms designed to decompose one-dimensional signals into individual load
cycles, enabling detailed analysis of variable amplitude loading. By identifying turning
points and extracting cycles based on established criteria (e.g., rainflow counting),
they facilitate fatigue analysis, damage assessment, and other time-domain signal
evaluations.
"""
4 changes: 2 additions & 2 deletions src/fatpy/core/energy_life/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""Energy-based fatigue life analysis methods.

This package provides implementations of energy-based approaches for
fatigue life prediction and analysis.
Fatigue analysis methods based on the relationship between the strain energy
(usually strain energy density) and number of cycles to failure.
"""
2 changes: 1 addition & 1 deletion src/fatpy/core/energy_life/correction_methods.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
"""Correction methods for the energy-life."""
"""Correction methods for the energy-life approach."""
3 changes: 2 additions & 1 deletion src/fatpy/core/plane_based_methods/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Plane-based methods module.

This module contains the classes and functions for plane-based methods.
Methods for processing stress tensor path on a material plane. Provides basic
infrastructure for prediction methods based on critical-plane and integral approaches.
"""
5 changes: 5 additions & 0 deletions src/fatpy/core/plane_based_methods/plane_search.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Plane Search methods.

Algorithms to identify a subset of potentially critical planes for further detailed
analysis and processing by critical-plane and integral methods.
"""
8 changes: 6 additions & 2 deletions src/fatpy/core/strain_life/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
"""Strain-based fatigue life analysis methods.

This package provides implementations of strain-based approaches for
fatigue life prediction and analysis.
These methods perform fatigue analysis using the relationship between strain amplitude
and the number of cycles to failure, as expressed by strain-life (ε-N) approaches such
as the Coffin-Manson and Basquin laws. They are particularly suited for low-cycle and
transitional fatigue regimes, where plastic strain plays a significant role, enabling
life prediction under variable amplitude or multiaxial loading when combined with
appropriate mean stress corrections and cycle counting techniques.
"""
1 change: 0 additions & 1 deletion src/fatpy/core/strain_life/correction_methods.py

This file was deleted.

5 changes: 5 additions & 0 deletions src/fatpy/core/strain_life/correction_methods/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Correction methods for the strain-life approach.

Methods to estimate notch stress/strain with local yielding and apply mean stress
correction.
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Elastic-Plastic Conversion methods for Strain-Life analysis.

These methods convert purely elastic stress or strain states into their elastic-plastic
equivalents to account for local yielding effects in fatigue or fracture assessments.
Using approaches such as Neuber's rule or Glinka's strain energy density method,
they provide corrected stress-strain values that better represent actual material
behavior under high local stresses, especially at notches or other stress concentrators.
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"""Mean Stress Effect correction methods for Strain-Life Analysis.

The methods for incorporating the effect of mean stress in strain-life (ε-N) analysis.
"""
7 changes: 7 additions & 0 deletions src/fatpy/core/strain_life/damage_params/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""Damage parameters calculation methods for the strain-life approach.

This module includes both uniaxial and multiaxial parameters for low-cycle fatigue
assessment, covering a range of strain-life-based damage models suitable for high
plastic strain regimes. It also incorporates methods based on the FKM Guideline,
enabling standardized evaluation of fatigue strength under complex loading conditions.
"""
4 changes: 4 additions & 0 deletions src/fatpy/core/strain_life/damage_params/fkm_nonlin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"""fkm non-linear damage parameter calculations for strain-life analysis.

The module contains damage parameters based on FKM-Guideline Non-Linear.
"""
8 changes: 8 additions & 0 deletions src/fatpy/core/strain_life/damage_params/multiaxial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Multiaxial fatigue criteria methods for the strain-life approach.

These methods perform low-cycle fatigue assessment using multiaxial damage parameters
that combine stress, strain, and mean stress effects into a single fatigue-relevant
quantity. By incorporating critical plane, invariant-based, and energy-based criteria,
they enable life prediction for components subjected to complex non-proportional
loading paths where significant plastic deformation occurs.
"""
8 changes: 8 additions & 0 deletions src/fatpy/core/strain_life/damage_params/uniaxial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Uniaxial fatigue criteria methods for the strain-life approach.

These methods compute uniaxial damage parameters used in strain-life (ε-N) analysis to
correlate cyclic strain amplitudes with fatigue life. They include parameters such as
Coffin-Manson, Morrow, and Smith-Watson-Topper (SWT), which combine elastic and plastic
strain components—and, when applicable, mean stress effects—into a single scalar value
for life prediction under uniaxial loading conditions.
"""
1 change: 0 additions & 1 deletion src/fatpy/core/strain_life/demage_parameters.py

This file was deleted.

5 changes: 3 additions & 2 deletions src/fatpy/core/stress_life/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
"""Stress-based fatigue life analysis methods.

This package provides implementations of stress-based approaches for
fatigue life prediction and analysis.
Stress-based fatigue assessment methods. Contains approach to estimate fatigue damage
and their correction on various fatigue effects (stress concentration, size,
surface quality, etc.)
"""
1 change: 0 additions & 1 deletion src/fatpy/core/stress_life/correction_methods.py

This file was deleted.

7 changes: 7 additions & 0 deletions src/fatpy/core/stress_life/correction_methods/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
"""Correction methods for the stress-life.

These methods project how various factors—such as surface finish, size effect,
mean stress, residual stresses, temperature, manufacturing defects, and notch
geometry—modify the fatigue strength of a real component by quantifying shifts in the
S-N curve or fatigue limit.
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
"""Equivalent stress at critical distance correction methods for stress-life approach.

These modules implement various Theory of Critical Distances (TCD)-based approaches for
stress-gradient correction, which improve fatigue strength predictions near stress
concentrators such as notches or cracks. By incorporating characteristic length
parameters, the methods account for the spatial distribution of stress and mitigate the
over-conservatism of local stress-based criteria, offering more accurate fatigue
assessments under both uniaxial and multiaxial loading conditions.
"""
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Fatigue limit correction methods for the stress-life approach.

These routines calculate correction factors that modify the fatigue limit in an
S-N curve to account for real-world influences such as surface finish, size effect,
mean stress, residual stresses, temperature, and notches. By combining these empirical
correction models, adjusted endurance limits may be produced for component-level fatigue
prediction.
"""
6 changes: 6 additions & 0 deletions src/fatpy/core/stress_life/correction_methods/power_law.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"""Power law correction methods for the stress-life approach.

These methods are used to project the influence of various factors—such as surface
finish, size effect, mean stress, or residual stresses—on the slope of the S-N curve
for a real component. The fatigue behavior is modeled using a power law formulation.
"""
8 changes: 8 additions & 0 deletions src/fatpy/core/stress_life/damage_params/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Damage parameters calculation methods for the stress-life approach.

These methods provide parameters for evaluating stress-based fatigue damage under
uniaxial or multiaxial loading conditions. They include critical plane and
invariant-based approaches, such as maximum principal stress, Findley's and Dang Van's
criteria, which relate the applied stress state to fatigue life by identifying the most
damaging stress components or orientations.
"""
8 changes: 8 additions & 0 deletions src/fatpy/core/stress_life/damage_params/multiaxial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Multiaxial fatigue criteria methods for the stress-life approach.

These modules implement a range of criteria for assessing fatigue strength under
multiaxial stress states, addressing both proportional and non-proportional loading
paths. The implemented models include critical plane approaches, energy-based methods,
and stress invariants, enabling prediction of fatigue limits/strengths for complex
loading scenarios across various materials and geometries.
"""
8 changes: 8 additions & 0 deletions src/fatpy/core/stress_life/damage_params/uniaxial.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""Uniaxial fatigue criteria methods for the stress-life approach.

Contains criteria that address uniaxial high-cycle fatigue by incorporating the mean
stress effect through an equivalent stress amplitude approach. By adjusting the stress
amplitude to account for mean stress influences—using models such as Goodman, Gerber,
or Soderberg—they enable more accurate fatigue life predictions where mean stresses
significantly affect material endurance.
"""
1 change: 0 additions & 1 deletion src/fatpy/core/stress_life/demage_parameters.py

This file was deleted.

3 changes: 2 additions & 1 deletion src/fatpy/material_laws/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
"""Material laws module.

Contains the classes and functions for defining and working with material laws.
Contains classes and functions that define material laws and enable their calibration
for the material under consideration.
"""
5 changes: 5 additions & 0 deletions src/fatpy/material_laws/cyclic_stress_strain_curve.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Cyclic stress–strain curve approximation models.

Implements various formulations, such as the Ramberg–Osgood model, describing the
relationship between elastic–plastic stress and strain.
"""
6 changes: 6 additions & 0 deletions src/fatpy/material_laws/en_curve.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
"""Strain-life curve approximations.

Implements strain-life (ε-N) curve models such as the Manson-Coffin and Basquin
relations, and provides conversions between strain amplitude and fatigue life in
both directions.
"""
5 changes: 5 additions & 0 deletions src/fatpy/material_laws/hookes_law.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Hooke's law.

Converts between elastic stress and strain with varying levels of complexity depending
on dimensionality.
"""
4 changes: 4 additions & 0 deletions src/fatpy/material_laws/regression_analysis.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"""Regression analysis methods of material laws.

Implements linear and non-linear regression methods for calibrating material laws.
"""
5 changes: 5 additions & 0 deletions src/fatpy/material_laws/sn_curve.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
"""Stress-life curve methods of material laws.

Provides implementations of Wöhler (S-N) curve models along with methods for converting
between stress amplitude and fatigue life in both directions.
"""
2 changes: 1 addition & 1 deletion src/fatpy/struct_mech/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""Structural mechanics module.

This module contains the classes and functions for structural mechanics analysis.
Contains structural mechanics related classes and methods.
"""
4 changes: 4 additions & 0 deletions src/fatpy/struct_mech/strain.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
"""Strain analysis methods of structural mechanics.

A group of methods evaluating equivalent strain based on full-tensor input.
"""
10 changes: 9 additions & 1 deletion src/fatpy/struct_mech/transformations.py
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
"""Contains the functions for tensor and other transformations."""
"""Transformations methods of structural mechanics.

These routines perform mathematical operations to transform stress and strain tensors
between different coordinate systems or reference frames. They include tensor rotation,
transformation to principal axes, and projection onto specified planes, enabling
detailed analysis of material response under complex loading conditions and supporting
criteria based on critical plane, invariant, or principal stress/strain approaches.
Includes 5D deviatoric stress reduction.
"""
5 changes: 4 additions & 1 deletion src/fatpy/utils/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1,4 @@
"""Utility functions for the fatigue analysis package."""
"""Utilities module.

A collection of general utility functions.
"""
1 change: 0 additions & 1 deletion src/fatpy/utils/post_processing.py

This file was deleted.

1 change: 0 additions & 1 deletion src/fatpy/utils/pre_processing.py

This file was deleted.