A User Guide to the PROCESS Fusion Reactor Systems Code

A User Guide to the PROCESS Fusion Reactor Systems Code

A User Guide to the PROCESS Fusion Reactor Systems Code P. J. Knight M. D. Kovari Culham Centre for Fusion Energy Culham Science Centre, Abingdon, Oxon, OX14 3DB, UK 12 January 2016 PROCESS version: r412 1 Contents 1 Introduction 9 1.1 Rationale ....................................... .... 9 1.2 History ......................................... ... 9 1.3 Sourcesofinformation . ........ 10 2 Program Overview — The Fundamental Concepts 11 2.1 EquationSolvers ................................. ...... 11 2.1.1 Non-optimisationmode . 11 2.1.2 Optimisationmode.............................. 11 2.1.3 Scans ......................................... 15 2.2 TheVariableDescriptorFile . ......... 15 2.3 InputParameters................................. ...... 15 2.4 IterationVariables .............................. ........ 15 2.5 ConstraintEquations. ........ 19 2.5.1 Consistencyequations . ...... 19 2.5.2 Limitequations................................ 19 2.6 FiguresofMerit .................................. ..... 22 2.7 ScanningVariables ............................... ....... 22 3 Physics, Engineering and Other Models 25 3.1 TokamakPowerPlant ............................... ..... 25 3.1.1 Radialandverticalbuild . ...... 25 3.1.2 Plasmaphysicsmodels. ..... 28 3.1.3 Armour, first wall and breeding blanket . ........ 39 3.1.4 Shield ........................................ 42 3.1.5 Divertor...................................... 42 3.1.6 Toroidalfieldcoils .............................. 42 3.1.7 Poloidalfieldcoils .............................. 45 2 3.1.8 Centralsolenoid ............................... 47 3.1.9 Auxiliary power systems: heating and current drive . ............. 48 3.1.10 Structuralcomponents. ....... 51 3.1.11 Cryostat and vacuum system . ...... 51 3.1.12 Power conversion and heat dissipation systems . ............. 51 3.1.13 Buildings .................................... 54 3.2 SphericalTokamakModel . ....... 54 3.2.1 Spherical tokamak switches . ....... 55 3.3 PulsedPlantOperation . ....... 55 3.3.1 Thermalcyclingpackage. ...... 55 3.3.2 First wall coolant temperature rise limit . ............ 56 3.3.3 Firstwallpeaktemperaturelimit. ......... 56 3.3.4 Start-uppowerrequirements . ...... 56 3.3.5 Plasmacurrentramp-uptime . ..... 56 3.3.6 Burntime...................................... 56 3.3.7 Thermalstorage ................................ 56 3.4 HydrogenProductionFacility . .......... 57 3.5 StellaratorModel................................ ....... 57 3.5.1 Stellaratorphysics . ...... 58 3.5.2 Machineconfiguration . 61 3.6 ReversedFieldPinchModel. ........ 62 3.6.1 RFPphysics .................................... 62 3.6.2 TFcoils....................................... 63 3.6.3 Ohmicheatingcoils ............................. 64 3.6.4 EFcoils....................................... 64 3.6.5 Divertor...................................... 64 3.6.6 Codemodifications............................... 64 3.7 InertialFusionEnergyModel . ......... 64 3.8 SafetyandEnvironmentModels. ......... 65 3.8.1 Neutronics .................................... 65 3.8.2 Activation and inventory information . .......... 66 3.9 CostModels...................................... 66 3.9.1 1990 cost model (cost model = 0)......................... 66 3.9.2 2015 Kovari model (cost model = 1) ....................... 67 3.10 Plantavailability . ......... 67 3 4 Running PROCESS 69 4.1 Environmentset-up ................................ ..... 69 4.2 UserInterface................................... ...... 69 4.3 ExecutingtheCode ................................ ..... 71 4.4 TheInputFile .................................... 71 4.5 TheOutputFiles.................................. ..... 71 4.6 Optimisationmode................................ ...... 71 4.7 Non-optimisationmode ............................. ...... 72 4.8 Troubleshooting................................. ....... 72 4.8.1 Errorhandling ................................. 73 4.8.2 Generalproblems............................... 73 4.8.3 Optimisationproblems. ...... 73 4.8.4 Unfeasibleresults. ...... 74 4.8.5 Hints ......................................... 75 5 Changing the Source Code: New Models, Variables and Constraints 76 5.1 SourceCodeModification . ...... 76 5.1.1 ChangingtheFortrancode . ..... 76 5.1.2 Sourcecodedocumentation . ...... 77 5.2 InputParameters................................. ...... 78 5.3 IterationVariables .............................. ........ 78 5.4 OtherGlobalVariables. ........ 79 5.5 ConstraintEquations. ........ 79 5.6 FiguresofMerit .................................. ..... 80 5.7 ScanningVariables ............................... ....... 80 5.8 SubmissionofNewModels. ....... 81 5.9 CodeStructure ................................... ..... 81 5.9.1 Numericsmodules ............................... 81 5.9.2 Physicsmodules ................................ 81 5.9.3 Engineeringmodules. ..... 82 5.9.4 Costingmodule................................. 82 5.9.5 Othermodules .................................. 82 6 Utility Programs 84 6.1 Executables..................................... ..... 84 6.1.1 Turn output into input (write new in dat.py) ................... 84 4 6.1.2 Randomly vary the starting point (run process.py) ................ 85 6.1.3 List PROCESS runs with comments (build index.py)................ 86 6.1.4 test process.py .................................... 87 6.1.5 Output plotting: create data file (make plot dat.py) ............... 88 6.1.6 Create a two-page summary (plot proc.py) .................... 89 6.1.7 output data.py .................................... 89 6.1.8 plot sweep.py..................................... 90 6.1.9 Plot scan results (plot mfile sweep.py) ....................... 90 6.1.10 Plot iteration variables and constraint residuals (diagnose process.py) . 90 6.1.11 fit profile.py...................................... 91 6.1.12 Step from one model to another (a to b.py).................... 91 6.1.13 N-Dimensional Scanner Utility . ........ 93 6.1.14 UncertaintyTools . ..... 95 6.1.15 create dicts.py .................................... 99 6.1.16 BatchJobs .................................... 99 6.1.17 mfile comparison.py ................................. 100 6.1.18 test suite.py...................................... 100 6.2 PythonLibraries ................................. 104 6.2.1 in dat.py ....................................... 104 6.2.2 mfile.py ........................................ 105 6.2.3 process funcs.py ................................... 106 6.2.4 process config.py ................................... 107 6.2.5 process dicts.py.................................... 109 6.2.6 a to b config.py.................................... 109 6.2.7 proc plot func.py................................... 110 6.2.8 diagnose funcs.py................................... 110 6.3 UserInterface................................... 110 7 Code Management Tools 111 7.1 TheMakefile ....................................... 111 7.1.1 Compilation................................... 111 7.1.2 Archivingutilities . 112 7.1.3 Codedocumentation . 112 7.2 AutomaticDocumentation. ........ 112 7.3 CodeUpdatesandReleaseProcedure . ......... 113 7.3.1 Initialaccesstothesourcecode. ......... 113 5 7.3.2 Gitworkflow ..................................... 113 7.3.3 Fullcoderebuild ............................... 117 8 Acknowledgements & Bibliography 118 A The Optimisation Solver Explained 124 A.1 The General Nonlinear Programming Problem . ........... 124 A.2 TheLagrangeMethod ............................... 126 A.3 Sequential Quadratic Programming (SQP) . ............ 127 A.4 VMCON ............................................. 127 A.5 TheQuadraticSubproblem(QSP) . ........ 127 A.6 TheLineSearch ................................... 130 A.7 The Broyden-Fletcher-Goldfarb-Shanno (BFGS) quasi-Newton update . 131 A.8 Symbols......................................... 132 B The Input File 133 B.0.1 Tokamak, stellarator, RFP or IFE? . ........ 133 B.0.2 Fileformat .................................... 133 C Optimisation Input File 136 D Non-optimisation Input File 142 6 List of Figures 2.1 Flow diagram of PROCESS in non-optimisation mode . 12 2.2 Flow diagram of PROCESS inoptimisationmode . 14 3.1 Machine build for D-shaped major components . ........... 26 3.2 Machine build for elliptical-shaped major components . ................ 27 3.3 Machinebuildforasingle-nulldevice. ............ 29 3.4 Radiation power contributions . ........... 34 3.5 Power balance within the core plasma . .......... 37 3.6 Schematic diagram of the cross-section of a superconductingTFcoilinnerleg . 43 3.7 Coil and plasma current waveforms . .......... 46 3.8 Schematic diagram of the neutral beam access geometry . ............... 50 3.9 Power flow outside the fusion power plant core . ........... 52 3.10 HELIAS 5-B Stellarator Power Plant Design . ............ 58 3.11 Stellarator island divertor configuration . ............... 61 6.1 PROCESS Test suite folder structure after a test run. The test area folder is where the output of the test A.1 Illustration of Lagrange multiplier method . ............... 125 A.2 Flowchart of the VMCON optimisationsolver . 128 7 List of Tables 2.1 Listofiterationvariables1to55 . ........... 17 2.2 List of iteration variables 56 onwards . ............. 18 2.3 List of constraint equations 1–50 . ........... 21 2.4 List of constraint equations 51 onwards . ............ 22 2.5 Listoffiguresofmerit .............................. ...... 23 2.6 Listofscanningvariables . ......... 24 3.1 List of available energy confinement

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    144 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us