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_group_structure
— Methodset_group_structure(this::Cross_Sections,group_structure::Vector{Real})
To set the energy group discretization structure (default).
Input Argument(s)
this::Cross_Sections
: cross-sections library.group_structure::Vector{Real}
: energy group boundaries.
Output Argument(s)
N/A
Examples
julia> cs = Cross_Sections()
julia> cs.set_group_structure([1.0,0.5,0.1]) # 2 energy groups, cutoff of 0.1
julia> cs.set_group_structure([0.1,0.5,1.0]) # Equivalent
Radiant.set_group_structure
— Methodset_group_structure(this::Cross_Sections,particle::Particle,
group_structure::Vector{Real})
To set the energy group discretization structure for a given particle.
Input Argument(s)
this::Cross_Sections
: cross-sections library.particle::Particle
: particle associated with the discretization (overwrite default).group_structure::Vector{Real}
: energy group boundaries.
Output Argument(s)
N/A
Examples
julia> electron = Electron()
julia> cs = Cross_Sections()
julia> cs.set_group_structure(electron,[1.0,0.5,0.1]) # 2 energy groups, cutoff of 0.1
julia> cs.set_group_structure(electron,[0.1,0.5,1.0]) # Equivalent
Radiant.set_group_structure
— Methodset_group_structure(this::Cross_Sections,type::String,Ng::Int64,E::Real,Ec::Real)
To set the energy group discretization structure (default).
Input Argument(s)
this::Cross_Sections
: cross-sections library.type::String
: type of discretization, which can takes the following values:linear
: linear discretization.log
: logarithmic discretization.
Ng::Int64
: number of energy groups.E::Real
: midpoint energy of the highest energy group.Ec::Real
: cutoff energy.
Output Argument(s)
N/A
Examples
julia> cs = Cross_Sections()
julia> cs.set_group_structure("log",10,10.0,0.001)
Radiant.set_group_structure
— Methodset_group_structure(this::Cross_Sections,particle::Particle,type::String,Ng::Int64,
E::Real,Ec::Real)
To set the energy group discretization structure for a given particle.
Input Argument(s)
this::Cross_Sections
: cross-sections library.'particle::Particle
: particle associated with the discretization (overwrite default).type::String
: type of discretization, which can takes the following values:linear
: linear discretization.log
: logarithmic discretization.
Ng::Int64
: number of energy groups.E::Real
: midpoint energy of the highest energy group.Ec::Real
: cutoff energy.
Output Argument(s)
N/A
Examples
julia> electron = Electron()
julia> cs = Cross_Sections()
julia> cs.set_group_structure(electron,"log",10,10.0,0.001)
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_Collision(),Inelastic_Collision(),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")