Structure
Radiant.Cross_Sections
— TypeCross_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.
Methods
Radiant.set_source
— Methodset_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 Radiantsource = "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")
Radiant.set_file
— Methodset_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")
Radiant.set_materials
— Methodset_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])
Radiant.set_particles
— Methodset_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])
Radiant.set_energy
— Methodset_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)
Radiant.set_cutoff
— Methodset_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)
Radiant.set_number_of_groups
— Methodset_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
Radiant.set_group_structure
— Methodset_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
Radiant.set_interactions
— Methodset_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()])
Radiant.set_legendre_order
— Methodset_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)
Radiant.build
— Methodbuild(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()
Radiant.write
— Methodwrite(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")