ℹ️ General Information
Component Name: Kohout-Věchet curve
Component Location: material_laws/SN/
Suggested Python Name: wohler_kohout_vechet
FABER WG Relation: 2.1
Brief Description: Stress to life and life to stress calculation via the Kohout-Věchet curve
Priority: 9
Technical Complexity: 3
Estimated Effort: 4
Dependencies: -
Implementation Details
📋 Specification
A function implementing the Kohout-Věchet representation of an S–N curve, allowing the computation of the number of cycles ($N$) from a given stress amplitude ($\sigma_a$), and vice versa. The parameters ($A, B, C$) and ($\beta$) are regression constants (coefficients and exponent) obtained from fatigue testing.
Mathematical Formulation
Stress amplitude from life:
$$ \displaystyle \sigma_a = A\left( C\frac{N+B}{N+C} \right)^{\beta} $$
$$ \displaystyle \sigma_a = A\left( C\frac{N+B}{N+C} \right)^{\beta} $$
Use the Newton iterative scheme to get life ($N$) from stress amplitude:
$$ \displaystyle N^{i+1}=N^{i}-\frac{f(N^i)}{f'(N^i)}, $$
where
$$ \displaystyle f(N) =A\left( C\frac{N+B}{N+C} \right)^{\beta} - \sigma_a $$
and
$$ \displaystyle f'(N) =A\beta C^{\beta}\frac{(N+B)^{\beta-1}(C-B)}{(N+C)^{\beta+1}} $$
$$ \displaystyle N^{i+1}=N^{i}-\frac{f(N^i)}{f'(N^i)}, $$
$$ \displaystyle f(N) =A\left( C\frac{N+B}{N+C} \right)^{\beta} - \sigma_a $$
$$ \displaystyle f'(N) =A\beta C^{\beta}\frac{(N+B)^{\beta-1}(C-B)}{(N+C)^{\beta+1}} $$
Inputs
- Kohout-Věchet model regression parameters
| Parameter |
Symbol |
Type |
Description |
Units |
Constraints |
| KV_A |
$A$ |
array of floats |
K-V coefficient |
- |
$>0$ |
| KV_B |
$B$ |
array of floats |
K-V coefficient |
- |
$>0$ |
| KV_C |
$C$ |
array of floats |
K-V coefficient |
- |
$>0$ |
| KV_beta |
$\beta$ |
array of floats |
K-V exponent |
- |
$<0$ |
- Stress / Strain values or life
| Parameter |
Symbol |
Type |
Description |
Units |
Range |
| stress_amp |
$\sigma_a$ |
array of floats |
Stress amplitude |
MPa |
$(0; \infty)$ |
| life |
$N$ |
array of floats |
Number of cycles |
- |
$(0; \infty)$ |
Outputs
| Parameter |
Type |
Description |
Units |
Range |
| $N$ |
array of floats |
Number of cycles |
- |
$(0; \infty)$ |
| $\sigma_{a}$ |
array of floats |
Stress amplitude |
- |
$(0; \infty)$ |
Expected Behavior
🔧 Implementation Guidelines
Function Signature
# Suggested function signature
Code Structure
Error Handling
✅ Validation & Testing
Test Cases
| Test Case |
Inputs |
Expected Outputs |
Notes |
| Example 1 |
$\sigma_{a} = 400 MPa; A = 16,651.6; B = 7,214; C = 960,478; \beta = -0.351$ |
$N = 35,360$ |
|
Validation Criteria
📚 References & Resources
Kohout, J., Věchet, S., 2001. A new function for fatigue curves characterization and its multiple merits. Int. J. Fatigue 23, 175–183. https://doi.org/10.1016/S0142-1123(00)00082-7
📝 Technical Notes
Performance Considerations
Edge Cases to Handle
Special Requirements
ℹ️ General Information
Component Name: Kohout-Věchet curve
Component Location: material_laws/SN/
Suggested Python Name:
wohler_kohout_vechetFABER WG Relation: 2.1
Brief Description: Stress to life and life to stress calculation via the Kohout-Věchet curve
Priority: 9
Technical Complexity: 3
Estimated Effort: 4
Dependencies: -
Implementation Details
📋 Specification
A function implementing the Kohout-Věchet representation of an S–N curve, allowing the computation of the number of cycles ($N$ ) from a given stress amplitude ($\sigma_a$ ), and vice versa. The parameters ($A, B, C$ ) and ($\beta$ ) are regression constants (coefficients and exponent) obtained from fatigue testing.
Mathematical Formulation
Stress amplitude from life:
Use the Newton iterative scheme to get life ($N$ ) from stress amplitude:
where
and
Inputs
Outputs
Expected Behavior
🔧 Implementation Guidelines
Function Signature
# Suggested function signatureCode Structure
Error Handling
✅ Validation & Testing
Test Cases
Validation Criteria
📚 References & Resources
Kohout, J., Věchet, S., 2001. A new function for fatigue curves characterization and its multiple merits. Int. J. Fatigue 23, 175–183. https://doi.org/10.1016/S0142-1123(00)00082-7
📝 Technical Notes
Performance Considerations
Edge Cases to Handle
Special Requirements