Skip to content
Open
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
38 changes: 19 additions & 19 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,25 +8,25 @@ Thank you for considering contributing to FatPy, a Python package for fatigue li

Get started contributing to FatPy in a few simple steps:

1. **Fork the Repository**
1. **Fork the Repository**
Create a personal copy on GitHub.
2. **Clone Your Fork**
2. **Clone Your Fork**

```bash
git clone https://github.com/your-username/FatPy.git # Clone your fork
```

3. **Create a Branch**
3. **Create a Branch**

```bash
git checkout -b my-feature-branch # Create a new branch for your feature
```

4. **Implement the Feature**
4. **Implement the Feature**
Write code to pass your tests.
5. **Write Tests for Your Feature**
5. **Write Tests for Your Feature**
Define expected behavior first.
6. **Submit a Pull Request**
6. **Submit a Pull Request**
Share your changes for review.

## :hammer_and_wrench: Development Setup
Expand Down Expand Up @@ -63,7 +63,7 @@ FatPy emphasizes comprehensive testing to ensure code reliability and quality. A
### Testing Guidelines

- **Write comprehensive tests** - Cover all functionality with unit and integration tests
- **Test edge cases** - Include boundary conditions and error scenarios
- **Test edge cases** - Include boundary conditions and error scenarios
- **Maintain test coverage** - Aim for high coverage to ensure reliability
- **Keep tests updated** - Update tests when modifying existing functionality
- **Use clear test names** - Write descriptive test names and docstrings
Expand Down Expand Up @@ -92,7 +92,7 @@ FatPy aims for high code quality utilizing these tools:
- **MyPy** - Static type checking for reliability.
- **Pre-commit** - Automated checks before commits.

Follow our coding standards for contributions, see **[Code Style Guide :arrow_right:](https://faberorg.github.io/FatPy/development/code_style/)**
Follow our coding standards for contributions, see **[Code Style Guide :arrow_right:](https://faberorg.github.io/FatPy/development/code_style/)**

### Running Code Quality Checks

Expand All @@ -117,11 +117,11 @@ pre-commit run --all-files

Keep FatPy’s documentation clear and up-to-date with these guidelines:

- **API Changes**
- **API Changes**
Update documentation for any API modifications.
- **Docstrings**
- **Docstrings**
Add docstrings following Google style to all new code.
- **Examples**
- **Examples**
Include examples and mathematical formulas where helpful to aid users.

Learn best practices and guidelines for documentation, see **[Documentation Guide :arrow_right:](https://faberorg.github.io/FatPy/development/documentation/)**
Expand All @@ -140,15 +140,15 @@ mkdocs serve

Submit a high-quality pull request with these steps:

1. **Run Tests and Checks**
1. **Run Tests and Checks**
Ensure tests pass and code quality checks succeed.
2. **Update Documentation**
2. **Update Documentation**
Reflect changes in relevant docs.
3. **Link Issues**
3. **Link Issues**
Reference related GitHub issues.
4. **Follow guidelines**
4. **Follow guidelines**
Make sure your code follows the project's style guidelines.
5. **Await Review**
5. **Await Review**
Respond to feedback from maintainers.

## :book: Code of Conduct
Expand All @@ -161,11 +161,11 @@ Understand our expectations for collaboration, see **[Code of Conduct :arrow_rig

Join discussion, create an issue or reach out to maintainers:

- :speech_balloon: **[GitHub Discussions :arrow_right:](https://github.com/faberorg/FatPy/discussions)**
- :speech_balloon: **[GitHub Discussions :arrow_right:](https://github.com/faberorg/FatPy/discussions)**
Join for community support.
- :beetle: **[Report an Issue :arrow_right:](https://github.com/faberorg/fatpy/issues)**
- :beetle: **[Report an Issue :arrow_right:](https://github.com/faberorg/fatpy/issues)**
Create an issue on our GitHub repository for bugs or questions.
- :envelope: **[Contact our Team :arrow_right:](https://faberorg.github.io/FatPy/contact/)**
- :envelope: **[Contact our Team :arrow_right:](https://faberorg.github.io/FatPy/contact/)**
Visit our contact page.

Thank you for contributing to FatPy!
10 changes: 5 additions & 5 deletions docs/contact.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ Check out these resources:

Use GitHub as a main way to collaborate, discuss and improve the FatPy package.

- **Explore the Repository**:
- **Explore the Repository**:
Visit our [:fontawesome-brands-github: GitHub repository](https://github.com/faberorg/fatpy) to access the source code.

- **Contribute**:
- **Contribute**:
Follow our [:fontawesome-solid-handshake: Contribution Guidelines](development/contributing.md) to help improve FatPy.

- **Collaborate**:
- **Collaborate**:
Join our [:fontawesome-solid-comment-dots: Discussions](https://github.com/faberorg/fatpy/discussions) or [:fontawesome-solid-bug: Report issues](https://github.com/faberorg/fatpy/issues).

---
Expand All @@ -48,6 +48,6 @@ You can also contact our team directly! Here is a list of active members:

---

Thank you for reaching out and contributing your ideas!
Your feedback and suggestions help us grow and improve.
Thank you for reaching out and contributing your ideas!
Your feedback and suggestions help us grow and improve.
We appreciate your involvement in the FatPy and FABER communities!
2 changes: 1 addition & 1 deletion docs/development/ci_cd.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ Status badges are displayed in the README.md:
- Check Python version differences
- Check dependency versions
- Review test logs for environment-specific issues

=== "**Type Errors**"

- **Issue**: Mypy reports type errors
Expand Down
34 changes: 17 additions & 17 deletions docs/development/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,15 +108,15 @@ Follow these guidelines to create clear and effective documentation for FatPy.

### **General Guidelines**

- **Clear Language**
- **Clear Language**
Use concise, straightforward wording.
- **Examples**
- **Examples**
Include practical code or use-case examples, where possible.
- **Related Links**
- **Related Links**
Reference related documentation.
- **Headers**
- **Headers**
Organize content with clear section headings.
- **Mathematical Formulas**
- **Mathematical Formulas**
Use LaTeX for mathematical notation where appropriate.

---
Expand Down Expand Up @@ -174,15 +174,15 @@ Consistent naming is crucial for code readability and maintainability. Follow th
- **`fat`**: fatigue (e.g., `fat_limit` for fatigue limit)
- **`frac`**: fracture (e.g., `frac_toughness` for fracture toughness)

Common names and material parameters:
- `first_principal_stress`, `second_principal_stress` and `third_principal_stress`
- `elastic_modulus`, `shear_modulus` and `poisson_ratio`
- `ultimate_tensile_strength` and `yield_strength`
Common names and material parameters:
- `first_principal_stress`, `second_principal_stress` and `third_principal_stress`
- `elastic_modulus`, `shear_modulus` and `poisson_ratio`
- `ultimate_tensile_strength` and `yield_strength`

!!! warning "Clarity First"
If an abbreviation makes the code harder to understand for someone new to the specific module or fatigue in general, prefer the full name. Document any project-specific abbreviations clearly.

Learn more about the naming conventions form our discussion page:
Learn more about the naming conventions form our discussion page:

[:simple-github::fontawesome-solid-comment-dots: Naming Conventions for FatPy Functions & Parameters #18](https://github.com/faberorg/FatPy/discussions/18)

Expand All @@ -209,7 +209,7 @@ Use LaTeX for mathematical formulas. This allows for clear rendering of equation
Hooke's Law can be expressed as $\sigma = E \cdot \epsilon$.
```

**Rendered output:**
**Rendered output:**
Hooke's Law can be expressed as $\sigma = E \cdot \epsilon$.

=== "Block Syntax"
Expand All @@ -218,7 +218,7 @@ Use LaTeX for mathematical formulas. This allows for clear rendering of equation
**How to write it:**
``` latex title="Block syntax"
% This line is empty
$$
$$
\sigma_{eq} = \sqrt{3J_2} = \sqrt{\frac{3}{2}s_{ij}s_{ij}}
$$
% This line is empty
Expand All @@ -231,7 +231,7 @@ Use LaTeX for mathematical formulas. This allows for clear rendering of equation
$$

=== "Display Complex Expression"
For more complex expressions, like summations, matrices, or a sequence of aligned equations.
For more complex expressions, like summations, matrices, or a sequence of aligned equations.

This example shows Miner's rule for damage accumulation:

Expand Down Expand Up @@ -289,7 +289,7 @@ API documentation is automatically generated from docstrings using mkdocstrings.
1. All public functions, classes, and modules must have Google-style docstrings.
2. Type hints should be used for all function parameters and return values.
3. Examples should be included in docstrings where appropriate.
4. Mathematical formulas should use LaTeX syntax within docstrings, e.g.:
4. Mathematical formulas should use LaTeX syntax within docstrings, e.g.:
`$$ \sigma = \sqrt{x^2} $$`

View the generated API documentation: **[:fontawesome-solid-book-open: API Reference](../api/index.md)**
Expand All @@ -298,11 +298,11 @@ View the generated API documentation: **[:fontawesome-solid-book-open: API Refer

To add new documentation pages, follow these steps:

- **Create File**
- **Create File**
Add a new Markdown file in the appropriate directory (e.g., `docs/`).
- **Update Navigation**
- **Update Navigation**
Include the file in `mkdocs.yml` under the `nav` section.
- **Format Content**
- **Format Content**
Use headers, code blocks, and consistent Markdown formatting.

??? note "Documentation Deployment"
Expand Down
32 changes: 16 additions & 16 deletions docs/development/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,24 +15,24 @@ This section provides comprehensive resources to help you contribute to FatPy, a

New to FatPy? Start with these resources to set up your environment and understand how to contribute effectively:

- :fontawesome-solid-download: **[Installation Guide](install.md)**
- :fontawesome-solid-download: **[Installation Guide](install.md)**
Set up your development environment for FatPy.
- :fontawesome-solid-handshake: **[Contributing Guide](contributing.md)**
- :fontawesome-solid-handshake: **[Contributing Guide](contributing.md)**
Learn how to contribute code, documentation, or ideas to the project.
- :fontawesome-solid-book: **[Code of Conduct](code_of_conduct.md)**
- :fontawesome-solid-book: **[Code of Conduct](code_of_conduct.md)**
Understand our community standards for respectful collaboration.

## :fontawesome-solid-code: Development Resources

Deepen your understanding of FatPy development with these resources:

- :fontawesome-solid-code: **[Code Style](code_style.md)**
- :fontawesome-solid-code: **[Code Style](code_style.md)**
Follow our coding standards for consistent, high-quality code.
- :fontawesome-solid-file-pen: **[Documentation](documentation.md)**
- :fontawesome-solid-file-pen: **[Documentation](documentation.md)**
Learn best practices for writing and maintaining FatPy documentation.
- :fontawesome-solid-vial: **[Testing](testing.md)**
- :fontawesome-solid-vial: **[Testing](testing.md)**
Understand how to write and run tests to ensure code reliability.
- :material-cogs: **[CI/CD Process](ci_cd.md)**
- :material-cogs: **[CI/CD Process](ci_cd.md)**
Explore our continuous integration and deployment workflow.

??? tip "Additional resources"
Expand All @@ -45,32 +45,32 @@ Get a detailed overview of FatPy’s modules and functions, visit **[API Referen

Follow our development workflow:

1. **Set Up Your Environment**
1. **Set Up Your Environment**
:fontawesome-solid-download: [Installation Guide](install.md)
2. **Create a Feature Branch**
2. **Create a Feature Branch**

```bash
git checkout -b feature-name
```

3. **Implement the Feature**
3. **Implement the Feature**
Follow the [Code Style Guide](code_style.md).
4. **Write and Run Tests**
4. **Write and Run Tests**
:fontawesome-solid-vial: [Testing Guide](testing.md)
5. **Document your Changes**
5. **Document your Changes**
Use [Documentation](documentation.md) resources!
6. **Submit a pull request**
6. **Submit a pull request**
:fontawesome-solid-handshake: [Contributing Guide](contributing.md)

## :material-help-box-outline: Getting Help

Need assistance with FatPy development? Reach out through these channels:

- :simple-github: **[GitHub Discussions](https://github.com/faberorg/FatPy/discussions)**
- :simple-github: **[GitHub Discussions](https://github.com/faberorg/FatPy/discussions)**
Join for community support.
- :fontawesome-solid-bug: **[Report an Issue](https://github.com/faberorg/fatpy/issues)**
- :fontawesome-solid-bug: **[Report an Issue](https://github.com/faberorg/fatpy/issues)**
Create an issue on our GitHub repository for bugs or questions.
- :fontawesome-solid-envelope: **[Contact our Team](../contact.md)**
- :fontawesome-solid-envelope: **[Contact our Team](../contact.md)**
Visit our contact page.

Thank you for contributing to FatPy!
2 changes: 1 addition & 1 deletion docs/development/install.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ The easiest way to install FatPy is from PyPI:
To install package and add dependency to your project .toml file use:

```bash
uv add fatpy # Install from PyPI and add dependency
uv add fatpy # Install from PyPI and add dependency
```

This installs the latest stable release with all dependencies.
Expand Down
12 changes: 6 additions & 6 deletions docs/development/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,17 @@ This guide outlines the testing approach and best practices for the FatPy projec

FatPy emphasizes comprehensive testing to ensure code reliability and quality:

1. **Write comprehensive tests**
1. **Write comprehensive tests**
Cover all functionality with appropriate unit and integration tests
2. **Test edge cases**
2. **Test edge cases**
Include boundary conditions and error scenarios
3. **Maintain test coverage**
3. **Maintain test coverage**
Aim for high test coverage to ensure code reliability
4. **Verify functionality**
4. **Verify functionality**
Ensure all tests pass before submitting changes
5. **Keep tests updated**
5. **Keep tests updated**
Update tests when modifying existing functionality
6. **Document test cases**
6. **Document test cases**
Use clear test names and docstrings to explain test purpose

## :simple-pytest: Testing Framework
Expand Down
26 changes: 13 additions & 13 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,26 @@ material science.

#### Core Modules

- **Stress-Life**
- **Stress-Life**
Stress-based fatigue assessment methods for estimating fatigue damage with corrections for various effects (stress concentration, size, surface quality, etc.)
- **Strain-Life**
- **Strain-Life**
Fatigue analysis using strain amplitude and cycles to failure relationships (ε-N approaches) such as Coffin-Manson and Basquin laws, suited for low-cycle and transitional fatigue regimes
- **Energy-Life**
- **Energy-Life**
Fatigue analysis methods based on the relationship between strain energy density and number of cycles to failure
- **Damage Cumulation**
- **Damage Cumulation**
Various fatigue damage accumulation rules for variable amplitude loading, including linear models (Palmgren-Miner) and advanced non-linear approaches accounting for load sequence effects
- **Decompositions**
- **Decompositions**
Methods for breaking down complex load signals into cycles, containing both uniaxial and multiaxial procedures
- **Plane-Based Methods**
- **Plane-Based Methods**
Methods for processing stress tensor paths on material planes, providing infrastructure for critical-plane and integral prediction approaches

#### Supporting Modules

- **Material Laws**
- **Material Laws**
Functions dealing with various material constitutive laws and behavior models
- **Structural Mechanics**
- **Structural Mechanics**
Stress analysis and transformation utilities
- **Utils**
- **Utils**
General utilities for mesh handling, signal processing, and data manipulation

## :fontawesome-solid-download: Installation
Expand All @@ -60,7 +60,7 @@ material science.
To install package and add dependency to your project .toml file use:

```bash
uv add fatpy # Install from PyPI and add dependency
uv add fatpy # Install from PyPI and add dependency
```

For detailed installation options, see the [Installation Guide :octicons-arrow-right-24:](development/install.md)
Expand Down Expand Up @@ -99,13 +99,13 @@ interested in coding, testing, documentation, or providing feedback, your partic

### Getting Involved

- **Explore the Repository**:
- **Explore the Repository**:
Visit our [:fontawesome-brands-github: GitHub repository](https://github.com/faberorg/fatpy) to access the source code.

- **Contribute**:
- **Contribute**:
Follow our [:fontawesome-solid-handshake: Contribution Guidelines](development/contributing.md) to help improve FatPy.

- **Collaborate**:
- **Collaborate**:
Join our [:fontawesome-solid-comment-dots: Discussions](https://github.com/faberorg/fatpy/discussions) or [:fontawesome-solid-bug: Report issues](https://github.com/faberorg/fatpy/issues).

By participating, you'll be part of a collaborative effort to advance the field of material fatigue analysis.
Expand Down
Loading