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

👽 ⬆️ Upgrade process to open source version #2522

Merged
merged 16 commits into from
Nov 2, 2023

Conversation

je-cook
Copy link
Contributor

@je-cook je-cook commented Aug 15, 2023

Linked Issues

Partial of #1685 extended in #2616 and #2659

Closes #1685
Closes #151

Description

For PROCESS open sourcing we need to update some variables on our side. This is a first attempt to get everything working.

At the moment the equilibria EOF is bonkers

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 flake8 and black .
  • Documentation built locally and checked sphinx-build -W documentation/source documentation/build

@je-cook je-cook added EU-DEMO Tasks relating to the EU-DEMO project dependencies Pull requests that update a dependency file upstream Issues related to upstream dependencies labels Aug 15, 2023
@codecov
Copy link

codecov bot commented Oct 4, 2023

Codecov Report

Merging #2522 (13455ab) into develop (07f50cf) will increase coverage by 0.63%.
Report is 4 commits behind head on develop.
The diff coverage is 92.87%.

@@             Coverage Diff             @@
##           develop    #2522      +/-   ##
===========================================
+ Coverage    79.37%   80.00%   +0.63%     
===========================================
  Files          219      222       +3     
  Lines        23501    24722    +1221     
===========================================
+ Hits         18653    19779    +1126     
- Misses        4848     4943      +95     
Files Coverage Δ
bluemira/codes/params.py 92.45% <100.00%> (+0.45%) ⬆️
bluemira/codes/plasmod/params.py 98.24% <100.00%> (ø)
...uemira/codes/process/_equation_variable_mapping.py 100.00% <100.00%> (ø)
bluemira/codes/process/_inputs.py 100.00% <100.00%> (ø)
bluemira/codes/process/_teardown.py 96.90% <100.00%> (ø)
bluemira/codes/process/mapping.py 100.00% <100.00%> (ø)
bluemira/equilibria/coils/_field.py 95.56% <100.00%> (+0.08%) ⬆️
bluemira/base/parameter_frame/_frame.py 96.18% <91.66%> (-0.62%) ⬇️
bluemira/codes/_freecadapi.py 84.99% <50.00%> (-0.08%) ⬇️
bluemira/codes/interface.py 86.40% <50.00%> (ø)
... and 12 more

... and 4 files with indirect coverage changes

@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

⚠️ Warning Report

Found 0 new warnings, 0 fixed warnings. 🎉

All warnings (10)

On collect

  • /usr/share/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.
  • /usr/share/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.
  • /usr/share/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.
  • /usr/share/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.
  • /usr/share/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.
  • /usr/share/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.
  • /usr/share/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.
  • /usr/share/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.

On runtest

  • /home/runner/work/bluemira/bluemira/tests/builders/test_tf_coils.py:63: 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')

je-cook and others added 14 commits October 27, 2023 10:25
* 👽️ Data removal/moved

* 👽️ Non existant filepath changed

* add NLopt version correction to install-process.sh

* fix PROCESS radial build plot

* fix PROCESS plotting better

* first pass PROCESS inputs

* first pass PROCESS inputs

* formatting

* finish constraint equations

* iteration variables

* iteration variables

* iteration variables

* start on bounds

* to_invariable

* bounds

* fix constraints and change input values

* start adding starting point and change dr_tk_cas etc

* add fatigue variables

* fix PROCESS to run but problems with pulse length and BB pumping power

* slight progress

* some cleanup

* still not there

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* minor

* itvar numbers

* pause

* constraint equation mapping

* objective equation mapping

* objective equation mapping

* duplication defense

* favlue mapping

* output

* example

* fuller example

* add missing plasma models

* missed one

* add TF coil models

* more switches

* add eq var mapping file

* move template builder to api.py

* put template builder in separate file

* split out model mappings

* PROCESSModel

* self not cls

* flake8 flag for hack

* flake8 flag for hack

* docstring

* incorporate mechanics into template builder

* need to restart PC

* start piping into example

* slow an dsteady progress

* pause before rebase

* match install script

* CHEEKY NOQA

* whoops

* typos and input additions

* typos and input additions

* more missing inputs

* impurity handling

* more or less done with the PROCESS API

* inputs and tk_ts duplicaiton

* string bound weirdness

* remove spurious int

* add missing fimp

* fix missing primary pumping model

* add mode bloody switches

* Constraint enum

* objective enum

* pipe through and clean up

* update radial build example

* fix typing

* tuple

---------

Co-authored-by: james <james.cook1@ukaea.uk>
…tions (#2659)

* add model selection mechanics

* do one and move to example

* add template builder mechanics

* concision

* undo test mods

* also check variables

* populate some cases

* minor

* minor

* start on constraint equation fancy enums

* why do i have to do this

* its the weekend and i am CS fatigue

* fold in constraints

* tuples not lists

* finish constraints but a number of inconsistencies in PROCESS documentation

* adjust_variable

* warning fixes and catch typos and bugs

* more honing in on IN.DAT

* cpttf_mak removed

* model requires_values tuple

* better tuples of one

* missing inputs for constraints

* more missing inputs - not making this easy..

* remove ffuspow

* add taulimit

* taulimit

* missing tuple of one

* missing tuple of one part 2

* picky ruff

* add test for bad var name

* add test for repeated variable

* add another warning test

* check it was added too

* check bad name adjust

* test warn on overwrite

* test impurity shenanigans

* test warn on missing input model

* test warn on overwrite model

* was missing an assert

* check for missing itvars

* better check of existence for constraint itv warning

* tuples of one

* 24 is not used wtf

* 55 not used

* missing inputs

* more not used

* oacddp no longer used?!

* missing fvale mapping

* some sanity stuff but still not working

* the longest it ever  took to fail

* missed a tuple of one

* fix install script and add tests

* match up EUDEMO run

* update align some defaults

* get rid of obsolete PROCESS names

* adding endless names

* remove wrong / obsolete names

* the journey to nowhere continues

* more names

* divertor variables

* PF stuff

* physics

* physics

* TF reshuffle

* final ordering clean up

* final clean

* final clean

* couple minor tweaks

* final tweak

* explicitly apply default bounds to variables

* typo

* all bounds

* start on None

* nums to None

* lists to None

* ixc icc bounds None

* default bounds

* remove non default models

* truly default bounds

* constraint ordering

* defaults

* full defaults from ref IN.DAT

* working but feels fragile

* work on integration test

* work on integration test

* nearly there

* remove fpinj as default f-value

* test inclusion

* value tweaks in raial build and runs

* 🚑️ Fixing PROCESS InDat writer (#2690)

* 🚑️ Fixing PROCESS InDat writer

* 🐛 Need to import Parameter for dynamic typechecking

* ✅ Add test for template writing

* ✅ Test from params too

* 🎨 Add option to get params out

* ✅ Fix template builder tests

* 🐛 Fix params that were not sent

* 🎨 Use self as it is self

* 🚧 WIP None avoidance

* 🎨 Add back params

* ♻️ Cleanup

* ✅ Fix impurities test

* ✅ Fix tests

* 🐛 Skip tests if process not installed

* 📌 Upgrade env and fix test

* 🎨 Update env

* 🐛 Fix env

* 📝 Improve documentation

* 🐛 Fix runtitle

* 🏷️ Optional

* 🎨 Add runtitle

* 🏗️ Fix impurity data reading

* 📝 In eV not keV

* 📝 Docs

* 🎨 Use old env

* 🐛 ClassVar breaks stuff

* 🐛 Bad rebase

* 🚨 Fix formatting

* 🚧 TMP environment changes

* 🐛 Fix radial build

* 🐛 Sort PROCESS iteration variables

* Add PROCESS API example (#2740)

* minor

* complete example CBA to make a converging one that isnt EU-DEMO

* preamble

* add example to TOC t ree

* update impurities id

* udpate example

* improve example

* update fimp( to fimp()

* 👷 Exclude process example from examples CI

---------

Co-authored-by: james <james.cook1@ukaea.uk>

---------

Co-authored-by: je-cook <81617086+je-cook@users.noreply.github.com>
Co-authored-by: james <james.cook1@ukaea.uk>
* first pass mappings

* long_name not long name

* populate PROCESS params

* unit issue

* finish process params descriptions

* 💩 Enable really bad units

* mapping fixes

* start on special ase mechanics

* shield + vv shenanigans

* finish applying hacks

* add q_0 to test params

* add mslimit to test data

* add sigma cs

* add missing params to test data

* move q out of OUT mapping

* add proper TODOO

* ✨ Allow different in and out names for external codes (#2750)

* ✨ Allow different in and out names for external codes

* ✅ Add tests

* 🚧 A horrible hack for value=None unit=crap

* 🍻 Actually it might be ok

* manually turn shldith send back on

---------

Co-authored-by: james <james.cook1@ukaea.uk>
Co-authored-by: je-cook <81617086+je-cook@users.noreply.github.com>
je-cook and others added 2 commits November 1, 2023 13:10
* 🚧 WIP get eudemo working

* 🎨 Neater offset fix

* 🎨 Safe xxw

* 🙈 'stabilise' coil supports optimisation

* PROCESS inputs tweaks for EU-DEMO  (#2771)

* safety factor to 3.5

* CS fatigue inputs to SS316LN

* CS fatigue inputs to SS316LN

* working set?

* 🎨 Jc converges

---------

Co-authored-by: james <james.cook1@ukaea.uk>

* 🎨 + marker for coils with no current

* 🎨 Make xxw easier to decipher

---------

Co-authored-by: CoronelBuendia <matti.coleman@gmail.com>
@je-cook je-cook marked this pull request as ready for review November 2, 2023 09:44
@je-cook je-cook requested review from a team as code owners November 2, 2023 09:44
Copy link

sonarcloud bot commented Nov 2, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 17 Code Smells

No Coverage information No Coverage information
12.1% 12.1% Duplication

Copy link
Contributor

@oliverfunk oliverfunk left a comment

Choose a reason for hiding this comment

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

👏

@je-cook je-cook merged commit a9bda1b into develop Nov 2, 2023
5 checks passed
@je-cook je-cook deleted the je-cook/process_v3_upgrade branch November 2, 2023 12:58
je-cook added a commit that referenced this pull request Nov 2, 2023
* 🚧 First attempt at updating process to open source version

* 👽️ Data removal/moved

* 👽️ Non existant filepath changed

* 🎨 Add back install script

* 🎨 New url

* 🎨 Main

* 🐛 Working env and process for OS version

* 🎨 Update logflush

* ✅ Fix tests

* 🚨 Comment out thermalshields

* 🐛 Resolve conflict

* WIP: Python API to PROCESS (#2616)

* 👽️ Data removal/moved

* 👽️ Non existant filepath changed

* add NLopt version correction to install-process.sh

* fix PROCESS radial build plot

* fix PROCESS plotting better

* first pass PROCESS inputs

* first pass PROCESS inputs

* formatting

* finish constraint equations

* iteration variables

* iteration variables

* iteration variables

* start on bounds

* to_invariable

* bounds

* fix constraints and change input values

* start adding starting point and change dr_tk_cas etc

* add fatigue variables

* fix PROCESS to run but problems with pulse length and BB pumping power

* slight progress

* some cleanup

* still not there

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* minor

* itvar numbers

* pause

* constraint equation mapping

* objective equation mapping

* objective equation mapping

* duplication defense

* favlue mapping

* output

* example

* fuller example

* add missing plasma models

* missed one

* add TF coil models

* more switches

* add eq var mapping file

* move template builder to api.py

* put template builder in separate file

* split out model mappings

* PROCESSModel

* self not cls

* flake8 flag for hack

* flake8 flag for hack

* docstring

* incorporate mechanics into template builder

* need to restart PC

* start piping into example

* slow an dsteady progress

* pause before rebase

* match install script

* CHEEKY NOQA

* whoops

* typos and input additions

* typos and input additions

* more missing inputs

* impurity handling

* more or less done with the PROCESS API

* inputs and tk_ts duplicaiton

* string bound weirdness

* remove spurious int

* add missing fimp

* fix missing primary pumping model

* add mode bloody switches

* Constraint enum

* objective enum

* pipe through and clean up

* update radial build example

* fix typing

* tuple

---------

Co-authored-by: james <james.cook1@ukaea.uk>

* PROCESS API enhancement: required input values listed for model selections (#2659)

* add model selection mechanics

* do one and move to example

* add template builder mechanics

* concision

* undo test mods

* also check variables

* populate some cases

* minor

* minor

* start on constraint equation fancy enums

* why do i have to do this

* its the weekend and i am CS fatigue

* fold in constraints

* tuples not lists

* finish constraints but a number of inconsistencies in PROCESS documentation

* adjust_variable

* warning fixes and catch typos and bugs

* more honing in on IN.DAT

* cpttf_mak removed

* model requires_values tuple

* better tuples of one

* missing inputs for constraints

* more missing inputs - not making this easy..

* remove ffuspow

* add taulimit

* taulimit

* missing tuple of one

* missing tuple of one part 2

* picky ruff

* add test for bad var name

* add test for repeated variable

* add another warning test

* check it was added too

* check bad name adjust

* test warn on overwrite

* test impurity shenanigans

* test warn on missing input model

* test warn on overwrite model

* was missing an assert

* check for missing itvars

* better check of existence for constraint itv warning

* tuples of one

* 24 is not used wtf

* 55 not used

* missing inputs

* more not used

* oacddp no longer used?!

* missing fvale mapping

* some sanity stuff but still not working

* the longest it ever  took to fail

* missed a tuple of one

* fix install script and add tests

* match up EUDEMO run

* update align some defaults

* get rid of obsolete PROCESS names

* adding endless names

* remove wrong / obsolete names

* the journey to nowhere continues

* more names

* divertor variables

* PF stuff

* physics

* physics

* TF reshuffle

* final ordering clean up

* final clean

* final clean

* couple minor tweaks

* final tweak

* explicitly apply default bounds to variables

* typo

* all bounds

* start on None

* nums to None

* lists to None

* ixc icc bounds None

* default bounds

* remove non default models

* truly default bounds

* constraint ordering

* defaults

* full defaults from ref IN.DAT

* working but feels fragile

* work on integration test

* work on integration test

* nearly there

* remove fpinj as default f-value

* test inclusion

* value tweaks in raial build and runs

* 🚑️ Fixing PROCESS InDat writer (#2690)

* 🚑️ Fixing PROCESS InDat writer

* 🐛 Need to import Parameter for dynamic typechecking

* ✅ Add test for template writing

* ✅ Test from params too

* 🎨 Add option to get params out

* ✅ Fix template builder tests

* 🐛 Fix params that were not sent

* 🎨 Use self as it is self

* 🚧 WIP None avoidance

* 🎨 Add back params

* ♻️ Cleanup

* ✅ Fix impurities test

* ✅ Fix tests

* 🐛 Skip tests if process not installed

* 📌 Upgrade env and fix test

* 🎨 Update env

* 🐛 Fix env

* 📝 Improve documentation

* 🐛 Fix runtitle

* 🏷️ Optional

* 🎨 Add runtitle

* 🏗️ Fix impurity data reading

* 📝 In eV not keV

* 📝 Docs

* 🎨 Use old env

* 🐛 ClassVar breaks stuff

* 🐛 Bad rebase

* 🚨 Fix formatting

* 🚧 TMP environment changes

* 🐛 Fix radial build

* 🐛 Sort PROCESS iteration variables

* Add PROCESS API example (#2740)

* minor

* complete example CBA to make a converging one that isnt EU-DEMO

* preamble

* add example to TOC t ree

* update impurities id

* udpate example

* improve example

* update fimp( to fimp()

* 👷 Exclude process example from examples CI

---------

Co-authored-by: james <james.cook1@ukaea.uk>

---------

Co-authored-by: je-cook <81617086+je-cook@users.noreply.github.com>
Co-authored-by: james <james.cook1@ukaea.uk>

* Update PROCESS v3 (OS) mappings for EU-DEMO (#2749)

* first pass mappings

* long_name not long name

* populate PROCESS params

* unit issue

* finish process params descriptions

* 💩 Enable really bad units

* mapping fixes

* start on special ase mechanics

* shield + vv shenanigans

* finish applying hacks

* add q_0 to test params

* add mslimit to test data

* add sigma cs

* add missing params to test data

* move q out of OUT mapping

* add proper TODOO

* ✨ Allow different in and out names for external codes (#2750)

* ✨ Allow different in and out names for external codes

* ✅ Add tests

* 🚧 A horrible hack for value=None unit=crap

* 🍻 Actually it might be ok

* manually turn shldith send back on

---------

Co-authored-by: james <james.cook1@ukaea.uk>
Co-authored-by: je-cook <81617086+je-cook@users.noreply.github.com>

* ⬆️ Use new process release

* 🚧 Get EUDEMO running (#2752)

* 🚧 WIP get eudemo working

* 🎨 Neater offset fix

* 🎨 Safe xxw

* 🙈 'stabilise' coil supports optimisation

* PROCESS inputs tweaks for EU-DEMO  (#2771)

* safety factor to 3.5

* CS fatigue inputs to SS316LN

* CS fatigue inputs to SS316LN

* working set?

* 🎨 Jc converges

---------

Co-authored-by: james <james.cook1@ukaea.uk>

* 🎨 + marker for coils with no current

* 🎨 Make xxw easier to decipher

---------

Co-authored-by: CoronelBuendia <matti.coleman@gmail.com>

---------

Co-authored-by: CoronelBuendia <matti.coleman@gmail.com>
je-cook added a commit that referenced this pull request Nov 2, 2023
* 🚧 First attempt at updating process to open source version

* 👽️ Data removal/moved

* 👽️ Non existant filepath changed

* 🎨 Add back install script

* 🎨 New url

* 🎨 Main

* 🐛 Working env and process for OS version

* 🎨 Update logflush

* ✅ Fix tests

* 🚨 Comment out thermalshields

* 🐛 Resolve conflict

* WIP: Python API to PROCESS (#2616)

* 👽️ Data removal/moved

* 👽️ Non existant filepath changed

* add NLopt version correction to install-process.sh

* fix PROCESS radial build plot

* fix PROCESS plotting better

* first pass PROCESS inputs

* first pass PROCESS inputs

* formatting

* finish constraint equations

* iteration variables

* iteration variables

* iteration variables

* start on bounds

* to_invariable

* bounds

* fix constraints and change input values

* start adding starting point and change dr_tk_cas etc

* add fatigue variables

* fix PROCESS to run but problems with pulse length and BB pumping power

* slight progress

* some cleanup

* still not there

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* PROCESS documentation no longer has teh descriptions of ixc and icc RIP

* minor

* itvar numbers

* pause

* constraint equation mapping

* objective equation mapping

* objective equation mapping

* duplication defense

* favlue mapping

* output

* example

* fuller example

* add missing plasma models

* missed one

* add TF coil models

* more switches

* add eq var mapping file

* move template builder to api.py

* put template builder in separate file

* split out model mappings

* PROCESSModel

* self not cls

* flake8 flag for hack

* flake8 flag for hack

* docstring

* incorporate mechanics into template builder

* need to restart PC

* start piping into example

* slow an dsteady progress

* pause before rebase

* match install script

* CHEEKY NOQA

* whoops

* typos and input additions

* typos and input additions

* more missing inputs

* impurity handling

* more or less done with the PROCESS API

* inputs and tk_ts duplicaiton

* string bound weirdness

* remove spurious int

* add missing fimp

* fix missing primary pumping model

* add mode bloody switches

* Constraint enum

* objective enum

* pipe through and clean up

* update radial build example

* fix typing

* tuple

---------

Co-authored-by: james <james.cook1@ukaea.uk>

* PROCESS API enhancement: required input values listed for model selections (#2659)

* add model selection mechanics

* do one and move to example

* add template builder mechanics

* concision

* undo test mods

* also check variables

* populate some cases

* minor

* minor

* start on constraint equation fancy enums

* why do i have to do this

* its the weekend and i am CS fatigue

* fold in constraints

* tuples not lists

* finish constraints but a number of inconsistencies in PROCESS documentation

* adjust_variable

* warning fixes and catch typos and bugs

* more honing in on IN.DAT

* cpttf_mak removed

* model requires_values tuple

* better tuples of one

* missing inputs for constraints

* more missing inputs - not making this easy..

* remove ffuspow

* add taulimit

* taulimit

* missing tuple of one

* missing tuple of one part 2

* picky ruff

* add test for bad var name

* add test for repeated variable

* add another warning test

* check it was added too

* check bad name adjust

* test warn on overwrite

* test impurity shenanigans

* test warn on missing input model

* test warn on overwrite model

* was missing an assert

* check for missing itvars

* better check of existence for constraint itv warning

* tuples of one

* 24 is not used wtf

* 55 not used

* missing inputs

* more not used

* oacddp no longer used?!

* missing fvale mapping

* some sanity stuff but still not working

* the longest it ever  took to fail

* missed a tuple of one

* fix install script and add tests

* match up EUDEMO run

* update align some defaults

* get rid of obsolete PROCESS names

* adding endless names

* remove wrong / obsolete names

* the journey to nowhere continues

* more names

* divertor variables

* PF stuff

* physics

* physics

* TF reshuffle

* final ordering clean up

* final clean

* final clean

* couple minor tweaks

* final tweak

* explicitly apply default bounds to variables

* typo

* all bounds

* start on None

* nums to None

* lists to None

* ixc icc bounds None

* default bounds

* remove non default models

* truly default bounds

* constraint ordering

* defaults

* full defaults from ref IN.DAT

* working but feels fragile

* work on integration test

* work on integration test

* nearly there

* remove fpinj as default f-value

* test inclusion

* value tweaks in raial build and runs

* 🚑️ Fixing PROCESS InDat writer (#2690)

* 🚑️ Fixing PROCESS InDat writer

* 🐛 Need to import Parameter for dynamic typechecking

* ✅ Add test for template writing

* ✅ Test from params too

* 🎨 Add option to get params out

* ✅ Fix template builder tests

* 🐛 Fix params that were not sent

* 🎨 Use self as it is self

* 🚧 WIP None avoidance

* 🎨 Add back params

* ♻️ Cleanup

* ✅ Fix impurities test

* ✅ Fix tests

* 🐛 Skip tests if process not installed

* 📌 Upgrade env and fix test

* 🎨 Update env

* 🐛 Fix env

* 📝 Improve documentation

* 🐛 Fix runtitle

* 🏷️ Optional

* 🎨 Add runtitle

* 🏗️ Fix impurity data reading

* 📝 In eV not keV

* 📝 Docs

* 🎨 Use old env

* 🐛 ClassVar breaks stuff

* 🐛 Bad rebase

* 🚨 Fix formatting

* 🚧 TMP environment changes

* 🐛 Fix radial build

* 🐛 Sort PROCESS iteration variables

* Add PROCESS API example (#2740)

* minor

* complete example CBA to make a converging one that isnt EU-DEMO

* preamble

* add example to TOC t ree

* update impurities id

* udpate example

* improve example

* update fimp( to fimp()

* 👷 Exclude process example from examples CI

---------

Co-authored-by: james <james.cook1@ukaea.uk>

---------

Co-authored-by: je-cook <81617086+je-cook@users.noreply.github.com>
Co-authored-by: james <james.cook1@ukaea.uk>

* Update PROCESS v3 (OS) mappings for EU-DEMO (#2749)

* first pass mappings

* long_name not long name

* populate PROCESS params

* unit issue

* finish process params descriptions

* 💩 Enable really bad units

* mapping fixes

* start on special ase mechanics

* shield + vv shenanigans

* finish applying hacks

* add q_0 to test params

* add mslimit to test data

* add sigma cs

* add missing params to test data

* move q out of OUT mapping

* add proper TODOO

* ✨ Allow different in and out names for external codes (#2750)

* ✨ Allow different in and out names for external codes

* ✅ Add tests

* 🚧 A horrible hack for value=None unit=crap

* 🍻 Actually it might be ok

* manually turn shldith send back on

---------

Co-authored-by: james <james.cook1@ukaea.uk>
Co-authored-by: je-cook <81617086+je-cook@users.noreply.github.com>

* ⬆️ Use new process release

* 🚧 Get EUDEMO running (#2752)

* 🚧 WIP get eudemo working

* 🎨 Neater offset fix

* 🎨 Safe xxw

* 🙈 'stabilise' coil supports optimisation

* PROCESS inputs tweaks for EU-DEMO  (#2771)

* safety factor to 3.5

* CS fatigue inputs to SS316LN

* CS fatigue inputs to SS316LN

* working set?

* 🎨 Jc converges

---------

Co-authored-by: james <james.cook1@ukaea.uk>

* 🎨 + marker for coils with no current

* 🎨 Make xxw easier to decipher

---------

Co-authored-by: CoronelBuendia <matti.coleman@gmail.com>

---------

Co-authored-by: CoronelBuendia <matti.coleman@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file EU-DEMO Tasks relating to the EU-DEMO project upstream Issues related to upstream dependencies
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

Update default PROCESS install to more recent version Use Python interface to PROCESS
3 participants