Modules

ModuleSource FileDescription
blanket_libraryblanket_library.f90

! This library contains routines that can be shared by the blanket modules used in PROCESS.

Read more…
build_variablesbuild_variables.f90

Module containing global variables relating to the machine's radial and vertical build

Read more…
buildings_variablesbuildings_variables.f90

Module containing global variables relating to the plant buildings

Read more…
ccfe_hcpb_modulehcpb.f90

This module contains the PROCESS CCFE HCPB blanket model based on CCFE HCPB model from the PROCESS engineering paper PROCESS Engineering paper (M. Kovari et al.)

Read more…
constantsconstants.f90

Module containing miscellaneous numerical and physical constants

Read more…
constraint_variablesconstraint_variables.f90

This module contains global variables relating to the constraint equations (f-values, limits, etc.).

Read more…
constraintsconstraint_equations.f90

Module defining the constraint equations and the routine that evaluates the constraint equations.

cost_variablescost_variables.f90

Module containing global variables relating to the costing algorithms of a fusion power plant.

Read more…
CS_fatigue_variablesCS_fatigue_variables.f90
current_drive_variablescurrent_drive_variables.f90

Module containing global variables relating to the current drive system

Read more…
dcll_moduledcll.f90

This module contains the Dual Coolant Lead Lithium (DCLL) specific submods of PROCESSS.

Read more…
define_iteration_variablesiteration_variables.f90

Module to define iteration variables

Read more…
divertor_variablesdivertor_variables.f90

Module containing global variables relating to the tokamak divertor components

Read more…
error_handlingerror_handling.f90

Error handling module for PROCESS author: P J Knight, CCFE, Culham Science Centre N/A This module provides a centralised method for dealing with errors generated by PROCESS.

All possible informational/error messages are initialised via a call to initialise_error_list. Thereafter, any routine that needs to flag a message should call report_error with the relevant error identifier as the argument. Up to eight integer and eight floating-point diagnostic values may be saved by the user in arrays idiags and fdiags, respectively, for debugging purposes.

The list of messages reported during the course of a run may be displayed by calling routine show_errors.

The error_status variable returns the highest severity level that has been encountered; if a severe error is flagged (level 3) the program is terminated immediately. None

final_modulefinal_module.f90
fson_libraryfson_library.f90

JSON file reading module author: P J Knight, CCFE, Culham Science Centre N/A This module uses a local copy of the freely-available FSON library, written by Joseph A. Levin and distributed via github, to enable PROCESS to read in information from JSON-formatted files. None

fson_path_mfson_library.f90
fson_string_mfson_library.f90
fson_value_mfson_library.f90
function_evaluatorevaluators.f90

Module containing function evaluators for HYBRD and VMCON solvers author: P J Knight, CCFE, Culham Science Centre N/A This module contains the function evaluators required by the two equation solvers in the code.

Read more…
fw_modulefw.f90

Module containing first wall model author: J Morris, CCFE, Culham Science Centre N/A This module contains the PROCESS first wall model PROCESS Engineering paper (M. Kovari et al.)

fwbs_variablesfwbs_variables.f90

Module containing global variables relating to the first wall, blanket and shield components

Read more…
global_variablesglobal_variables.f90

This module contains miscellaneous global variables not well-suited to any of the other 'variables' modules.

heat_transport_variablesheat_transport_variables.f90

This module contains global variables relating to the heat transport system of a fusion power plant, and also those for a hydrogen production plant.

Read more…
ife_moduleife.f90

Module containing Inertial Fusion Energy device routines author: P J Knight, CCFE, Culham Science Centre N/A This module contains routines for calculating the parameters of an Inertial Fusion Energy power plant.

ife_variablesife_variables.f90

Module containing global variables relating to the inertial fusion energy model

Read more…
impurity_radiation_moduleimpurity_radiation.f90

Module for new impurity radiation calculations author: H Lux, CCFE, Culham Science Centre author: R Kemp, CCFE, Culham Science Centre author: P J Knight, CCFE, Culham Science Centre N/A This module contains routines for calculating the bremsstrahlung and line radiation of impurities including H and He, assuming a coronal equilibrium.

The model is only valid for T > 30 eV. For some impurity species there is also an upper temperature limit of T < 40 keV. Johner, Fusion Science and Technology 59 (2011), pp 308-349 Sertoli, private communication Kallenbach et al., Plasma Phys. Control. Fus. 55(2013) 124041 (It is recommended to turn on constraint eqn.17 with iteration variable 28: fradpwr.)

init_moduleinit_module.f90
main_modulemain_module.f90
maths_librarymaths_library.f90

Library of mathematical and numerical routines author: P J Knight, CCFE, Culham Science Centre N/A This module contains a large number of routines to enable PROCESS to perform a variety of numerical procedures, including linear algebra, zero finding, integration and minimisation. The module is an amalgamation of the contents of several different pre-existing PROCESS source files, which themselves were derived from a number of different numerical libraries including BLAS and MINPAC. http://en.wikipedia.org/wiki/Gamma_function

neoclassics_constantsneoclassics_module.f90
neoclassics_moduleneoclassics_module.f90

Module containing neoclassical computations author: J Lion, IPP Greifswald Formulas used are described in: Beidler (2013), https://doi.org/10.1088/0029-5515/51/7/076001

numericsnumerics.f90

Module containing callers to the main equation solvers HYBRD and VMCON author: P J Knight, CCFE, Culham Science Centre This module contains the primary numerics variables and the calling routines for the two equation solvers in the code.

pf_power_variablespf_power_variables.f90

Module containing global variables relating to the PF coil power conversion system

Read more…
pfcoil_modulepfcoil.f90

Module containing PF coil routines author: P J Knight, CCFE, Culham Science Centre author: R Kemp, CCFE, Culham Science Centre N/A This module contains routines for calculating the parameters of the PF coil systems for a fusion power plant. !

pfcoil_variablespfcoil_variables.f90

Module containing global variables relating to the poloidal field coil systems

Read more…
physics_modulephysics.f90

Module containing tokamak plasma physics routines author: P J Knight, CCFE, Culham Science Centre N/A This module contains all the primary plasma physics routines for a tokamak device. !

physics_variablesphysics_variables.f90

Module containing global variables relating to the plasma physics

Read more…
primary_pumping_variablesprimary_pumping_variables.f90

Module containing global variables relating to the primary_pumping=3 option. (Mechanical pumping power is calculated using specified pressure drop)

Read more…
process_inputinput.f90

Module containing the routines that perform the actual reading and parsing of the input file author: P J Knight, CCFE, Culham Science Centre N/A This module provides a set of routines to read in data from the main PROCESS input file (IN.DAT). The format of the file is similar to the F90 NAMELIST structure, but with a few additional features:

  1. Comments can be read in that are copied to the standard output channel - these are lines with five (or more) consecutive '*' characters at the start.

  2. Other lines within the file can contain simple comments for the user - these are not copied to the standard output channel. They start with one to four '*' characters.

Read more…
process_outputoutput.f90

Module containing routines to produce a uniform output style author: P J Knight, CCFE, Culham Science Centre N/A This module contains a number of routines that allow the program to write output to a file unit in a uniform style. !

pulse_variablespulse_variables.f90

Module containing global variables relating to the pulsed reactor model

Read more…
rebco_variablesrebco_variables.f90

Module for the REBCO HTS superconductor variables

Read more…
reinke_modulereinke_module.f90
reinke_variablesreinke_variables.f90

This module contains global variables relating to the minimum impurity fraction for detached divertor conditions Reinke criterion. It furthermore uses several parameters from Kallenbach model like netau and empurity_enrichment.

Read more…
resistive_materialsresistive_materials.f90

Variables relating to resistive materials in superconducting conductors

scan_modulescan.f90

Module containing routines to perform a parameter scan author: P J Knight, CCFE, Culham Science Centre None This module contains routines to perform a parameter scan over a range of values of a particular scanning variable. !

sctfcoil_modulesctfcoil.f90

Module containing superconducting TF coil routines author: P J Knight, CCFE, Culham Science Centre author: J Morris, CCFE, Culham Science Centre author: S Kahn, CCFE, Culham Science Centre N/A This module contains routines for calculating the parameters of a superconducting TF coil system for a fusion power plant. PROCESS Superconducting TF Coil Model, J. Morris, CCFE, 1st May 2014

stellarator_configurationstellarator_configuration.f90

Module containing defining parameters for a stellarator

Read more…
stellarator_modulestellarator.f90

Module containing stellarator routines author: P J Knight, CCFE, Culham Science Centre N/A This module contains routines for calculating the parameters of the first wall, blanket and shield components of a fusion power plant.

Read more…
stellarator_variablesstellarator_variables.f90

Module containing global variables relating to the stellarator model

Read more…
structure_variablesstructure_variables.f90

Module containing global variables relating to the support structure

Read more…
tfcoil_variablestfcoil_variables.f90

Module containing global variables relating to the toroidal field coil systems

Read more…
times_variablestimes_variables.f90

Module containing global variables relating to the plasma pulse timings

Read more…
utilitiesutilities.f90
vacuum_variablesvacuum_variables.f90

Module containing global variables relating to the vacuum system

Read more…
water_usage_variableswater_usage_variables.f90

Module containing global variables relating to the water usage

Read more…