Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/coupling expansion #73

Open
wants to merge 46 commits into
base: master
Choose a base branch
from
Open

Feat/coupling expansion #73

wants to merge 46 commits into from

Conversation

LemurPwned
Copy link
Owner

@LemurPwned LemurPwned commented Jun 15, 2024

Summary by Sourcery

This pull request introduces several new features, including multiple overloads for the AxialDriver class, new methods for the ScalarDriver class, and support for HDMI drivers. It also enhances documentation, refactors the Stack class, and updates plotting functions. New test cases have been added, and the documentation has been improved with new API paths. Additionally, the pre-commit configuration has been updated to exclude third-party directories.

  • New Features:
    • Introduced multiple overloads for the AxialDriver class constructor to support initialization with different parameter types.
    • Added new methods to the ScalarDriver class for arithmetic operations and phase shifting.
    • Implemented new methods in the Stack class to handle phase offsets and effective coupling strengths.
    • Added support for HDMI drivers in the Layer and Junction classes.
    • Introduced new functions in the resistance module to compute GMR and handle 3D arrays for time series resistance calculations.
  • Enhancements:
    • Enhanced docstrings across multiple classes and methods for better clarity and documentation.
    • Refactored the Stack class to include phase offsets and effective coupling strength calculations.
    • Improved the error handling in the Stack class for coupling strength vector size validation.
    • Updated the plotting functions in the utils/plotting.py to use consistent string formatting.
    • Refactored the LLGBJunction class to include detailed docstrings and improved method signatures.
  • Documentation:
    • Updated the mkdocs configuration to include new API documentation paths.
    • Added new API documentation files for core, stack, noise, and LLGB modules.
    • Improved the main documentation index with updated installation instructions and links.
  • Tests:
    • Added new test cases in test_drivers.py to validate arithmetic operations on drivers.
    • Commented out certain test assertions in test_models.py to avoid numerical errors during testing.
  • Chores:
    • Updated the pre-commit configuration to exclude third-party directories from certain checks.
    • Removed outdated docgen.py script from the hooks section in mkdocs.yml.

Copy link

sourcery-ai bot commented Jun 15, 2024

Reviewer's Guide by Sourcery

This pull request introduces significant enhancements and refactoring to the codebase, focusing on expanding the coupling mechanisms and improving documentation and code quality. The changes include adding new methods, improving existing ones, and enhancing the documentation with detailed docstrings. Additionally, the pull request includes various bug fixes and code style improvements.

File-Level Changes

Files Changes
cmtj/__init__.pyi
cmtj/llgb/__init__.pyi
cmtj/stack/__init__.pyi
Added detailed docstrings and refactored method signatures for better readability and consistency.
core/stack.hpp
core/drivers.hpp
core/junction.hpp
core/llgb.hpp
core/reservoir.hpp
core/cvector.hpp
Introduced new methods, improved error handling, and refactored method signatures for better readability.
cmtj/utils/plotting.py
cmtj/utils/resistance.py
cmtj/utils/__init__.py
cmtj/utils/parallel.py
Standardized string formatting, added detailed docstrings, and refactored methods for better readability.
tests/test_models.py
tests/test_drivers.py
Added new test cases and refactored existing ones for better readability.
docs/index.md
docs/docgen.py
docs/api/core.md
docs/api/llgb.md
docs/api/noise.md
docs/api/stack.md
Updated documentation configuration, fixed broken links, and added new API references.
mkdocs.yml
.pre-commit-config.yaml
Updated configuration files for better code quality checks and documentation generation.

Tips
  • Trigger a new Sourcery review by commenting @sourcery-ai review on the pull request.
  • You can change your review settings at any time by accessing your dashboard:
    • Enable or disable the Sourcery-generated pull request summary or reviewer's guide;
    • Change the review language;
  • You can always contact us if you have any questions or feedback.

@LemurPwned LemurPwned linked an issue Jun 15, 2024 that may be closed by this pull request
Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey @LemurPwned - I've reviewed your changes and they look great!

Here's what I looked at during the review
  • 🟡 General issues: 12 issues found
  • 🟢 Security: all looks good
  • 🟡 Testing: 5 issues found
  • 🟢 Complexity: all looks good
  • 🟡 Documentation: 1 issue found

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment to tell me if it was helpful.

cmtj/__init__.pyi Outdated Show resolved Hide resolved
cmtj/__init__.pyi Outdated Show resolved Hide resolved
cmtj/__init__.pyi Outdated Show resolved Hide resolved
cmtj/__init__.pyi Outdated Show resolved Hide resolved
core/stack.hpp Outdated Show resolved Hide resolved
tests/test_drivers.py Show resolved Hide resolved
tests/test_drivers.py Outdated Show resolved Hide resolved
docs/index.md Show resolved Hide resolved
tests/test_models.py Outdated Show resolved Hide resolved
tests/test_models.py Outdated Show resolved Hide resolved
LemurPwned and others added 4 commits June 15, 2024 14:07
@LemurPwned LemurPwned linked an issue Jul 22, 2024 that may be closed by this pull request
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

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.

Custom Scalar Driver Add DMI interaction
1 participant