Structure
Radiant.Cross_Sections — Type
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.
Methods
Radiant.set_source — Method
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 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 — Method
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")Radiant.set_materials — Method
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])Radiant.set_particles — Method
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])Radiant.set_group_structure — Method
set_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]) # EquivalentRadiant.set_group_structure — Method
set_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]) # EquivalentRadiant.set_group_structure — Method
set_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 — Method
set_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 — Method
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_Collision(),Inelastic_Collision(),Bremsstrahlung(), Auger()])Radiant.set_legendre_order — Method
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)Radiant.build — Method
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()Radiant.write — Method
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")