From 283c4597fe995c5a63fcc787a1aa902db622fe2a Mon Sep 17 00:00:00 2001 From: Clair Mould <86794332+clmould@users.noreply.github.com> Date: Wed, 6 Mar 2024 09:57:02 +0000 Subject: [PATCH 1/6] scan example imput file investigation changes --- examples/a_scan_input_file_IN.DAT | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/a_scan_input_file_IN.DAT b/examples/a_scan_input_file_IN.DAT index 0cae5c4a77..9cf73bb98d 100644 --- a/examples/a_scan_input_file_IN.DAT +++ b/examples/a_scan_input_file_IN.DAT @@ -64,6 +64,7 @@ powfmax = 3000 *-----------------------* icc = 13 ixc = 21 * ftburn +ftburn = 0.9 * minimum burn time [s] tbrnmn = 7200.0 @@ -97,6 +98,7 @@ fbetatry = 0.5 *--------------* icc = 25 ixc = 35 * fpeakb +*fpeakb = 0.9 * Maximum allowable value for toroidal magnetic field [T] bmxlim = 14.0 @@ -142,6 +144,7 @@ fjprot = 1.0 *--------------------------* icc = 36 ixc = 54 * ftmargtf +ftmargtf = 0.9 * Minimum allowable temperature margin [K] tmargmin = 1.5 @@ -149,6 +152,7 @@ tmargmin = 1.5 *---------------------------------* icc = 60 ixc = 106 * ftmargoh +ftmargoh = 0.9 tmargmin_cs = 1.5 * Lower limit on taup/taueff (ratio alpha particle/energy confinement times) * From f889f007d27d6b95d07cf0a50b9936adef2236b2 Mon Sep 17 00:00:00 2001 From: Clair Mould <86794332+clmould@users.noreply.github.com> Date: Thu, 18 Apr 2024 13:23:09 +0100 Subject: [PATCH 2/6] scan with new solver call in nb (will rebase this later) --- examples/scan.ipynb | 274 ++++++++++++++++---------------------------- 1 file changed, 101 insertions(+), 173 deletions(-) diff --git a/examples/scan.ipynb b/examples/scan.ipynb index 9c64f13c73..4d8554de6e 100644 --- a/examples/scan.ipynb +++ b/examples/scan.ipynb @@ -50,15 +50,15 @@ " **************************************************************************************************************\n", " \n", " Program :\n", - " Version : 2.4.0 Release Date :: 2022-05-18\n", - " Tag No. :\n", - " Branch : main\n", - " Git log : Remove obsolete Fortran\n", - " Date/time : 12 Sep 2023 16:36:06 +01:00(hh:mm) UTC\n", + " Version : 3.0.2 Release Date :: 2024-01-25\n", + " Tag No. : v3.0.2-39-gc643377\n", + " Branch : 3071-investigate-scan-x-failure\n", + " Git log : scan example imput file investigation changes\n", + " Date/time : 18 Apr 2024 10:43:57 +01:00(hh:mm) UTC\n", " User : clair\n", " Computer : clair-Precision-3570\n", - " Directory : /home/clair/PROCESS/examples\n", - " Input : /home/clair/PROCESS/examples/a_scan_input_file_IN.DAT\n", + " Directory : /home/clair/development/PROCESS/examples\n", + " Input : /home/clair/development/PROCESS/examples/a_scan_input_file_IN.DAT\n", " Run title : Generic large tokamak\n", " Run type : Reactor concept design: Pulsed tokamak model, (c) CCFE\n", " \n", @@ -67,122 +67,110 @@ " Equality constraints : 26\n", " Inequality constraints : 00\n", " Total constraints : 26\n", - " Iteration variables : 45\n", + " Iteration variables : 44\n", " Max iterations : 200\n", " Figure of merit : +01 -- minimise major radius.\n", " Convergence parameter : 1.00E-07\n", " \n", " **************************************************************************************************************\n", "Starting scan point 1: Max_toroidal_field_(T), bmxlim = 1.100E+01\n", - "9 | Convergence Parameter: 9.493E-11\n", + "8 | Convergence Parameter: 7.422E-11\n", " \n", " ************************************* PROCESS found a feasible solution **************************************\n", " \n", + " Warning in routine OCMMNT :\n", + "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", + "This is longer than 110 columns.\n", "Starting scan point 2: Max_toroidal_field_(T), bmxlim = 1.120E+01\n", - "2 | Convergence Parameter: 3.265E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 3: Max_toroidal_field_(T), bmxlim = 1.140E+01\n", - "2 | Convergence Parameter: 3.105E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 4: Max_toroidal_field_(T), bmxlim = 1.160E+01\n", - "2 | Convergence Parameter: 3.012E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 5: Max_toroidal_field_(T), bmxlim = 1.180E+01\n", - "2 | Convergence Parameter: 2.920E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 6: Max_toroidal_field_(T), bmxlim = 1.200E+01\n", - "2 | Convergence Parameter: 2.833E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 7: Max_toroidal_field_(T), bmxlim = 1.220E+01\n", - "2 | Convergence Parameter: 2.755E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 8: Max_toroidal_field_(T), bmxlim = 1.240E+01\n", - "2 | Convergence Parameter: 2.684E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 9: Max_toroidal_field_(T), bmxlim = 1.260E+01\n", - "2 | Convergence Parameter: 2.597E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 10: Max_toroidal_field_(T), bmxlim = 1.280E+01\n", - "2 | Convergence Parameter: 2.527E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - "Starting scan point 11: Max_toroidal_field_(T), bmxlim = 1.300E+01\n", - "2 | Convergence Parameter: 2.455E-09\n", + "2 | Convergence Parameter: 4.074E-09\r" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "x is initially in an infeasible region because at least one x is greater than an upper bound. The out of bounds variables are at indices 17 (0-based indexing)\n", + "process.solver - WARNING - Active iteration variables are : \n", + "0: beta \n", + "1: dene \n", + "2: fwalld \n", + "3: ffuspow \n", + "4: ftburn \n", + "5: flhthresh \n", + "6: fpinj \n", + "7: fpnetel \n", + "8: fbetatry \n", + "9: fpeakb \n", + "10: coheof \n", + "11: fjohc \n", + "12: fjohc0 \n", + "13: fcohbop \n", + "14: fiooic \n", + "15: fvdump \n", + "16: fjprot \n", + "17: ftmargtf \n", + "18: ftmargoh \n", + "19: ftaulimit \n", + "20: fmaxvvstress \n", + "21: foh_stress \n", + "22: fne0 \n", + "23: fpsepbqar \n", + "24: fstrcase \n", + "25: fstrcond \n", + "26: bt \n", + "27: rmajor \n", + "28: te \n", + "29: hfact \n", + "30: tfcth \n", + "31: ohcth \n", + "32: q \n", + "33: bore \n", + "34: fvsbrnni \n", + "35: tdmptf \n", + "36: thkcas \n", + "37: thwcndut \n", + "38: fcutfsu \n", + "39: cpttf \n", + "40: ralpne \n", + "41: oh_steel_frac \n", + "42: fimp(13) \n", + "43: dr_tf_wp \n", + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", " \n", " ************************************* PROCESS found a feasible solution **************************************\n", " \n", - " \n", - " ******************************************** Errors and Warnings *********************************************\n", - " \n", - " PROCESS status flag: Warning messages \n", - " \n", - " ID LEVEL MESSAGE\n", - "150 2 CHECK: Lower limit of volume averaged electron temperature (te) has been raised \n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - "243 2 PHYSICS: Predicted plasma driven current is more than upper limit on non-inducti\n", - " \n", - "244 2 PHYSICS: Diamagnetic fraction is more than 1%, but not calculated. Consider usin\n", - " \n", - " \n", - " ******************************************* End of PROCESS Output ********************************************\n", - " \n" + " Warning in routine OCMMNT :\n", + "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", + "This is longer than 110 columns.\n", + "Starting scan point 3: Max_toroidal_field_(T), bmxlim = 1.140E+01\n" + ] + }, + { + "ename": "ValueError", + "evalue": "x is initially in an infeasible region because at least one x is greater than an upper bound", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[1], line 9\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# Perform a SingleRun on a scan-enabled input file\u001b[39;00m\n\u001b[1;32m 8\u001b[0m single_run \u001b[38;5;241m=\u001b[39m SingleRun(\u001b[38;5;28mstr\u001b[39m(input_name))\n\u001b[0;32m----> 9\u001b[0m \u001b[43msingle_run\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/development/PROCESS/process/main.py:363\u001b[0m, in \u001b[0;36mSingleRun.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 361\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrun_tests()\n\u001b[1;32m 362\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcall_solver()\n\u001b[0;32m--> 363\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_scan\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolver\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 364\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mshow_errors()\n\u001b[1;32m 365\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfinish()\n", + "File \u001b[0;32m~/development/PROCESS/process/main.py:459\u001b[0m, in \u001b[0;36mSingleRun.run_scan\u001b[0;34m(self, solver)\u001b[0m\n\u001b[1;32m 453\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Create scan object if required.\u001b[39;00m\n\u001b[1;32m 454\u001b[0m \n\u001b[1;32m 455\u001b[0m \u001b[38;5;124;03m:param solver: which solver to use, as specified in solver.py\u001b[39;00m\n\u001b[1;32m 456\u001b[0m \u001b[38;5;124;03m:type solver: str\u001b[39;00m\n\u001b[1;32m 457\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fortran\u001b[38;5;241m.\u001b[39mnumerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m--> 459\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mscan \u001b[38;5;241m=\u001b[39m \u001b[43mScan\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msolver\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 460\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 461\u001b[0m \u001b[38;5;66;03m# If no optimisation will be done, compute the OP variables now\u001b[39;00m\n\u001b[1;32m 462\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fortran\u001b[38;5;241m.\u001b[39mnumerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 463\u001b[0m \u001b[38;5;66;03m# Get optimisation parameters x, perform first evaluation of models\u001b[39;00m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:22\u001b[0m, in \u001b[0;36mScan.__init__\u001b[0;34m(self, models, solver)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodels \u001b[38;5;241m=\u001b[39m models\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptimiser \u001b[38;5;241m=\u001b[39m Optimiser(models, solver)\n\u001b[0;32m---> 22\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_scan\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:48\u001b[0m, in \u001b[0;36mScan.run_scan\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mscan_2d()\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscan_1d\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:73\u001b[0m, in \u001b[0;36mScan.scan_1d\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m iscan \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m1\u001b[39m, scan_module\u001b[38;5;241m.\u001b[39misweep \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m):\n\u001b[1;32m 72\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mscan_1d_write_point_header(iscan)\n\u001b[0;32m---> 73\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdoopt\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 75\u001b[0m final\u001b[38;5;241m.\u001b[39mfinalise(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodels, ifail)\n\u001b[1;32m 77\u001b[0m \u001b[38;5;66;03m# outvar is an intent(out) of scan_1d_store_output()\u001b[39;00m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:56\u001b[0m, in \u001b[0;36mScan.doopt\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m numerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m---> 56\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptimiser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 57\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mpost_optimise(ifail)\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ifail\n", + "File \u001b[0;32m~/development/PROCESS/process/optimiser.py:55\u001b[0m, in \u001b[0;36mOptimiser.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msolver\u001b[38;5;241m.\u001b[39mset_bounds(bndl, bndu)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msolver\u001b[38;5;241m.\u001b[39mset_constraints(m, meq)\n\u001b[0;32m---> 55\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolver\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolve\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;66;03m# If fail then alter value of epsfcn - this can be improved\u001b[39;00m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ifail \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", + "File \u001b[0;32m~/development/PROCESS/process/solver.py:214\u001b[0m, in \u001b[0;36mVmcon.solve\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 211\u001b[0m itervar_name_list \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcount\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mitervar_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 213\u001b[0m logger\u001b[38;5;241m.\u001b[39mwarning(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mActive iteration variables are : \u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mitervar_name_list\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 214\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 216\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 217\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minfo \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n", + "File \u001b[0;32m~/development/PROCESS/process/solver.py:183\u001b[0m, in \u001b[0;36mVmcon.solve\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 176\u001b[0m \u001b[38;5;28mprint\u001b[39m(\n\u001b[1;32m 177\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;241m+\u001b[39m\u001b[38;5;241m1\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m | Convergence Parameter: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconvergence_param\u001b[38;5;132;01m:\u001b[39;00m\u001b[38;5;124m.3E\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 178\u001b[0m end\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\r\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 179\u001b[0m flush\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 180\u001b[0m )\n\u001b[1;32m 182\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 183\u001b[0m x, _, _, res \u001b[38;5;241m=\u001b[39m \u001b[43msolve\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 184\u001b[0m \u001b[43m \u001b[49m\u001b[43mproblem\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 185\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mx_0\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 186\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbndl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 187\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbndu\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 188\u001b[0m \u001b[43m \u001b[49m\u001b[43mmax_iter\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mglobal_variables\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmaxcal\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 189\u001b[0m \u001b[43m \u001b[49m\u001b[43mepsilon\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtolerance\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 190\u001b[0m \u001b[43m \u001b[49m\u001b[43mqsp_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43meps_rel\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1e-1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43madaptive_rho_interval\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m25\u001b[39;49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 191\u001b[0m \u001b[43m \u001b[49m\u001b[43minitial_B\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mB\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 192\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallback\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_solver_callback\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 193\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 194\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m VMCONConvergenceException \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 195\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(e, LineSearchConvergenceException):\n", + "File \u001b[0;32m~/development/PROCESS/env/lib/python3.10/site-packages/pyvmcon/vmcon.py:96\u001b[0m, in \u001b[0;36msolve\u001b[0;34m(problem, x, lbs, ubs, max_iter, epsilon, qsp_options, initial_B, callback)\u001b[0m\n\u001b[1;32m 92\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mx is initially in an infeasible region because at least one x is greater than an upper bound\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;66;03m# noqa: E501\u001b[39;00m\n\u001b[1;32m 93\u001b[0m logger\u001b[38;5;241m.\u001b[39merror(\n\u001b[1;32m 94\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mmsg\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m. The out of bounds variables are at indices \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(_find_out_of_bounds_vars(ubs,\u001b[38;5;250m \u001b[39mx))\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m (0-based indexing)\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;66;03m# noqa: E501\u001b[39;00m\n\u001b[1;32m 95\u001b[0m )\n\u001b[0;32m---> 96\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n\u001b[1;32m 98\u001b[0m \u001b[38;5;66;03m# n is denoted in the VMCON paper\u001b[39;00m\n\u001b[1;32m 99\u001b[0m \u001b[38;5;66;03m# as the number of inputs the function\u001b[39;00m\n\u001b[1;32m 100\u001b[0m \u001b[38;5;66;03m# and the constraints take\u001b[39;00m\n\u001b[1;32m 101\u001b[0m n \u001b[38;5;241m=\u001b[39m x\u001b[38;5;241m.\u001b[39mshape[\u001b[38;5;241m0\u001b[39m]\n", + "\u001b[0;31mValueError\u001b[0m: x is initially in an infeasible region because at least one x is greater than an upper bound" ] } ], @@ -194,7 +182,7 @@ "input_name = Path(prefix + \"IN.DAT\")\n", "\n", "# Perform a SingleRun on a scan-enabled input file\n", - "single_run = SingleRun(str(input_name))\n", + "single_run = SingleRun(str(input_name), solver=\"vmcon_bounded\")\n", "single_run.run()" ] }, @@ -213,73 +201,13 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "metadata": { "slideshow": { "slide_type": "subslide" } }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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wL59+7Br1y4IggBXV1dMmDABM2fORJ8+ffSaq6CgAOpPgcnMzERmZmaNYxnsiIiIqLEQTbADgB49eiAuLk7v8TExMYiJiam2PCAgACL5eD8iIiJ6hIjiPXZERERExGBHREREJBoMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBIMdkREREQiwWBHREREJBKiCnY5OTmYPn06PD09YWdnB1tbW7i7uyMiIgLHjx83aK6rV6/im2++QVRUFHr37g25XA6JRILXXnvNTNUTERERGce6oQswldTUVAQHB6OoqAgdOnTA4MGDIZVKkZGRgfj4eCQkJCAhIQFjx47Va76ffvoJ77zzjpmrJiIiIjId0Ryxi4qKQlFREaKionDp0iX8/PPP2LJlC86fP4958+ahoqICUVFRuH//vl7zubu7Y8aMGYiLi8Px48cxd+5cM+8BERERkXEMOmI3efJksxTh7OyMzz//vN73v337Nk6cOAEAWLRoEWQymWadlZUVYmJisHTpUhQUFODs2bPo2bNnnXO+9NJLeOmllzS3t2zZUu/6iIiIiCzBoGC3bt06SCQSCIJgsgIkEgnatm1rVLCTy+V6j3Vxcan3doiIiIgaM4PfY2dra4uXX37ZZAWsX7/e6DkcHR3Rv39/7N+/H/PmzUNsbKzmqJ1KpUJMTAxKS0sREhICNzc3o7dHRERE1BgZHOycnZ0RFxdnsgJMEewAYPXq1QgNDcWqVauQmJgIX19fSKVSpKenIzc3F+Hh4YiNjTXJtvRVVlaGsrIyzW2FQgEAUCqVUCqVFq2lqVP3i32zDPbbcthry2GvLYv9Nh1Deiiaq2I9PT1x+PBhhIeHIykpCbm5uZp13t7eCAgIgJOTk0VrWrx4MRYsWFBteVJSEuzt7S1ai1gkJyc3dAmPFPbbcthry2GvLYv9Nl5JSYneYw0KdjNnzoSzs7PBBVlizoMHD2LUqFGwtrZGQkICgoKCYGNjg4MHDyI6OhpTpkzBwYMHsWbNGhNU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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ "from process.io import plot_scans\n", "\n", From d9ea1355b6430e533e4370869596fa3a6bd8c446 Mon Sep 17 00:00:00 2001 From: Clair Mould <86794332+clmould@users.noreply.github.com> Date: Thu, 18 Apr 2024 16:33:33 +0100 Subject: [PATCH 3/6] adding VmconBounded class to solver.py --- examples/scan.ipynb | 48 +++++++++++++++++++++++++++++++++------------ process/solver.py | 25 +++++++++++++++++++++++ 2 files changed, 61 insertions(+), 12 deletions(-) diff --git a/examples/scan.ipynb b/examples/scan.ipynb index 4d8554de6e..9e0e29cac4 100644 --- a/examples/scan.ipynb +++ b/examples/scan.ipynb @@ -51,10 +51,10 @@ " \n", " Program :\n", " Version : 3.0.2 Release Date :: 2024-01-25\n", - " Tag No. : v3.0.2-39-gc643377\n", + " Tag No. : v3.0.2-40-g363aafc\n", " Branch : 3071-investigate-scan-x-failure\n", - " Git log : scan example imput file investigation changes\n", - " Date/time : 18 Apr 2024 10:43:57 +01:00(hh:mm) UTC\n", + " Git log : scan with new solver call in nb (will rebase this later)\n", + " Date/time : 18 Apr 2024 14:53:53 +01:00(hh:mm) UTC\n", " User : clair\n", " Computer : clair-Precision-3570\n", " Directory : /home/clair/development/PROCESS/examples\n", @@ -74,7 +74,7 @@ " \n", " **************************************************************************************************************\n", "Starting scan point 1: Max_toroidal_field_(T), bmxlim = 1.100E+01\n", - "8 | Convergence Parameter: 7.422E-11\n", + "8 | Convergence Parameter: 9.188E-11\n", " \n", " ************************************* PROCESS found a feasible solution **************************************\n", " \n", @@ -82,14 +82,38 @@ "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", "This is longer than 110 columns.\n", "Starting scan point 2: Max_toroidal_field_(T), bmxlim = 1.120E+01\n", - "2 | Convergence Parameter: 4.074E-09\r" + "2 | Convergence Parameter: 3.639E-09\n", + " \n", + " ************************************* PROCESS found a feasible solution **************************************\n", + " \n", + " Warning in routine OCMMNT :\n", + "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", + "This is longer than 110 columns.\n", + "Starting scan point 3: Max_toroidal_field_(T), bmxlim = 1.140E+01\n", + "2 | Convergence Parameter: 3.376E-09\n", + " \n", + " ************************************* PROCESS found a feasible solution **************************************\n", + " \n", + " Warning in routine OCMMNT :\n", + "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", + "This is longer than 110 columns.\n", + "Starting scan point 4: Max_toroidal_field_(T), bmxlim = 1.160E+01\n", + "2 | Convergence Parameter: 3.290E-09\n", + " \n", + " ************************************* PROCESS found a feasible solution **************************************\n", + " \n", + " Warning in routine OCMMNT :\n", + "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", + "This is longer than 110 columns.\n", + "Starting scan point 5: Max_toroidal_field_(T), bmxlim = 1.180E+01\n", + "2 | Convergence Parameter: 3.991E-09\r" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "x is initially in an infeasible region because at least one x is greater than an upper bound. The out of bounds variables are at indices 17 (0-based indexing)\n", + "x is initially in an infeasible region because at least one x is greater than an upper bound. The out of bounds variables are at indices 4 (0-based indexing)\n", "process.solver - WARNING - Active iteration variables are : \n", "0: beta \n", "1: dene \n", @@ -149,7 +173,7 @@ " Warning in routine OCMMNT :\n", "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", "This is longer than 110 columns.\n", - "Starting scan point 3: Max_toroidal_field_(T), bmxlim = 1.140E+01\n" + "Starting scan point 6: Max_toroidal_field_(T), bmxlim = 1.200E+01\n" ] }, { @@ -159,13 +183,13 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[1], line 9\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# Perform a SingleRun on a scan-enabled input file\u001b[39;00m\n\u001b[1;32m 8\u001b[0m single_run \u001b[38;5;241m=\u001b[39m SingleRun(\u001b[38;5;28mstr\u001b[39m(input_name))\n\u001b[0;32m----> 9\u001b[0m \u001b[43msingle_run\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "Cell \u001b[0;32mIn[1], line 9\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# Perform a SingleRun on a scan-enabled input file\u001b[39;00m\n\u001b[1;32m 8\u001b[0m single_run \u001b[38;5;241m=\u001b[39m SingleRun(\u001b[38;5;28mstr\u001b[39m(input_name))\u001b[38;5;66;03m#, solver=\"vmcon_bounded\")\u001b[39;00m\n\u001b[0;32m----> 9\u001b[0m \u001b[43msingle_run\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/development/PROCESS/process/main.py:363\u001b[0m, in \u001b[0;36mSingleRun.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 361\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrun_tests()\n\u001b[1;32m 362\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcall_solver()\n\u001b[0;32m--> 363\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_scan\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolver\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 364\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mshow_errors()\n\u001b[1;32m 365\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfinish()\n", "File \u001b[0;32m~/development/PROCESS/process/main.py:459\u001b[0m, in \u001b[0;36mSingleRun.run_scan\u001b[0;34m(self, solver)\u001b[0m\n\u001b[1;32m 453\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Create scan object if required.\u001b[39;00m\n\u001b[1;32m 454\u001b[0m \n\u001b[1;32m 455\u001b[0m \u001b[38;5;124;03m:param solver: which solver to use, as specified in solver.py\u001b[39;00m\n\u001b[1;32m 456\u001b[0m \u001b[38;5;124;03m:type solver: str\u001b[39;00m\n\u001b[1;32m 457\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fortran\u001b[38;5;241m.\u001b[39mnumerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m--> 459\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mscan \u001b[38;5;241m=\u001b[39m \u001b[43mScan\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msolver\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 460\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 461\u001b[0m \u001b[38;5;66;03m# If no optimisation will be done, compute the OP variables now\u001b[39;00m\n\u001b[1;32m 462\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fortran\u001b[38;5;241m.\u001b[39mnumerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 463\u001b[0m \u001b[38;5;66;03m# Get optimisation parameters x, perform first evaluation of models\u001b[39;00m\n", - "File \u001b[0;32m~/development/PROCESS/process/scan.py:22\u001b[0m, in \u001b[0;36mScan.__init__\u001b[0;34m(self, models, solver)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodels \u001b[38;5;241m=\u001b[39m models\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptimiser \u001b[38;5;241m=\u001b[39m Optimiser(models, solver)\n\u001b[0;32m---> 22\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_scan\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/development/PROCESS/process/scan.py:48\u001b[0m, in \u001b[0;36mScan.run_scan\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 46\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mscan_2d()\n\u001b[1;32m 47\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m---> 48\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscan_1d\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/development/PROCESS/process/scan.py:73\u001b[0m, in \u001b[0;36mScan.scan_1d\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 71\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m iscan \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m1\u001b[39m, scan_module\u001b[38;5;241m.\u001b[39misweep \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m):\n\u001b[1;32m 72\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mscan_1d_write_point_header(iscan)\n\u001b[0;32m---> 73\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdoopt\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 75\u001b[0m final\u001b[38;5;241m.\u001b[39mfinalise(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodels, ifail)\n\u001b[1;32m 77\u001b[0m \u001b[38;5;66;03m# outvar is an intent(out) of scan_1d_store_output()\u001b[39;00m\n", - "File \u001b[0;32m~/development/PROCESS/process/scan.py:56\u001b[0m, in \u001b[0;36mScan.doopt\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m numerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m---> 56\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptimiser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 57\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mpost_optimise(ifail)\n\u001b[1;32m 59\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ifail\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:30\u001b[0m, in \u001b[0;36mScan.__init__\u001b[0;34m(self, models, solver)\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptimiser \u001b[38;5;241m=\u001b[39m Optimiser(models, solver)\n\u001b[1;32m 23\u001b[0m \u001b[38;5;66;03m# set_opt_params = deepcopy(self.optimiser.solver.set_opt_params)\u001b[39;00m\n\u001b[1;32m 24\u001b[0m \n\u001b[1;32m 25\u001b[0m \u001b[38;5;66;03m# def _set_opt_params(x):\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 28\u001b[0m \n\u001b[1;32m 29\u001b[0m \u001b[38;5;66;03m# self.optimiser.solver.set_opt_params = _set_opt_params\u001b[39;00m\n\u001b[0;32m---> 30\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_scan\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:56\u001b[0m, in \u001b[0;36mScan.run_scan\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mscan_2d()\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m---> 56\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscan_1d\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:81\u001b[0m, in \u001b[0;36mScan.scan_1d\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m iscan \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m1\u001b[39m, scan_module\u001b[38;5;241m.\u001b[39misweep \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m):\n\u001b[1;32m 80\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mscan_1d_write_point_header(iscan)\n\u001b[0;32m---> 81\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdoopt\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 83\u001b[0m final\u001b[38;5;241m.\u001b[39mfinalise(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodels, ifail)\n\u001b[1;32m 85\u001b[0m \u001b[38;5;66;03m# outvar is an intent(out) of scan_1d_store_output()\u001b[39;00m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:64\u001b[0m, in \u001b[0;36mScan.doopt\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m numerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m---> 64\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptimiser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 65\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mpost_optimise(ifail)\n\u001b[1;32m 67\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ifail\n", "File \u001b[0;32m~/development/PROCESS/process/optimiser.py:55\u001b[0m, in \u001b[0;36mOptimiser.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msolver\u001b[38;5;241m.\u001b[39mset_bounds(bndl, bndu)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msolver\u001b[38;5;241m.\u001b[39mset_constraints(m, meq)\n\u001b[0;32m---> 55\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolver\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolve\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;66;03m# If fail then alter value of epsfcn - this can be improved\u001b[39;00m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ifail \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", "File \u001b[0;32m~/development/PROCESS/process/solver.py:214\u001b[0m, in \u001b[0;36mVmcon.solve\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 211\u001b[0m itervar_name_list \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcount\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mitervar_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 213\u001b[0m logger\u001b[38;5;241m.\u001b[39mwarning(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mActive iteration variables are : \u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mitervar_name_list\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 214\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 216\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 217\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minfo \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n", "File \u001b[0;32m~/development/PROCESS/process/solver.py:183\u001b[0m, in \u001b[0;36mVmcon.solve\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 176\u001b[0m \u001b[38;5;28mprint\u001b[39m(\n\u001b[1;32m 177\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;241m+\u001b[39m\u001b[38;5;241m1\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m | Convergence Parameter: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconvergence_param\u001b[38;5;132;01m:\u001b[39;00m\u001b[38;5;124m.3E\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 178\u001b[0m end\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\r\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 179\u001b[0m flush\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 180\u001b[0m )\n\u001b[1;32m 182\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 183\u001b[0m x, _, _, res \u001b[38;5;241m=\u001b[39m \u001b[43msolve\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 184\u001b[0m \u001b[43m \u001b[49m\u001b[43mproblem\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 185\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mx_0\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 186\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbndl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 187\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbndu\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 188\u001b[0m \u001b[43m \u001b[49m\u001b[43mmax_iter\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mglobal_variables\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmaxcal\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 189\u001b[0m \u001b[43m \u001b[49m\u001b[43mepsilon\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtolerance\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 190\u001b[0m \u001b[43m \u001b[49m\u001b[43mqsp_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43meps_rel\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1e-1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43madaptive_rho_interval\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m25\u001b[39;49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 191\u001b[0m \u001b[43m \u001b[49m\u001b[43minitial_B\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mB\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 192\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallback\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_solver_callback\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 193\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 194\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m VMCONConvergenceException \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 195\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(e, LineSearchConvergenceException):\n", diff --git a/process/solver.py b/process/solver.py index 269244be62..eafbebbc7e 100644 --- a/process/solver.py +++ b/process/solver.py @@ -227,6 +227,29 @@ def _solver_callback(i: int, _result, _x, convergence_param: float): return self.info +# TODO add VmconBounded here +class VmconBounded(Vmcon): + """A solver that uses VMCON but checks x is in bounds before running""" + + def set_opt_params(self, x_0: np.ndarray) -> None: + # check x_0 is within bounds and reset out-of-bounds + # values to be within bounds + lower_bounds = numerics.boundl[: x_0.shape[0]] + upper_bounds = numerics.boundu[: x_0.shape[0]] + + lower_violated = np.less(x_0, lower_bounds) + upper_violated = np.greater(x_0, upper_bounds) + + for index, entry in enumerate(lower_violated): + if entry: + x_0[index] = lower_bounds[index] + for index, entry in enumerate(upper_violated): + if entry: + x_0[index] = upper_bounds[index] + + self.x_0 = x_0 + + def get_solver(solver_name: str = "vmcon") -> _Solver: """Return a solver instance. @@ -239,6 +262,8 @@ def get_solver(solver_name: str = "vmcon") -> _Solver: if solver_name == "vmcon": solver = Vmcon() + elif solver_name == "vmcon_bounded": + solver = VmconBounded() else: try: solver = load_external_solver(solver_name) From 40ee96adf81182c7f991a9a7fb5bdc258d8933dd Mon Sep 17 00:00:00 2001 From: Clair Mould <86794332+clmould@users.noreply.github.com> Date: Wed, 1 May 2024 11:29:23 +0100 Subject: [PATCH 4/6] correct upper and lower bounds used by vmconbounded --- examples/a_scan_input_file_IN.DAT | 2 +- examples/scan.ipynb | 40 ++++++++++--------------------- examples/scan.py | 2 +- process/optimiser.py | 2 +- process/solver.py | 15 ++++-------- 5 files changed, 19 insertions(+), 42 deletions(-) diff --git a/examples/a_scan_input_file_IN.DAT b/examples/a_scan_input_file_IN.DAT index 9cf73bb98d..e74cf1d678 100644 --- a/examples/a_scan_input_file_IN.DAT +++ b/examples/a_scan_input_file_IN.DAT @@ -98,7 +98,7 @@ fbetatry = 0.5 *--------------* icc = 25 ixc = 35 * fpeakb -*fpeakb = 0.9 +fpeakb = 0.9 * Maximum allowable value for toroidal magnetic field [T] bmxlim = 14.0 diff --git a/examples/scan.ipynb b/examples/scan.ipynb index 9e0e29cac4..d8a0574afb 100644 --- a/examples/scan.ipynb +++ b/examples/scan.ipynb @@ -51,10 +51,10 @@ " \n", " Program :\n", " Version : 3.0.2 Release Date :: 2024-01-25\n", - " Tag No. : v3.0.2-40-g363aafc\n", + " Tag No. : v3.0.2-41-g156db60 code contains untracked changes\n", " Branch : 3071-investigate-scan-x-failure\n", - " Git log : scan with new solver call in nb (will rebase this later)\n", - " Date/time : 18 Apr 2024 14:53:53 +01:00(hh:mm) UTC\n", + " Git log : adding VmconBounded class to solver.py\n", + " Date/time : 1 May 2024 9:50:41 +01:00(hh:mm) UTC\n", " User : clair\n", " Computer : clair-Precision-3570\n", " Directory : /home/clair/development/PROCESS/examples\n", @@ -74,7 +74,7 @@ " \n", " **************************************************************************************************************\n", "Starting scan point 1: Max_toroidal_field_(T), bmxlim = 1.100E+01\n", - "8 | Convergence Parameter: 9.188E-11\n", + "7 | Convergence Parameter: 7.644E-12\n", " \n", " ************************************* PROCESS found a feasible solution **************************************\n", " \n", @@ -82,7 +82,7 @@ "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", "This is longer than 110 columns.\n", "Starting scan point 2: Max_toroidal_field_(T), bmxlim = 1.120E+01\n", - "2 | Convergence Parameter: 3.639E-09\n", + "2 | Convergence Parameter: 3.999E-09\n", " \n", " ************************************* PROCESS found a feasible solution **************************************\n", " \n", @@ -90,30 +90,14 @@ "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", "This is longer than 110 columns.\n", "Starting scan point 3: Max_toroidal_field_(T), bmxlim = 1.140E+01\n", - "2 | Convergence Parameter: 3.376E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - " Warning in routine OCMMNT :\n", - "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", - "This is longer than 110 columns.\n", - "Starting scan point 4: Max_toroidal_field_(T), bmxlim = 1.160E+01\n", - "2 | Convergence Parameter: 3.290E-09\n", - " \n", - " ************************************* PROCESS found a feasible solution **************************************\n", - " \n", - " Warning in routine OCMMNT :\n", - "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", - "This is longer than 110 columns.\n", - "Starting scan point 5: Max_toroidal_field_(T), bmxlim = 1.180E+01\n", - "2 | Convergence Parameter: 3.991E-09\r" + "2 | Convergence Parameter: 3.481E-09\r" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "x is initially in an infeasible region because at least one x is greater than an upper bound. The out of bounds variables are at indices 4 (0-based indexing)\n", + "x is initially in an infeasible region because at least one x is greater than an upper bound. The out of bounds variables are at indices 4, 18 (0-based indexing)\n", "process.solver - WARNING - Active iteration variables are : \n", "0: beta \n", "1: dene \n", @@ -173,7 +157,7 @@ " Warning in routine OCMMNT :\n", "Triple product = Vol-average electron density x Vol-average & electron temperature x Energy confinement time:\n", "This is longer than 110 columns.\n", - "Starting scan point 6: Max_toroidal_field_(T), bmxlim = 1.200E+01\n" + "Starting scan point 4: Max_toroidal_field_(T), bmxlim = 1.160E+01\n" ] }, { @@ -186,10 +170,10 @@ "Cell \u001b[0;32mIn[1], line 9\u001b[0m\n\u001b[1;32m 7\u001b[0m \u001b[38;5;66;03m# Perform a SingleRun on a scan-enabled input file\u001b[39;00m\n\u001b[1;32m 8\u001b[0m single_run \u001b[38;5;241m=\u001b[39m SingleRun(\u001b[38;5;28mstr\u001b[39m(input_name))\u001b[38;5;66;03m#, solver=\"vmcon_bounded\")\u001b[39;00m\n\u001b[0;32m----> 9\u001b[0m \u001b[43msingle_run\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m~/development/PROCESS/process/main.py:363\u001b[0m, in \u001b[0;36mSingleRun.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 361\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mrun_tests()\n\u001b[1;32m 362\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcall_solver()\n\u001b[0;32m--> 363\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_scan\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolver\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 364\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mshow_errors()\n\u001b[1;32m 365\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfinish()\n", "File \u001b[0;32m~/development/PROCESS/process/main.py:459\u001b[0m, in \u001b[0;36mSingleRun.run_scan\u001b[0;34m(self, solver)\u001b[0m\n\u001b[1;32m 453\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Create scan object if required.\u001b[39;00m\n\u001b[1;32m 454\u001b[0m \n\u001b[1;32m 455\u001b[0m \u001b[38;5;124;03m:param solver: which solver to use, as specified in solver.py\u001b[39;00m\n\u001b[1;32m 456\u001b[0m \u001b[38;5;124;03m:type solver: str\u001b[39;00m\n\u001b[1;32m 457\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 458\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fortran\u001b[38;5;241m.\u001b[39mnumerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m>\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m--> 459\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mscan \u001b[38;5;241m=\u001b[39m \u001b[43mScan\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmodels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msolver\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 460\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 461\u001b[0m \u001b[38;5;66;03m# If no optimisation will be done, compute the OP variables now\u001b[39;00m\n\u001b[1;32m 462\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m fortran\u001b[38;5;241m.\u001b[39mnumerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m2\u001b[39m:\n\u001b[1;32m 463\u001b[0m \u001b[38;5;66;03m# Get optimisation parameters x, perform first evaluation of models\u001b[39;00m\n", - "File \u001b[0;32m~/development/PROCESS/process/scan.py:30\u001b[0m, in \u001b[0;36mScan.__init__\u001b[0;34m(self, models, solver)\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptimiser \u001b[38;5;241m=\u001b[39m Optimiser(models, solver)\n\u001b[1;32m 23\u001b[0m \u001b[38;5;66;03m# set_opt_params = deepcopy(self.optimiser.solver.set_opt_params)\u001b[39;00m\n\u001b[1;32m 24\u001b[0m \n\u001b[1;32m 25\u001b[0m \u001b[38;5;66;03m# def _set_opt_params(x):\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 28\u001b[0m \n\u001b[1;32m 29\u001b[0m \u001b[38;5;66;03m# self.optimiser.solver.set_opt_params = _set_opt_params\u001b[39;00m\n\u001b[0;32m---> 30\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_scan\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/development/PROCESS/process/scan.py:56\u001b[0m, in \u001b[0;36mScan.run_scan\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mscan_2d()\n\u001b[1;32m 55\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m---> 56\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscan_1d\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/development/PROCESS/process/scan.py:81\u001b[0m, in \u001b[0;36mScan.scan_1d\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 79\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m iscan \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m1\u001b[39m, scan_module\u001b[38;5;241m.\u001b[39misweep \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m):\n\u001b[1;32m 80\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mscan_1d_write_point_header(iscan)\n\u001b[0;32m---> 81\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdoopt\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 83\u001b[0m final\u001b[38;5;241m.\u001b[39mfinalise(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodels, ifail)\n\u001b[1;32m 85\u001b[0m \u001b[38;5;66;03m# outvar is an intent(out) of scan_1d_store_output()\u001b[39;00m\n", - "File \u001b[0;32m~/development/PROCESS/process/scan.py:64\u001b[0m, in \u001b[0;36mScan.doopt\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m numerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m---> 64\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptimiser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 65\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mpost_optimise(ifail)\n\u001b[1;32m 67\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ifail\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:24\u001b[0m, in \u001b[0;36mScan.__init__\u001b[0;34m(self, models, solver)\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptimiser \u001b[38;5;241m=\u001b[39m Optimiser(models, solver)\n\u001b[1;32m 23\u001b[0m \u001b[38;5;66;03m# set_opt_params = deepcopy(self.optimiser.solver.set_opt_params)\u001b[39;00m\n\u001b[0;32m---> 24\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_scan\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:51\u001b[0m, in \u001b[0;36mScan.run_scan\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 49\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mscan_2d()\n\u001b[1;32m 50\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m---> 51\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mscan_1d\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:76\u001b[0m, in \u001b[0;36mScan.scan_1d\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 74\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m iscan \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m1\u001b[39m, scan_module\u001b[38;5;241m.\u001b[39misweep \u001b[38;5;241m+\u001b[39m \u001b[38;5;241m1\u001b[39m):\n\u001b[1;32m 75\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mscan_1d_write_point_header(iscan)\n\u001b[0;32m---> 76\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdoopt\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 78\u001b[0m final\u001b[38;5;241m.\u001b[39mfinalise(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mmodels, ifail)\n\u001b[1;32m 80\u001b[0m \u001b[38;5;66;03m# outvar is an intent(out) of scan_1d_store_output()\u001b[39;00m\n", + "File \u001b[0;32m~/development/PROCESS/process/scan.py:59\u001b[0m, in \u001b[0;36mScan.doopt\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 56\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m numerics\u001b[38;5;241m.\u001b[39mioptimz \u001b[38;5;241m<\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[1;32m 57\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m---> 59\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptimiser\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 60\u001b[0m scan_module\u001b[38;5;241m.\u001b[39mpost_optimise(ifail)\n\u001b[1;32m 62\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ifail\n", "File \u001b[0;32m~/development/PROCESS/process/optimiser.py:55\u001b[0m, in \u001b[0;36mOptimiser.run\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 53\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msolver\u001b[38;5;241m.\u001b[39mset_bounds(bndl, bndu)\n\u001b[1;32m 54\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39msolver\u001b[38;5;241m.\u001b[39mset_constraints(m, meq)\n\u001b[0;32m---> 55\u001b[0m ifail \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolver\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43msolve\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 57\u001b[0m \u001b[38;5;66;03m# If fail then alter value of epsfcn - this can be improved\u001b[39;00m\n\u001b[1;32m 58\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ifail \u001b[38;5;241m!=\u001b[39m \u001b[38;5;241m1\u001b[39m:\n", "File \u001b[0;32m~/development/PROCESS/process/solver.py:214\u001b[0m, in \u001b[0;36mVmcon.solve\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 211\u001b[0m itervar_name_list \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mcount\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mitervar_name\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m \u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 213\u001b[0m logger\u001b[38;5;241m.\u001b[39mwarning(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mActive iteration variables are : \u001b[39m\u001b[38;5;130;01m\\n\u001b[39;00m\u001b[38;5;132;01m{\u001b[39;00mitervar_name_list\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m--> 214\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m e\n\u001b[1;32m 216\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 217\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39minfo \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m1\u001b[39m\n", "File \u001b[0;32m~/development/PROCESS/process/solver.py:183\u001b[0m, in \u001b[0;36mVmcon.solve\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 176\u001b[0m \u001b[38;5;28mprint\u001b[39m(\n\u001b[1;32m 177\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;241m+\u001b[39m\u001b[38;5;241m1\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m | Convergence Parameter: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mconvergence_param\u001b[38;5;132;01m:\u001b[39;00m\u001b[38;5;124m.3E\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 178\u001b[0m end\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;130;01m\\r\u001b[39;00m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 179\u001b[0m flush\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m,\n\u001b[1;32m 180\u001b[0m )\n\u001b[1;32m 182\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[0;32m--> 183\u001b[0m x, _, _, res \u001b[38;5;241m=\u001b[39m \u001b[43msolve\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 184\u001b[0m \u001b[43m \u001b[49m\u001b[43mproblem\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 185\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mx_0\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 186\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbndl\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 187\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbndu\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 188\u001b[0m \u001b[43m \u001b[49m\u001b[43mmax_iter\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mglobal_variables\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmaxcal\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 189\u001b[0m \u001b[43m \u001b[49m\u001b[43mepsilon\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mtolerance\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 190\u001b[0m \u001b[43m \u001b[49m\u001b[43mqsp_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43meps_rel\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m1e-1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43madaptive_rho_interval\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m25\u001b[39;49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 191\u001b[0m \u001b[43m \u001b[49m\u001b[43minitial_B\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mB\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 192\u001b[0m \u001b[43m \u001b[49m\u001b[43mcallback\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m_solver_callback\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 193\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 194\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m VMCONConvergenceException \u001b[38;5;28;01mas\u001b[39;00m e:\n\u001b[1;32m 195\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(e, LineSearchConvergenceException):\n", diff --git a/examples/scan.py b/examples/scan.py index 45e2db6aa2..ca1702a45a 100644 --- a/examples/scan.py +++ b/examples/scan.py @@ -25,7 +25,7 @@ input_name = Path(prefix + "IN.DAT") # Perform a SingleRun on a scan-enabled input file -single_run = SingleRun(str(input_name)) +single_run = SingleRun(str(input_name), solver="vmcon_bounded") single_run.run() # %% [markdown] diff --git a/process/optimiser.py b/process/optimiser.py index f245348731..c5ec4e480c 100644 --- a/process/optimiser.py +++ b/process/optimiser.py @@ -49,8 +49,8 @@ def run(self): # Configure solver for problem self.solver = get_solver(self.solver_name) self.solver.set_evaluators(evaluators) - self.solver.set_opt_params(x) self.solver.set_bounds(bndl, bndu) + self.solver.set_opt_params(x) self.solver.set_constraints(m, meq) ifail = self.solver.solve() diff --git a/process/solver.py b/process/solver.py index eafbebbc7e..c48fec322e 100644 --- a/process/solver.py +++ b/process/solver.py @@ -227,26 +227,19 @@ def _solver_callback(i: int, _result, _x, convergence_param: float): return self.info -# TODO add VmconBounded here class VmconBounded(Vmcon): """A solver that uses VMCON but checks x is in bounds before running""" def set_opt_params(self, x_0: np.ndarray) -> None: - # check x_0 is within bounds and reset out-of-bounds - # values to be within bounds - lower_bounds = numerics.boundl[: x_0.shape[0]] - upper_bounds = numerics.boundu[: x_0.shape[0]] - - lower_violated = np.less(x_0, lower_bounds) - upper_violated = np.greater(x_0, upper_bounds) + lower_violated = np.less(x_0, self.bndl) + upper_violated = np.greater(x_0, self.bndu) for index, entry in enumerate(lower_violated): if entry: - x_0[index] = lower_bounds[index] + x_0[index] = self.bndl[index] for index, entry in enumerate(upper_violated): if entry: - x_0[index] = upper_bounds[index] - + x_0[index] = self.bndu[index] self.x_0 = x_0 From f5338da3fbf1fb8ddc8047baf6f4e46318dd1408 Mon Sep 17 00:00:00 2001 From: Clair Mould <86794332+clmould@users.noreply.github.com> Date: Wed, 1 May 2024 14:27:01 +0100 Subject: [PATCH 5/6] remove added values for fpeakb, ftburn, ftmargtf, ftmargoh --- examples/a_scan_input_file_IN.DAT | 4 ---- 1 file changed, 4 deletions(-) diff --git a/examples/a_scan_input_file_IN.DAT b/examples/a_scan_input_file_IN.DAT index e74cf1d678..0cae5c4a77 100644 --- a/examples/a_scan_input_file_IN.DAT +++ b/examples/a_scan_input_file_IN.DAT @@ -64,7 +64,6 @@ powfmax = 3000 *-----------------------* icc = 13 ixc = 21 * ftburn -ftburn = 0.9 * minimum burn time [s] tbrnmn = 7200.0 @@ -98,7 +97,6 @@ fbetatry = 0.5 *--------------* icc = 25 ixc = 35 * fpeakb -fpeakb = 0.9 * Maximum allowable value for toroidal magnetic field [T] bmxlim = 14.0 @@ -144,7 +142,6 @@ fjprot = 1.0 *--------------------------* icc = 36 ixc = 54 * ftmargtf -ftmargtf = 0.9 * Minimum allowable temperature margin [K] tmargmin = 1.5 @@ -152,7 +149,6 @@ tmargmin = 1.5 *---------------------------------* icc = 60 ixc = 106 * ftmargoh -ftmargoh = 0.9 tmargmin_cs = 1.5 * Lower limit on taup/taueff (ratio alpha particle/energy confinement times) * From c85b0a89f0752071b2514547be591236362ca289 Mon Sep 17 00:00:00 2001 From: Clair Mould <86794332+clmould@users.noreply.github.com> Date: Wed, 1 May 2024 14:48:59 +0100 Subject: [PATCH 6/6] re-enable test_scan in integration tests --- tests/integration/test_examples.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/integration/test_examples.py b/tests/integration/test_examples.py index 5138babc20..0e1b444cd4 100644 --- a/tests/integration/test_examples.py +++ b/tests/integration/test_examples.py @@ -79,7 +79,6 @@ def scan_cleanup(examples_as_cwd): os.remove(file) -@pytest.mark.skip(reason="Skipping test until fixed in issue #3071") def test_scan(scan_cleanup): """Run the scan.py script and check no exceptions are raised.