Releases: Fusion-Power-Plant-Framework/bluemira
v2.5.0
Environment changes
We have upgraded FreeCAD to version 1 in this release which should help with the stability of CAD creation. This will require a complete reinstall of your environment because of the many dependency changes that FreeCAD pulls in external to python.
Pivy bug
Due to a bug in the released version of pivy (0.6.9) we have to patch a few python imports to fix the FreeCAD viewer. The fix has been merged upstream and we are waiting for the 6.10 release of pivy (coin3d/pivy@e81c5f3). We have a script that automatically applies this patch to pivy on the first import of the new bluemira version but in certain environments this seems to fail. The below bash script can be run from the root of the repository to fix pivy for each environment.
PIVYPATH=$(python -c 'import pivy; from pathlib import Path; print(Path(pivy.__file__).parent)')
patch -l -N -d $PIVYPATH -p 2 < ./bluemira/codes/pivy.patch
What's Changed
- Dependency update after v2.4.0 by @fppf-bot in #3649
- Ruff TODO fixes by @oliverfunk in #3529
- Add check as we are assuming mid plane by @geograham in #3674
- Error found for grid z_range, added and tested suggested correction by @geograham in #3675
- 🎨 Improve install script by @je-cook in #3677
- Core radiation fix by @DarioV86 in #3624
- Replaced plotting using Coordinate class in flux_surfaces.py as this method no longer exists by @kj5248 in #3682
- CI report comments fix by @oliverfunk in #3686
- Changed comments workflow to pickup new test-report.json by @oliverfunk in #3687
- Bump codecov/codecov-action from 4 to 5 by @dependabot in #3698
- Papercut: Add docstrings for equations by @athoynilimanew in #3697
- Enable doc201 by @je-cook in #3598
- Added tests for freecadapi from TODO list on circle and ellipse arcs by @kj5248 in #3703
- Completed Doc201 for neutronics as well. by @OceanNuclear in #3705
- Bump tornado from 6.4.1 to 6.4.2 in /requirements/uv by @dependabot in #3710
- 🐛 Missed EQSummary use by @je-cook in #3704
- ⬆️ FreeCAD v1 by @je-cook in #3304
- Checks for bluemira capitalisation only at start of sentences by @kj5248 in #3714
- 👷 Fix examples CI by @je-cook in #3724
Full Changelog: v2.4.0...v2.5.0
v2.4.0
What's Changed
- Dependency update after v2.3.0 by @fppf-bot in #3596
- updated docs for cryostat.py, dealt with TODO's in there as well. by @OceanNuclear in #3599
- Fixing heat flux corrective factor by @DarioV86 in #3558
- Add to/check for equations and references in docstrings by @geograham in #3603
- Possibly the tiniest merge request so far by @geograham in #3607
- Mambaforge is deprecated, replace with miniforge by @je-cook in #3597
- Fix charged particle heat flux calculation for double null case with only one mid-plane point by @DarioV86 in #3608
- 🎨 Control coil enforcement, constraint stabilisation and general cleanup by @je-cook in #3518
- add tmp_env.yml to .gitignore by @clmould in #3617
- 🎨 Relax interface to geometry tools by @je-cook in #3615
- 🐛 Fix miniforge init script by @je-cook in #3613
- 🐛 Fix demo bug by @je-cook in #3620
- 🎨 Logging cleanup by @je-cook in #3614
- Control coils missing by @geograham in #3626
- Remove old mambaforge references by @je-cook in #3632
- Fix display todo for faces by @je-cook in #3630
- 🎨 Add sources to sourceless input params by @je-cook in #3633
- Renamed the _data_to_plot attribute variable. by @OceanNuclear in #3635
- another miss🤦♂️ by @je-cook in #3639
- Changes to get flux_surfaces and find_legs by @geograham in #3616
- Select fs for sh fit metric by @geograham in #3642
- 📌 Max pin on eqdsk by @je-cook in #3643
- Lao polynomial fixes by @OceanNuclear in #3634
- DOI autolinking by @je-cook in #3644
Full Changelog: v2.3.0...v2.4.0
v2.3.0
What's Changed
- 🐛 Fix missing cocos from examples by @je-cook in #3494
- 🎨 Structural cleanup by @je-cook in #3486
- Ruff DOC501 implementation by @je-cook in #3487
- ✨ Install process in CI by @je-cook in #3490
- Added an option to configure the confinement time in RadiationSource by @kj5248 in #3506
- Improve wall detector structure #3437 (Papercut) by @athoynilimanew in #3505
- Equ read eqdsk fixes by @oliverfunk in #3522
- 🐛 Wrong sign for check by @je-cook in #3519
- 🐛 Fix radiation_transport example and add examples to CI by @je-cook in #3532
- fix to write_csv typing and removed extra indent for adding col_names by @kj5248 in #3534
- Remove some repetition from Greens by @geograham in #3272
- Thread in semianalytic psi into coil calculations by @je-cook in #3454
- ✨ INFO and greater to stdout WARNING and less to stderr by @je-cook in #3549
- ✅ Extra greens test by @je-cook in #3535
- 👷 Use uv to pin dependencies by @je-cook in #3493
- 🐛 Set _eqdsk on the instance not the class by @je-cook in #3569
- Updated docs to describe Circuits and SymmetricCircuits by @oliverfunk in #3523
- Add more radiation transport tests by @oliverfunk in #3570
Full Changelog: v2.2.1...v2.3.0
v2.2.1
What's Changed
- Dependency update after v2.2.0 by @fppf-bot in #3485
- Corrections and example updated for SH by @geograham in #3453
- 🔥 Remove old clip function by @je-cook in #3488
- Add toroidal coordinate transform functions, tests and documentation by @clmould in #3418
- add how to render docs locally to faq section of docs by @clmould in #3489
- hotfix: Custom Profiles, added abs() to B_0, I_p by @oliverfunk in #3491
New Contributors
Full Changelog: v2.2.0...v2.2.1
v2.2.0
What's Changed
- Made as many units in plasma_physics and fuel_cycle into SI as possible. by @OceanNuclear in #3374
- Dependency update after v2.1.0 by @fppf-bot in #3392
- 🚚 Move string coordinates simplification by @je-cook in #3393
- 🎨 Cleanup radiation transport by @je-cook in #3398
- 📝 Add known good wsl install instructions by @je-cook in #3395
- ✨ Add Neutronics Manager to eudemo by @je-cook in #3396
- Add the ability to reconstruct stellarator plasma boundary in cad form by @ym1906 in #3397
- ✨ Test Documentation code snippets by @je-cook in #3386
- 🏷️ More typing improvements by @je-cook in #3305
- 🐛 Catch debug folder path doesnt exist by @je-cook in #3391
- 🐛 Fix fork test selection by @je-cook in #3414
- add some tests for flux surface maker by @geograham in #3365
- Few changes to correct the radiation region extention by @DarioV86 in #3417
- 🧪 Fix bop image comparison test by @je-cook in #3431
- Bump certifi from 2024.6.2 to 2024.7.4 by @dependabot in #3424
- 🐛 Fix image links in introduction by @je-cook in #3432
- FilterMaterial typing fix by @oliverfunk in #3434
- Add radiation tools tests by @athoynilimanew in #3394
- 🐛 Log newlines when needed by @je-cook in #3435
- Various type and sonarcloud cleanup by @je-cook in #3430
- Geom opt typing by @oliverfunk in #3448
- 🐛 Fix sonarcloud quality bug by @je-cook in #3450
- 🐛 Fix logging setup by @je-cook in #3449
- Split out force constraint calculations into separate functions by @geograham in #3451
- (Few) Complete docstrings for physics/equation based functions by @athoynilimanew in #3436
- Minor improvements to revolving and bspline use by @je-cook in #3467
- 🎨 Add loft arg by @je-cook in #3468
- 🐛 Enforce use of ordered edges by @je-cook in #3095
- ⚗️ CI fix by @je-cook in #3475
- 🚚 Move to new eqdsk package by @je-cook in #3416
New Contributors
Full Changelog: v2.1.0...v2.2.0
v2.1.0
What's Changed
- 🐛 Fix helmholz example by @je-cook in #3288
- ✅ Fix process race condition in test by @je-cook in #3290
- 🐛 Fix radiation transport tests by @je-cook in #3289
- ✅ Fix folder deletion race condition by @je-cook in #3291
- Bump requests from 2.31.0 to 2.32.0 by @dependabot in #3293
- ✅ Save coil names (and coil types) in eqdsk.json's by @athoynilimanew in #3242
- Clip the grid in the z-direction for SH LCFS fit metric by @geograham in #3215
- 🐛 Fix process model enums by @je-cook in #3297
- 🎨 Improve plotting styles for equilibria by @je-cook in #3295
- Fix units and unit-conversion factors by @OceanNuclear in #2891
- 🎨 Clearer naming wrt ib/ob, upper/lower and hfs/lfs by @je-cook in #3319
- Adding more unit tests to radiation source model by @kj5248 in #3333
- Tests for advective transport in radiation transport by @kj5248 in #3335
- Changed the cutting method of the divertor by @OceanNuclear in #3318
- Upload artifacts v4 by @oliverfunk in #3334
- ✨ Equilibria constraint naming by @je-cook in #3327
- 🎨 Smooth filled contour edges for LCFS by @je-cook in #3336
- Bump tornado from 6.4 to 6.4.1 by @dependabot in #3343
- ✨ Add loft to freecadapi and geometry by @je-cook in #3337
- Import coilset details from eqdsk if available by @je-cook in #3356
- PARALLEL MixtureConnectionType by @ivanmaione in #3358
- SymmetricCircuits & Current opt state vector reduction by @oliverfunk in #3292
- Add more tests for radiation source model by @athoynilimanew in #3362
Full Changelog: v2.0.0...v2.1.0
v2.0.0
Major API changes
This release updates our minimal supported python to 3.10, replaces fenics with fenicsx and removes the old deprecated optimisation infrastructure among other changes. Please see #2320 for a full list of API breakages.
What's Changed
- ⬆️ Python 3.10 by @je-cook in #2887
- Dependency update after v1.10.0 by @github-actions in #3128
- Addition of discretize_reduced function to improve TF coil magnetostatics computation time by @kj5248 in #3096
- Bump pillow from 10.2.0 to 10.3.0 by @dependabot in #3154
- 👷 Split out CI into many jobs by @je-cook in #3152
- 🐛 Catch pyvista segfault by @je-cook in #3165
- 🩺 Ignore numba coverage by @je-cook in #3166
- V2 deprecation removals by @je-cook in #2320
- Sweep shape API additions by @je-cook in #3130
- 🧱 Missed pinning of c-blosc2 by @je-cook in #3171
- 🐛 Fix ordering of PROCESS impurity data outputs by @je-cook in #3170
- Bump idna from 3.6 to 3.7 by @dependabot in #3172
- 🐛 Align install script with docs by @je-cook in #3173
- CI fix, from forked repo by @oliverfunk in #3185
- CI fix 2 by @oliverfunk in #3189
- CI fix 3 by @oliverfunk in #3191
- ✨ Add functionality to add custom mapping when running process #3174: Rebirth by @athoynilimanew in #3190
- Papercut typing fixes #3022 jmatthews by @kj5248 in #3186
- Make update_dependencies.sh executable by @oliverfunk in #3195
- 🚨 Reduce warnings in tests by @je-cook in #3208
- SH changes by @oliverfunk in #3193
- 🩹 Improve PROCESS not installed catching by @je-cook in #3211
- Radiation source model and coupling with cherab by @DarioV86 in #2224
- Papercut 3113 - use relative tolerances for constraints by @geograham in #3169
- 🐛Remove old optimisation errors by @je-cook in #3167
- 🐛 Bool -> boolean in CI by @je-cook in #3216
- Fix to incorrect PolyhedralPrismCurrentSource behaviour when inputted XS is in global not local coordinates by @kj5248 in #3188
- Papercut: Typing fix for transport solver in equilibrium_2d_coupling using new transport solver class by @kj5248 in #3233
- Corrected a.m.u. back into e by @OceanNuclear in #2893
- 🐛 Hacky fix for CAD rotation saving bug by @je-cook in #3235
- Move materials changes from neutronics feature branch by @je-cook in #3168
- Coilset optimisation state for enabling SymmetricCircuit position optimisation by @oliverfunk in #3018
PulsedCoilsetDesign
Passing in max_currents has no effect by @oliverfunk in #3194- CSV Writer by @athoynilimanew in #3237
- Bump jinja2 from 3.1.3 to 3.1.4 by @dependabot in #3254
- ⚡️ Increase number of artifacts requested for PR comments by @je-cook in #3257
- 📝 Roadmap update by @je-cook in #3240
- Sh tiny change by @geograham in #3241
- Add functionality for uneven endcaps polyhedral current source by @kj5248 in #3153
- 🩹 Pre release minor fixes by @je-cook in #3264
- Remove duplicate flux surface code from radiation_transport by @geograham in #3265
- Typing fixes by @je-cook in #3267
- ✨ 2D Neutronics feature branch by @je-cook in #2656
Full Changelog: v1.10.0...v2.0.0
v1.10.0
What's Changed
- Dependency update after v1.9.0 by @github-actions in #3016
- 🐛 Fix getting component manager type if annotations imported by @je-cook in #3019
- 🐛 Remove outdated process switch by @je-cook in #3020
- Fix incorrect application of EPS (Papercut/ issue #1084) by @OceanNuclear in #3000
- Reactor config addition for handling path expansion by @kj5248 in #3032
- Papercut: enumify text based choices by @athoynilimanew in #3021
- #3030: Modifications needed to run process by @athoynilimanew in #3031
- Urgent fix coil type by @athoynilimanew in #3036
- Separatrix mods for up/down split by @geograham in #2944
- 📝 More documentation on 3x3 matrices by @je-cook in #3071
- expose get_lcfs delta_start param by @oliverfunk in #3072
- ✅ Add iefrf = 13 by @athoynilimanew in #3074
- Catch on unable to find LCFS & SH function interface by @oliverfunk in #3078
- Fixed the :func:, :meth:, and :class: tags by @OceanNuclear in #3075
- Papercut type fixes by @geograham in #3053
- Papercut type fixes (#3022) by @athoynilimanew in #3092
- added axis to 3p arc by @oliverfunk in #3098
- ✨ Add more labels for Geometry Parameterisations by @je-cook in #3081
- Constraints - add more tests by @geograham in #2997
- Add gridded collocation option by @geograham in #3065
- Recreate coilset optimisation problem example by @athoynilimanew in #3041
- 📄 Licence shorthand change for zenodo by @je-cook in #3119
- Fixup examples by @je-cook in #3127
- 👽 Changes required for next release of PROCESS by @je-cook in #3073
Full Changelog: v1.9.0...v1.10.0
v1.9.0
What's Changed
- Dependency update after v1.8.0 by @github-actions in #2923
- Bump jinja2 from 3.1.2 to 3.1.3 by @dependabot in #2928
- Bump actions/cache from 3 to 4 by @dependabot in #2945
- Bump notebook from 7.0.6 to 7.0.7 by @dependabot in #2951
- Feature: polyhedral cross-section current sources and a general VIM formulation of 3-D magnetostatics by @CoronelBuendia in #2703
- Circular baffle with angled blanket by @oliverfunk in #2030
- Bump peter-evans/create-or-update-comment from 3 to 4 by @dependabot in #2973
- Bump peter-evans/find-comment from 2 to 3 by @dependabot in #2974
- Improve test coverage for EQDSK saving from
Equilibrium
by @CoronelBuendia in #2966 - Sph harmonics opt by @geograham in #2927
- Collate random seed setting by @athoynilimanew in #2978
- PROCESS - BM obsolete parameter names by @oliverfunk in #2979
- Bump codecov/codecov-action from 3 to 4 by @dependabot in #2987
- Fixed broken conditional statements in ComponentPlotter so now chooses correct plotting option by @kj5248 in #2980
- Add lower port tests by @je-cook in #2981
- 🐛 Fix Zenodo submission by @je-cook in #2996
- 🐛 Fix codecov upload by @je-cook in #2994
- Papercut complete, xtest are no longer failing. by @OceanNuclear in #2998
- ⬆️ 👽 Bump PROCESS version by @je-cook in #2977
- Add to examples README by @geograham in #3014
- 📝 Plan update Q1 24 by @je-cook in #3013
New Contributors
- @athoynilimanew made their first contribution in #2978
Full Changelog: v1.8.0...v1.9.0
v1.8.0
What's Changed
- Dependency update after v1.7.1 by @github-actions in #2790
- Papercut: Deprecating separatrix into ripple_wire by @OceanNuclear in #2829
- Papercut: Fix for showing/saving empty reactor by @oliverfunk in #2828
- 🧐 Setup default pytest temp dir for data by @je-cook in #2830
- ✅ Fix longrun process test by @je-cook in #2793
- Bump conda-incubator/setup-miniconda from 2 to 3 by @dependabot in #2846
- Changed license headers on all files by @oliverfunk in #2840
- Coilset label z ordering by @oliverfunk in #2875
- Standardise COP classes interfaces by @oliverfunk in #2772
- 👽️ FreeCAD 0.21.2 by @je-cook in #2864
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #2882
- 🐛 Fix examples CI by @je-cook in #2886
Full Changelog: v1.7.1...v1.8.0