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…
const_and_precisionsconst_and_precisions.f90
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_modulestellarator_fwbs.f90

Module containing first wall, blanket and shield 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…
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…