Skip to content

Implement the Bagci equivalent stress amplitude function #66

@MartinNesladek

Description

@MartinNesladek

ℹ️ General Information

Component Name: Bagci

Component Location: core/stress_life/damage_params/uniaxial_stress_eq_amp/

Suggested Python Name: calc_stress_eq_amp_bagci

FABER WG Relation: WG4.1

Priority: (1-10 scale) 2

Technical Complexity: (1-10 scale) 2

Estimated Effort: (1-10 scale) 2

Dependencies:

Related Issues:


📋 Problem Description

Implement the Bagci equivalent stress amplitude function enabling mean stress effect correction in stress-life calculation.

Mathematical Formulation

$$ \sigma_{a,eq}=\frac{\sigma_a}{1-\left( \frac{\sigma_m}{\sigma_y} \right)^4} $$

Latex text:

$$
\sigma_{a,eq}=\frac{\sigma_a}{1-\left( \frac{\sigma_m}{\sigma_y} \right)^4}
$$

🔧 Implementation Guideline

Function Signature

import numpy as np
from numpy.typing import ArrayLike, Optional, NDArray

def function_name(
    input1: ArrayLike,
    input2: Optional[ArrayLike] = None,
    param1: float = 0.5,
    param2: int = 10
) -> NDArray[np.float64]:
    """Brief description of the function.

    Some more detailed description of the function's purpose and behavior.

    Args:
        input1: Description of the first input.
        input2: Description of the second input (optional).
        param1: Description of the first parameter (default is 0.5).
        param2: Description of the second parameter (default is 10).

    Returns:
        Description of the output.
    
    Raises:
        ValueError: Description of when this error is raised.
        TypeError: Description of when this error is raised.    
    """
    pass  # Implementation goes here

Inputs

  1. Static tensile parameters
Parameter Symbol Type Description Units Constraints
yield_strength $\sigma_{y}$ array of floats Tensile yield strength MPa $>0$
  1. Stress / Strain values
Parameter Symbol Type Description Units Range
stress_amp $\sigma_a$ array of floats stress amplitude MPa $(0; \infty)$
mean_stress $\sigma_m$ array of floats mean stress MPa $(-\infty;\infty)$

Outputs

Parameter Type Description Units Range
$\sigma_{aeq}$ array of floats Equivalent stress amplitude by Bagci - $(0;\infty)$

✅ Validation & Testing

Test Cases

Test Case Inputs Expected Outputs Notes
Example 1 $\sigma_{y} = 500 MPa; \sigma_a = 180 MPa, \sigma_m = 100 MPa$ $\sigma_{aeq} = 180.29 MPa$

Acceptance Criteria

  • Implementation meets all specified requirements
  • Code is well-documented and follows style guidelines
  • All test cases pass successfully

📚 References & Resources

Metadata

Metadata

Assignees

No one assigned

    Labels

    WIPWork In ProgressbacklogValidated task. pending future prioritization.

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions