ife_module Module

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.



Contents


Subroutines

public subroutine ifephy(outfile, iprint)

Routine to calculate the physics parameters of an Inertial Fusion Energy power plant author: P J Knight, CCFE, Culham Science Centre outfile : input integer : output file unit iprint : input integer : switch for writing to output file (1=yes) This routine calculates the physics parameters of an Inertial Fusion Energy power plant. F/MI/PJK/LOGBOOK12, pp.68,85

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: outfile
integer, intent(in) :: iprint

public subroutine iondrv(aaion, bmax, dpp, dtheta, edrive, emitt, etai, lf, nbeams, qion, sigma, sigma0, tauf, theta, vi, gain, etadrv)

Routine to calculate parameters of a heavy ion driver suitable for inertial fusion energy author: P J Knight, CCFE, Culham Science Centre aaion : input real : Ion mass (amu) bmax : input real : Maximum field at the superconductor (T) dpp : input real : Beam momentum spread dtheta : input real : Pointing error (rad) edrive : input real : Driver energy (J) emitt : input real : Normalised beam emittance (metre-rad) etai : input real : Axial quadrupole packing fraction at injection lf : input real : Distance from final focussing quad to target (m) nbeams : input integer : Number of beams qion : input real : Ion charge state sigma : input real : Depressed tune (incl. space charge effects) (deg) sigma0 : input real : Phase advance per lattice period (tune) (deg) tauf : input real : Post-acceleration pulse duration (s) theta : input real : Final focussing half angle (rad) vi : input real : Injection voltage (V) gain : output real : Target gain etadrv : output real : Driver efficiency This routine calculates the parameters of a heavy ion driver suitable for inertial fusion energy.

Currently, the complicated model taken from the reference is not complete, so it is recommended that the simple model is used (set ISIMP=1) Heavy-ion Driver Design and Scaling, R. Bieri et al., Fusion Technology, vol.21 (1992) 1583 Meier and Bieri, Fusion Technology, vol.21 (1992) 1547

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: aaion
real(kind=dp), intent(in) :: bmax
real(kind=dp), intent(in) :: dpp
real(kind=dp), intent(in) :: dtheta
real(kind=dp), intent(in) :: edrive
real(kind=dp), intent(in) :: emitt
real(kind=dp), intent(in) :: etai
real(kind=dp), intent(in) :: lf
integer, intent(in) :: nbeams
real(kind=dp), intent(in) :: qion
real(kind=dp), intent(in) :: sigma
real(kind=dp), intent(in) :: sigma0
real(kind=dp), intent(in) :: tauf
real(kind=dp), intent(in) :: theta
real(kind=dp), intent(in) :: vi
real(kind=dp), intent(out) :: gain
real(kind=dp), intent(out) :: etadrv

public subroutine lasdrv(edrive, gain, etadrv)

Routine to calculate parameters of a laser driver suitable for inertial fusion energy author: P J Knight, CCFE, Culham Science Centre edrive : input real : Driver energy (J) gain : output real : Target gain etadrv : output real : Driver efficiency This routine calculates the parameters of a laser driver suitable for inertial fusion energy. Gain and driver efficiency data are taken from Figures 1 and 2 of Meier and Rosenberg. Meier and Rosenberg, Fusion Technology vol.21 (1992) p.1552 F/MI/PJK/LOGBOOK12, p.86

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: edrive
real(kind=dp), intent(out) :: gain
real(kind=dp), intent(out) :: etadrv

public subroutine driver(edrive, gainve, etave, gain, etadrv)

Routine to calculate parameters of a generic driver suitable for inertial fusion energy author: P J Knight, CCFE, Culham Science Centre edrive : input real : Driver energy (J) gainve(10) : input real array : Gain vs energy data etave(10) : input real array : Driver efficiency vs energy data gain : output real : Target gain etadrv : output real : Driver efficiency This routine calculates the parameters of a generic driver suitable for inertial fusion energy. Gain and driver efficiency data are interpolated from input data. F/MI/PJK/LOGBOOK12, p.85

Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in) :: edrive
real(kind=dp), intent(in), dimension(10):: gainve
real(kind=dp), intent(in), dimension(10):: etave
real(kind=dp), intent(out) :: gain
real(kind=dp), intent(out) :: etadrv

public subroutine ifebld(outfile, iprint)

Routine to create the build of an inertial fusion energy device and to calculate the material volumes for the device core author: P J Knight, CCFE, Culham Science Centre outfile : input integer : output file unit iprint : input integer : switch for writing to output file (1=yes) This routine constructs the build of an inertial fusion energy device and calculates the material volumes for the device core. F/MI/PJK/LOGBOOK12, p.52

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: outfile
integer, intent(in) :: iprint

public subroutine ifestr()

Routine to calculate the support structural masses for the core of an Inertial Fusion Energy power plant author: P J Knight, CCFE, Culham Science Centre This routine calculates the support structural masses for the core of an Inertial Fusion Energy power plant.

In fact, the output masses are all trivially zero, as they are magnetic fusion specific. F/MI/PJK/LOGBOOK12, p.87

Arguments

None

public subroutine ifetgt()

Routine to calculate the power requirements of the target delivery system and the target factory author: P J Knight, CCFE, Culham Science Centre This routine calculates the power requirements of the target delivery system and the target factory, for an Inertial Fusion Energy power plant. F/MI/PJK/LOGBOOK12, pp.87-88

Arguments

None

public subroutine ifefbs(outfile, iprint)

Routine to calculate the first wall, blanket and shield volumes, masses and other parameters, for an Inertial Fusion Energy device author: P J Knight, CCFE, Culham Science Centre outfile : input integer : output file unit iprint : input integer : switch for writing to output file (1=yes) This routine calculates the first wall, blanket and shield volumes, masses and other parameters, for an Inertial Fusion Energy device. F/MI/PJK/LOGBOOK12, p.86 Moir et al., Fusion Technology, vol.25 (1994) p.5

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: outfile
integer, intent(in) :: iprint

public subroutine ifepw1()

Routine to calculate the first part of the heat transport and plant power balance constituents, for an IFE power plant author: P J Knight, CCFE, Culham Science Centre None This routine calculates the first part of the heat transport and plant power balance constituents, for an IFE power plant. F/MI/PJK/LOGBOOK12, pp.67,89 Bourque et al., Fusion Technology vol.21 (1992) 1465

Arguments

None

public subroutine ifeacp(outfile, iprint)

Routine to calculate AC power requirements for an IFE power plant author: P J Knight, CCFE, Culham Science Centre outfile : input integer : output file unit iprint : input integer : switch for writing to output file (1=yes) This routine calculates the AC power requirements for an IFE power plant. F/MI/PJK/LOGBOOK12, p.68

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: outfile
integer, intent(in) :: iprint

public subroutine ifepw2(outfile, iprint)

Routine to calculate the rest of the IFE heat transport and plant power balance constituents, not already calculated in IFEPW1 or IFEACP author: P J Knight, CCFE, Culham Science Centre outfile : input integer : output file unit iprint : input integer : switch for writing to output file (1=yes) This routine calculates the rest of the IFE heat transport and plant power balance constituents, not already calculated in routines IFEPW1 or IFEACP. F/MI/PJK/LOGBOOK12, p.67

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: outfile
integer, intent(in) :: iprint

public subroutine ifevac()

Routine to calculate parameters of the vacuum system for an Inertial Fusion Energy power plant author: P J Knight, CCFE, Culham Science Centre This routine calculates the parameters of the vacuum system for an Inertial Fusion Energy power plant.

The calculated values are hard-wired; they are based loosely on those for a tokamak of 6m major radius. F/MI/PJK/LOGBOOK12, p.87

Arguments

None

public subroutine ifebdg(outfile, iprint)

Routine to calculate the volumes of the buildings required for an Inertial Fusion Energy power plant author: P J Knight, CCFE, Culham Science Centre outfile : input integer : output file unit iprint : input integer : switch for writing to output file (1=yes) This routine calculates the volumes of the buildings required for an Inertial Fusion Energy power plant. The method is based closely on that for tokamaks etc. in routine BLDGS. F/MI/PJK/LOGBOOK12, p.87

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: outfile
integer, intent(in) :: iprint