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

WIP: Rectangular XS current source from a BluemiraWire #3114

Draft
wants to merge 2 commits into
base: develop
Choose a base branch
from

Conversation

CoronelBuendia
Copy link
Contributor

Linked Issues

Closes #{ID}

Description

I think something like this would do the job for highest-fidelity fastest-run-time for the picture frame coils, but the function has some severe limitations at present, and lacks in generality.

image

This is quite clearly not yet working for TripleArc, and I am not sure why... It's either something really stupid with coordinate systems, or something much more sinister.

image

Interface Changes

Checklist

I confirm that I have completed the following checks:

  • Tests run locally and pass pytest tests --reactor
  • Code quality checks run locally and pass pre-commit run --from-ref develop --to-ref HEAD
  • Documentation built locally and checked sphinx-build -W documentation/source documentation/build

@CoronelBuendia CoronelBuendia added the magnetostatics Tasks relating to the magnetostatics module label Mar 20, 2024
@CoronelBuendia CoronelBuendia requested a review from a team as a code owner March 20, 2024 10:02
Copy link

sonarcloud bot commented Mar 20, 2024

Quality Gate Passed Quality Gate passed

Issues
1 New issue
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
10.3% Duplication on New Code

See analysis details on SonarCloud

@CoronelBuendia
Copy link
Contributor Author

@kj5248 have a go with this and see if it will do what you want. It needs testing (do not trust pictures! - in this case I have just used them to tell me if the field is symmetric about the Z-plane, and that we recover 1/r behaviour). It still isn't quite there, but I've just been doing this during a workshop and have exceeded the time I wish to spend on this.

Copy link
Contributor

⚠️ Warning Report

Found 0 new warnings, 0 fixed warnings. 🎉

All warnings (21)

On runtest

  • /home/runner/work/bluemira/bluemira/tests/equilibria/test_file.py:181: TypeHintWarning: Skipping type check against 'npt.NDArray[np.float64]'; this looks like a string-form forward reference imported from another module
  • /home/runner/work/bluemira/bluemira/tests/equilibria/test_file.py:181: TypeHintWarning: Skipping type check against 'Optional[npt.NDArray[np.float64]]'; this looks like a string-form forward reference imported from another module
  • /home/runner/work/bluemira/bluemira/tests/equilibria/test_file.py:181: TypeHintWarning: Skipping type check against 'str'; this looks like a string-form forward reference imported from another module
  • /home/runner/work/bluemira/bluemira/tests/equilibria/test_file.py:181: TypeHintWarning: Skipping type check against 'int'; this looks like a string-form forward reference imported from another module
  • /home/runner/work/bluemira/bluemira/tests/builders/test_tf_coils.py:46: DeprecationWarning: RippleConstrainedLengthGOP API has changed, please specify how you want to constrain TF ripple by using one of the available RipplePointSelector classes. Defaulting to an EquispacedSelector with n_rip_points=3 for now.
  • /home/runner/work/bluemira/bluemira/bluemira/base/reactor.py:677: DeprecationWarning: Using kwarg 'dim' is no longer supported. Simply pass in the dimensions you would like to show, e.g. show_cad('xz')
  • /home/runner/work/bluemira/bluemira/tests/equilibria/test_file.py:181: TypeHintWarning: Skipping type check against 'float'; this looks like a string-form forward reference imported from another module
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/h5py/__init__.py:36: UserWarning: h5py is running against HDF5 1.14.3 when it was built against 1.14.2, this may cause problems
  • /home/runner/work/bluemira/bluemira/tests/equilibria/test_file.py:181: TypeHintWarning: Skipping type check against 'Optional[str]'; this looks like a string-form forward reference imported from another module
  • /home/runner/work/bluemira/bluemira/eudemo/eudemo/tf_coils/tf_coils.py:338: DeprecationWarning: Argument 'separatrix' is deprecated, argument 'ripple_wire' is used instead.

On collect

  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/pkg_resources/__init__.py:2832: DeprecationWarning: Deprecated call to pkg_resources.declare_namespace('sphinxcontrib'). Implementing implicit namespace packages (as specified in PEP 420) is preferred to pkg_resources.declare_namespace. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: The module 'bluemira.equilibria.opt_constraints' is deprecated and will be removed in v2.0.0. See https://bluemira.readthedocs.io/en/latest/optimisation/optimisation.html for documentation of the new optimisation module.
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/pkg_resources/__init__.py:2832: DeprecationWarning: Deprecated call to pkg_resources.declare_namespace('mpl_toolkits'). Implementing implicit namespace packages (as specified in PEP 420) is preferred to pkg_resources.declare_namespace. See https://setuptools.pypa.io/en/latest/references/keywords.html#keyword-namespace-packages
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: The module 'bluemira.geometry.optimisation._optimisation_old' is deprecated and will be removed in v2.0.0. See https://bluemira.readthedocs.io/en/latest/optimisation/optimisation.html for documentation of the new optimisation module.
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: The module 'bluemira.equilibria.opt_problems' is deprecated and will be removed in v2.0.0. See https://bluemira.readthedocs.io/en/latest/optimisation/optimisation.html for documentation of the new optimisation module.
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: The module 'bluemira.utilities.opt_tools' is deprecated and will be removed in v2.0.0. See https://bluemira.readthedocs.io/en/latest/optimisation/optimisation.html for documentation of the new optimisation module.
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: The module 'bluemira.utilities.opt_problems' is deprecated and will be removed in v2.0.0. See https://bluemira.readthedocs.io/en/latest/optimisation/optimisation.html for documentation of the new optimisation module.
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: The module 'bluemira.equilibria.opt_objectives' is deprecated and will be removed in v2.0.0. See https://bluemira.readthedocs.io/en/latest/optimisation/optimisation.html for documentation of the new optimisation module.
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: The module 'bluemira.utilities.optimiser' is deprecated and will be removed in version 2.0.0. See https://bluemira.readthedocs.io/en/latest/optimisation/optimisation.html for documentation of the new optimisation module.
  • /home/runner/miniconda3/envs/bluemira/lib/python3.8/site-packages/shiboken2/files.dir/shibokensupport/feature.py:139: DeprecationWarning: The module 'bluemira.equilibria.opt_constraint_funcs' is deprecated and will be removed in v2.0.0. See https://bluemira.readthedocs.io/en/latest/optimisation/optimisation.html for documentation of the new optimisation module.

Copy link

codecov bot commented Mar 20, 2024

Codecov Report

Attention: Patch coverage is 92.45283% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 80.08%. Comparing base (438f4d7) to head (df34184).
Report is 3 commits behind head on develop.

Files Patch % Lines
bluemira/magnetostatics/circuits.py 90.24% 4 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #3114      +/-   ##
===========================================
+ Coverage    79.71%   80.08%   +0.37%     
===========================================
  Files          227      227              
  Lines        25513    25577      +64     
===========================================
+ Hits         20337    20483     +146     
+ Misses        5176     5094      -82     

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

@je-cook je-cook force-pushed the develop branch 5 times, most recently from 5a50acb to 7574352 Compare May 15, 2024 08:13
@je-cook je-cook marked this pull request as draft June 3, 2024 05:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
magnetostatics Tasks relating to the magnetostatics module
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant