Skip to content

927 copying steel equations from 2005 to 2025, for those that are the same, batch 4#931

Merged
egarciamendez merged 91 commits intomainfrom
927_code_batch4
Mar 25, 2026
Merged

927 copying steel equations from 2005 to 2025, for those that are the same, batch 4#931
egarciamendez merged 91 commits intomainfrom
927_code_batch4

Conversation

@GerjanDorgelo
Copy link
Contributor

@GerjanDorgelo GerjanDorgelo commented Jan 13, 2026

Description

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Checklist:

  • I have added tests that prove my fix is effective or that my feature works
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • New and existing unit tests pass locally with my changes

Summary by CodeRabbit

  • New Features
    • Added EN 1993-1-1:2025 Eurocode module for structural steel design calculations
    • Added three new formulas for design plastic shear resistance and shear stress evaluations
    • Included comprehensive test coverage validating all new calculations

…7, 8.19, 8.22, and 8.23 to follow naming convention
…ance in structural hollow sections according to EN 1993-1-1:2025
…ithout torsion according to EN 1993-1-1:2025
…rectangular solid sections according to EN 1993-1-1:2025
@GerjanDorgelo GerjanDorgelo self-assigned this Jan 13, 2026
@coderabbitai
Copy link

coderabbitai bot commented Jan 13, 2026

Warning

Rate limit exceeded

@egarciamendez has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 2 minutes and 17 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7b83df81-1ff2-4033-9ddd-b947542b8aa4

📥 Commits

Reviewing files that changed from the base of the PR and between 3ef7dfb and 2ffafe2.

📒 Files selected for processing (6)
  • blueprints/codes/eurocode/en_1993_1_1_2022/chapter_8_ultimate_limit_state/formula_8_23.py
  • blueprints/codes/eurocode/en_1993_1_1_2022/chapter_8_ultimate_limit_state/formula_8_25.py
  • blueprints/codes/eurocode/en_1993_1_1_2022/chapter_8_ultimate_limit_state/formula_8_26.py
  • tests/codes/eurocode/en_1993_1_1_2022/chapter_8_ultimate_limit_state/test_formula_8_23.py
  • tests/codes/eurocode/en_1993_1_1_2022/chapter_8_ultimate_limit_state/test_formula_8_25.py
  • tests/codes/eurocode/en_1993_1_1_2022/chapter_8_ultimate_limit_state/test_formula_8_26.py
📝 Walkthrough

Walkthrough

A new package structure for EN 1993-1-1:2025 is introduced, adding three formula implementations from Chapter 8 (Ultimate Limit State) that compute design plastic shear resistance and shear stress calculations, along with comprehensive test coverage for each formula.

Changes

Cohort / File(s) Summary
Package Initialization
blueprints/codes/eurocode/en_1993_1_1_2025/__init__.py, blueprints/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/__init__.py, tests/codes/eurocode/en_1993_1_1_2025/__init__.py, tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/__init__.py
Module and package initialization files with docstrings and public constant EN_1993_1_1_2025 declaration.
Formula 8.23 Implementation
blueprints/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/formula_8_23.py, tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/test_formula_8_23.py
Design plastic shear resistance formula with input validation for non-negative a_v/f_y and positive gamma_m0, evaluation logic, and deterministic/parametrized error and LaTeX output tests.
Formula 8.25 Implementation
blueprints/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/formula_8_25.py, tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/test_formula_8_25.py
Shear stress formula accepting v_ed, s, i, t with validation for negative/zero values, returning (v_ed * s) / (i * t) in MPa, tested for correctness and error handling.
Formula 8.26 Implementation
blueprints/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/formula_8_26.py, tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/test_formula_8_26.py
Design elastic shear stress for I/H sections with input validation including ratio constraint A_f / A_w >= 0.6, tested for numerical accuracy, error cases, and LaTeX generation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Suggested reviewers

  • SZeltaat

Poem

🐰 Three formulas hop into the fold,
EN 1993, a story to be told,
Shear stresses dance with validation's grace,
Tests ensure each formula finds its place! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning Description is largely incomplete. The author provided only template structure with checkboxes marked, but no actual written description of the changes made. Provide a meaningful description of the changes, including which formulas were added/updated, their purpose, and any breaking changes or important notes.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed Title accurately describes the main change: copying steel equations from 2005 to 2025 for identical formulas in batch 4.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 927_code_batch4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link

Thank you so much for contributing to Blueprints!
Your contributions help thousands of engineers work more efficiently and accurately.

Now that you've created your pull request, please don't go away; take a look at the bottom of this page for the automated checks that should already be running. If they pass, great! If not, please click on 'Details' and see if you can fix the problem they've identified. A maintainer should be along shortly to review your pull request and help get it added!

@codecov
Copy link

codecov bot commented Jan 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (a1d0587) to head (2ffafe2).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #931   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files          435       438    +3     
  Lines        13515     13588   +73     
=========================================
+ Hits         13515     13588   +73     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In
`@tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/__init__.py`:
- Line 1: The module docstring incorrectly references "Chapter 6" while the
package is chapter_8_ultimate_limit_state; update the top-level docstring in
__init__.py to say "Chapter 8 - Ultimate limit state" (or otherwise reference
Chapter 8) so the description matches the package name and contents.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 0c8bb80e-733e-4650-9129-9349b6277423

📥 Commits

Reviewing files that changed from the base of the PR and between 8a98e6c and 3ef7dfb.

📒 Files selected for processing (10)
  • blueprints/codes/eurocode/en_1993_1_1_2025/__init__.py
  • blueprints/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/__init__.py
  • blueprints/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/formula_8_23.py
  • blueprints/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/formula_8_25.py
  • blueprints/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/formula_8_26.py
  • tests/codes/eurocode/en_1993_1_1_2025/__init__.py
  • tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/__init__.py
  • tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/test_formula_8_23.py
  • tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/test_formula_8_25.py
  • tests/codes/eurocode/en_1993_1_1_2025/chapter_8_ultimate_limit_state/test_formula_8_26.py

Copy link
Member

@egarciamendez egarciamendez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants