Table of Contents ECSS Model Page
Background Information Radiation sources and effects
GA shield optimiser

Genetic algorithm optimiser for Mulassis

The total ionising, displacement damage, and radiological dose environments of Jupiter are strongly affected by the trapped electron population. High atomic number (high-Z) materials are more effective at shielding electrons, as these particles undergo greater multiple scattering than in lower-Z materials. However, bremsstrahlung photon production increases with increasing Z number. It is possible to use combinations of low- and high-Z materials so that the electrons are first slowed in a low-Z layer with minimal production of bremsstrahlung, and then a high-Z material layer which stops the final low-energy electrons, while also providing better attenuation for any X-rays [3]. Per unit areal mass, such graded shields can provide over an order of magnitude improvement in TID attenuation compared to a shield comprising a single material. However, determination of the optimal composition of such shields is non-trivial, requiring numerous detailed simulations. The search for the optimum shield can be automated using a Genetic Algorithm (GA).

A GA mimics real life by applying a process of natural selection to select designs which are better adapted to meet specific criteria, solving problems by specifying "genes", each of which are associated with various parameters of the simulation. This tool combines the detailed Geant4-based [4], multi-layered shielding tool Mulassis with a genetic algorithm package based on D.L. Carroll's GA Fortran driver [5] to optimise shielding against space radiation. In this application, the set of genes which form the chromosomes consists of:

An initial population of chromosomes is generated randomly and Mulassis is used to determine the efficiency of each candidate shield. The population is refined progressively by selecting via a "fitness function" the better performing shields and applying "gene-splicing" and mutation to form new chromosomes.

The generic GA process is as follows:

  1. Define a population with various (random) values for the characteristics to optimise.
  2. Define the characteristics to optimise (number of layers, materials and layer thickness) as chromosomes.
  3. Define the reproduction of the population (i.e. how the chromosomes will cross-over, mutate).
  4. Select groups of two chromosomes, based on predefined criteria for the most appropriate candidates for reproduction.
  5. Define how the population will evolve (children replacing the parents, or random death, or elitist death).
  6. Define a criteria or formula to assess the fitness of the members of
  7. the population. This is generally done after a simulation analysis. In this particular application Mulassis is invoked to estimate Total Ionising Dose and NIEL values behind the candidate shield.
  8. Define the rate of random mutation to allow the system to explore solutions not belonging to or not a combination of the parent genome.

Fitness function

The radiation dose measured in a thin layer of silicon behind the shield, together with the total mass and thickness of the shield, are used to formulate a ‘fitness function’ which assigns a value to each shield that the GA can use to select the best candidates.

The GA assesses the fitness of an individual (shield candidate) in terms of a single parameter that represents a parametrised function of the total dose and NIEL behind the shield and the mass (in terms of areal density) and thickness of the shield. The radiation dose, mass and thickness, are characteristics of the material composition of the shield’s component layers.

The space environment relevant to a particular mission (e.g. electron and proton spectra) is generated with the respective models in SPENVIS. The following parametrised boundary conditions will be applied for any given case study:

  1. The maximum allowed total ionising dose (in rad).
  2. The maximum allowed NIEL dose (in rad).
  3. The maximum mass allowed will be defined as the equivalent mass of a given thickness of Aluminium (in mm).
  4. The maximum total thickness of the shield in mm.
Candidate shields that exceed any of these limits will be declared off-spec and assigned to the weak part of the population. In particular, checks for compliance with the total mass and thickness boundary conditions are encapsulated within the software module performing the test, before execution of the Mulassis simulation. The radiation dose calculation is not performed if a candidate is already declared off-spec by failing any of the other boundary conditions.

The default function defining the fitness parameter f is of the (linear) form:

f = A x Dose + B x NIEL + C x ArealDensity + D x Thickness

with units of rad, rad, g cm-2 and mm for each term, respectively. The interpretation of this figure of merit f, is that the lower its value the fitter the candidate. As the GA used looks for a maximum rather than a minimum, the fitness value F output by the GA programme is F = 1 - f.

It is possible to change the weight of the four contributions to the value of F, therefore "constants" A, B, C and D are defined as:

A = wd / maxDose

B = wn / maxNIEL

B = wm / maxArealDensity

B = wt / maxThickness

The default values for the weighting factors w are set equal to 1/4, but these can be modified by the user to suit each particular application, depending on which is the stronger constraint.

A variation on the default fitness function is to square all terms. This results in higher fitness values more quickly and can lead to faster convergence: Again, F = 1 - f and

A = wd / maxDose2

B = wn / maxNIEL2

B = wm / maxArealDensity2

B = wt / maxThickness2

Shield configuration

The user can select:

Genetic algorithm parameters

The user can select:

Environment specification

Using the check boxes, the user can specify which environment spectra should be used for the Mulassis simulations. If no environment spectrum are available, the respective check box is disabled and an environment model should be run first. The user can select:

Processing flow

The processing flow of the GA optimiser for Mulassis is implemented in practice as follows:
  1. Input generation by the user.
    • Use SPENVIS to define the mission and obtain the relevant particle spectra or to upload it.
    • Use SPENVIS to generate the required input files to select the materials list and the GA Mulassis optimiser options including shield characteristics, GA parameters, fitness function criteria and Mulassis parameters.
    • Alternatively to using SPENVIS, the required input files can be edited locally by the user (e.g. to run the GA optimiser as a standalone tool).
  2. Execution of the GA driver programme.
    1. Set up and initialisation.
      • The user input is read from the namelist file userSetup.inp, which is generated by SPENVIS.
      • The number of chromosomes required to specify a shield is established according to user selection of the number of materials, the number of layers and the range of layer thickness.
      • The materials information is read from the materials.inp file, which is also generated by SPENVIS.
      • The population of the first generation of ‘individuals’ (i.e. candidate shields) is randomly established.
      • The layer thickness is assigned in units of g cm-2 by a random engine from a set a discrete values on a logarithmic scale, within the range specified by the user in terms of minimum and maximum Al equivalent thickness expressed in μm. In this way, the actual linear thickness of a layer is material dependent.
    2. Candidate shield specification and evaluation, looping over the selected number of generations.
      • For every individual member (candidate shield) of a generation the total areal density and linear thickness is calculated by summing over the various layers.
      • Candidate shields which comply with the total mass equivalent and overall thickness boundary conditions are evaluated for radiation levels behind the shield, i.e. TID/NIEL in rads.
      • A shield geometry is generated and written to an output file shieldGeometry.g4mac in a format which is compliant with the requirements of a Geant4 Mulassis input macro file. This file includes analysis options (TID and NIEL) and control and execute commands to trigger separate runs for the selected particle types. The size of the run is independently set by the user for each type of particle.
      • A Mulassis run is executed via a system call with input macro file shieldGeometry.g4mac. This produces separate output files for each type of particle selected by the user (trapped electrons, trapped protons and/or solar protons).
      • The main GA programme regains control and reads the TID and NIEL values resulting from the Mulassis run(s) and co-adds the various contributions. These are checked against the values entered by the user as the maximum TID and NIEL allowed behind the shield.
      • If all the boundary conditions are satisfied, i.e. the candidate shield has total areal density and linear thickness within range specified by the user, and performs within the user specifications for radiation levels, the shield is ‘graded’ according to a fitness function that assigns a numerical value to each qualifying individual.
      • The fitness values of a population are then used to produce the next generation according to the GA options in use.
      • The results are written to file ga.out and the current status (last generation computed ) to file ga.restart to enable continuation of the calculation over further generations (this option is not available in SPENVIS).
      • The calculation stops when the specified number of generations has been reached.
The logical and processing flow of the application are represented in the diagrams below.

Macro files and outputs

Pressing the button will run an intermediate application that generates the necessary input files for GARSO. A new page will appear where the user can download the environment spectra in Geant4 GPS format, the material list and the macro file for GARSO. With these inputs, a local run of GARSO can be performed, as running the application on the SPENVIS server will likely result in a time out due to the limitations on CPU time.

Pressing the button will start the main calculation and bring up the results page. The main GARSO application produces only one output file: ga.out.

Output files generated by GARSO
File name Description
ga.out Main output file
materials.inp List of shield materials
userSetup.inp Namelist parameters for the main application
specElectron.g4mac Trapped electron spectrum in Geant4 GPS macro format
specProton.g4mac Trapped proton spectrum in Geant4 GPS macro format
specsolarproton.g4mac Solar proton spectrum in Geant4 GPS macro format

References

[1] R. Nartallo, "JORE2M2 Project: GA Shield Optimiser for MULASSIS. Requirements, Interface Control, Design, Implementation and Justification Document.", QINETIQ/TS/AS/SDD0902577, 2010.

[2] R. Nartallo, "JORE2M2 Project: GA Shield Optimiser for MULASSIS. User Manual", QINETIQ/TS/AS/SUM1003594, 2010.

[3] R. Mangeret, T. Carriere, Beaucour, and Jordan, "Effects of materials and/or structure on shielding of electronic devices," IEEE Trans Nucl Sci, 43, No 6, 2665–2670, 1996.

[4] GEANT4 Home Page: http://geant4.web.cern.ch/geant4.

[5] D.L. Carroll's GA Fortran driver: http://www.cuaerospace.com/carroll/ga.html.


Last update: Mon, 12 Mar 2018