Structure

Radiant.Cross_SectionsType

Cross_Sections

Structure used to define the parameters to extract or build a multigroup cross-sections library.

Mandatory field(s)

  • source::String : source of the cross-sections.
  • materials::Vector{Material} : material list.
  • if source = "fmac-m"
    • file::String : file containing cross-sections data.
  • if source = "physics-models"
    • particles::Vector{String} : particle list.
    • energy::Float64 : midpoint energy of the highest energy group [in MeV].
    • number_of_groups::Int64 : number of energy groups.
    • group_structure::String="log" : type of group discretization.
    • legendre_order::Int64 : maximum order of the angular Legendre moments of the differential cross-sections.
    • interactions::Vector{Interaction} : list of interaction.
  • ** if source = "custom"**
    • particles::Vector{String} : particle list.

Optional field(s) - with default values

  • if source = "physics-models"
    • cutoff::Float64 = 0.001 : lower energy bound of the lowest energy group (cutoff energy) [in MeV].
  • ** if source = "custom"**
    • custom_absorption::Vector{Real} : absorption cross-sections per material.
    • custom_scattering::Vector{Real} : scattering (isotropic) cross-sections per material.
source

Methods

Radiant.set_sourceMethod
set_source(this::Cross_Sections,source::String)

To define the source of the cross-sections library.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • source::String : source of the cross-sections library which is either:
    • source = "physics-models" : multigroup cross-sections are produced by Radiant
    • source = "FMAC-M" : multigroup cross-sections are extracted from FMAC-M file.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_source("FMAC-M")
source
Radiant.set_fileMethod
set_file(this::Cross_Sections,file::String)

To read a FMAC-M formatted file containing the cross-sections library.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • file::String : file name and directory.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_file("fmac_m.txt")
source
Radiant.set_materialsMethod
set_materials(this::Cross_Sections,materials::Vector{Material})

To set the list of material, either contained in FMAC-M file in order, or to produce in Radiant.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • materials::Vector{Material} : material list.

Output Argument(s)

N/A

Examples

julia> mat1 = Material(); mat2 = Material()
julia> ... # Defining the material properties
julia> cs = Cross_Sections()
julia> cs.set_materials([mat1,mat2])
source
Radiant.set_particlesMethod
set_particles(this::Cross_Sections,particles::Union{Vector{Particle},Particle})

To set the list of particles for which to produce coupled library of cross-sections.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • particles::Vector{Particle} : particles list.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_particles([electron,photon,positron])
source
Radiant.set_energyMethod
set_energy(this::Cross_Sections,energy::Real)

To set the midpoint energy of the highest energy group.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • energy::Real : midpoint energy of the highest energy group.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_energy(3.0)
source
Radiant.set_cutoffMethod
set_cutoff(this::Cross_Sections,cutoff::Real)

To set the cutoff energy (lower bound of the lowest energy group).

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • cutoff::Real : cutoff energy (lower bound of the lowest energy group)

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_cutoff(0.05)
source
Radiant.set_number_of_groupsMethod
set_number_of_groups(this::Cross_Sections,number_of_groups::Vector{Int64})

To set the number of energy groups per particle.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • number_of_groups::Vector{Int64} : number of energy groups per particle in order with the particle list.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_particles([electron,photon,positron])
julia> cs.set_number_of_groups([80,20,80]) # 80 groups with leptons, 20 with photons
source
Radiant.set_group_structureMethod
set_group_structure(this::Cross_Sections,group_structure::Union{Vector{String},String})

To set the type of energy discretization structure per particle.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • group_structure::Vector{String} : type of energy discretization structure per particle, where value per particle can take the following value:
    • group_structure[i] = "linear" : linearly spaced discretization.
    • group_structure[i] = "log" : logarithmically spaced discretization.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_particles([electron,photon,positron])
julia> cs.set_group_structure(["log","linear","log"]) # 80 groups with leptons, 20 with photons
source
Radiant.set_interactionsMethod
set_interactions(this::Cross_Sections,interactions::Vector{Interaction})

To set the interaction to take into account in the library of cross-sections.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • interactions::Vector{Interaction} : list of interactions to use in the production of the cross-sections library.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_particles([electron])
julia> cs.set_interactions([Elastic_Leptons(),Inelastic_Leptons(),Bremsstrahlung(), Auger()])
source
Radiant.set_legendre_orderMethod
set_legendre_order(this::Cross_Sections,legendre_order::Int64)

To set the maximum order of the Legendre expansion of the differential cross-sections.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • legendre_order::Int64 : maximum order of the Legendre expansion of the differential cross-sections.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> cs.set_legendre_order(7)
source
Radiant.buildMethod
build(this::Cross_Sections)

To build the cross-section library.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> ... # Defining the cross-sections library properties
julia> cs.build()
source
Radiant.writeMethod
write(this::Cross_Sections,file::String)

To write a FMAC-M formatted file containing the cross-sections library.

Input Argument(s)

  • this::Cross_Sections : cross-sections library.
  • file::String : file name and directory.

Output Argument(s)

N/A

Examples

julia> cs = Cross_Sections()
julia> ... # Defining the cross-sections library properties
julia> cs.write("fmac_m.txt")
source