nullBgAbsorber
Works with VSimPD license.
Kind of MonteCarlo interaction that models the loss of energy and scattering of a particle interacting with a background gas. nullBgAbsorber is used in conjunction with a Fluid block and a Species block.
species (string, required)
This is the name of the species interacting with the background
gas. The species must be defined in the input file using a
Species block. The background absorber works with both
sortSpecies
and cellSpecies
in Vorpal.
The species can be constant weight or variable weight.
fluid (string, required)
This is the name of the background gas, defined as a Fluid block
in the input file. To use the builtIn
models of energy loss,
multiple scattering, and energy straggling, the Fluid must be of
kind neutralGas
.
For more information on the kinds of allowed neutral Gases, please see
Working with neutralGas Fluids and the gasKind Parameter.
stoppingPower (string, required)
This attribute specifies the stopping power function to be used for energy
loss in the gas. Possible values are builtIn
or
functionDefined
.
See below for required parameters for each choice.
materialMass (string, required)
The material scatterer mass in kg
fluidTemperature (float, non-negative, optional, default = 0.0)
This parameter specifies the electron temperature of the fluid, in eV. If the temperature is 0.0, then all of the electronic stopping comes from electrons that are bound to the fluid atoms. If the temperature is non-zero, then some electronic stopping is from bound electrons, and some is from free electrons.
multipleScattering (string, optional, default = none)
This string specifies which model to use for multiple scattering of the
incident particle. The accepted values are none
(turns
multiple scattering off), ThomasFermi
and LenzJensen
(uses TxPhysics models based on the Thomas-Fermi and Lenz-Jensen screening
potentials), and gaussian
(a simple gaussian model for the
mean scattering angle). When using the gaussian
option, the
parameter radiationLength
is required, in \(kg/m^2\), to
determine the RMS angular spread experienced by particles traveling
through the material.
radiationLength (float, optional)
The radiation length for the gaussian multiple scattering option
straggling (string, optional, default = none)
This string specifies which model to use for energy straggling of the
incident particle. The accepted values are none
(turns
energy straggling off) and builtIn
(uses a TxPhysics model
to calculate the Vavilov distribution).
atomicRatio (float, optional)
The ratio of the scatterer’s atomic number to atomic mass
thicknessFunc (block, optional)
Use an STFunc block of name thicknessFunc
to specify a thickness
function for the material.
See below for parameters related to the STFunc block.
If the builtIn
stopping power type is used, the following parameters
must be set:
speciesAtomicNumber (real)
This parameter is required when using the builtIn
stopping power.
It defines the effective atomic number (Z) of the incident species.
If the functionDefined
stopping power type is used, the following
parameters must be set:
OAFunc (block, required)
An OAFunc block of name stoppingPowerFunc
must be used inside
the NullInteraction block. The OAFunc block allows the
user to define its own stopping power for the interaction, either through
a two-column data file or through an expression.
The kinds of OAFunc available for this interaction are
interpolatedFromFile
, or expression
.
The OAFunc must return the value of the stopping power as a function of the
kinetic energy in MeV and return a value in MeV-cm2/g .
Please see OAFunc Block for more information on the OAFunc block.
refPtclMass (real)
This parameter is required when using the OAFunc
stopping power.
This defines the mass of the incident particle (in kg) for which the
stopping power data is given in the stoppingPower
OAFunc function.
refPtclCharge (real)
This parameter is required when using the OAFunc
stopping power.
This defines the charge number of the incident particle for which the
stopping power data is given in the stoppingPower OAFunc function.
Use an STFunc block to specify a thickness function for the material. The
following parameters are possible when using the STFunc block of name
thicknessFunc
:
gridBoundary (string, required)
The name of the grid boundary for the location of the absorbing material.
materialName (string, required)
The name of the material absorbing the particles
materialDensity (string, required, default = 0.0)
The material scatterer density in m^-3
removeStoppedParticles (string, option, default = 0)
Whether to delete particles once they get stopped in the gas. 0 for false, 1 for true
This is an example of using an OAFunc function block to define the
stopping power. In this case the stopping power function is defined
through a two-column data file (h2StoppingPower.dat
), which
gives the proton stopping power in hydrogen. Blocks <Species
refMuon>
and <Fluid hydrogen>
are also present in the input
file.
<NullInteraction absorber>
kind = nullBgAbsorber
species = refMuon
fluid = hydrogen
# specify the stopping power with an OAFunc
stoppingPower = functionDefined
materialMass = 1.66e-27
<OAFunc stoppingPowerFunc>
kind = interpolatedFromFile
filename = h2StoppingPower.dat
# set bounds of the function from min and max x values in the file.
# option specific to kind = interpolatedFromFile
# setMinMaxFromFile = 1
# f has to be >0.
fmin = 0.
</OAFunc>
# charge of the particle for which the stopping power is given
refPtclCharge = ELEMCHARGE
# mass of the particle for which the stopping power is given
refPtclMass = PROTMASS
multipleScattering = none
straggling = none
</NullInteraction>
Using the builtIn stopping power (requires TxPhysics):
<NullInteraction absorber>
kind = nullBgAbsorber
species = muons
fluid = hydrogen
stoppingPower = builtIn
speciesAtomicNumber = 1.
multipleScattering = LenzJensen
straggling = builtIn
</NullInteraction>