- nullBgAbsorber
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.
nullBgAbsorber Parameters¶
- 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
andcellSpecies
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 kindneutralGas
. 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
orfunctionDefined
. 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
andLenzJensen
(uses TxPhysics models based on the Thomas-Fermi and Lenz-Jensen screening potentials), andgaussian
(a simple gaussian model for the mean scattering angle). When using thegaussian
option, the parameterradiationLength
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) andbuiltIn
(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.
builtIn Parameters¶
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.
functionDefined Parameters¶
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 areinterpolatedFromFile
, orexpression
. 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 thestoppingPower
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.
thicknessFunc Parameters¶
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
Example nullBgAbsorber Block¶
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>