# Wolfram Language™

## Visualize the Stopping Power of Materials

Radiation particles lose kinetic energy when they travel through matter and eventually stop or get absorbed. This example explores the stopping power of substances when irradiated with alpha particles.

Plot the linear stopping power of biological tissue when irradiated with alpha particles of different impact energies. The vertical axis represents how much energy the particles lose on average per centimeter traveled.

In[1]:=
```ListLogLinearPlot[ Table[{Quantity[10^x, "Electronvolts"], StoppingPowerData[ "A150TissueEquivalentPlastic", {"Particle" -> Entity["Particle", "AlphaParticle"], "Energy" -> Quantity[10^x, "Electronvolts"]}, "LinearStoppingPower"]}, {x, 3, 8, 0.1}], AxesLabel -> Automatic]```
Out[1]=

Now explore how linear stopping power changes for an alpha particle emitted from an atom of uranium as the particle travels through biological tissue. This is the initial kinetic energy of the particle.

In[2]:=
```initialKE = IsotopeData[Entity["Isotope", "Uranium235"], "BindingEnergy"]```
Out[2]=
show complete Wolfram Language input
In[3]:=
```dEByDxVal[k_Real?Positive] := QuantityMagnitude[ StoppingPowerData[ "A150TissueEquivalentPlastic", {"Particle" -> Entity["Particle", "AlphaParticle"], "Energy" -> Quantity[k, "Megaelectronvolts"]}, "LinearStoppingPower"]]/10000; dEByDxVal[k_Real] := 0```
In[4]:=
```sol = NDSolveValue[{KiM'[x] == -dEByDxVal[KiM[x]], KiM[0] == QuantityMagnitude[initialKE], WhenEvent[KiM[x] <= 0, "StopIntegration"]}, KiM, {x, 0, 60}, PrecisionGoal -> 3];```

Represent the decrease in kinetic energy as the particle advances through the material until it stops at approximately.

show complete Wolfram Language input
In[5]:=
```Plot[sol[x], {x, 0, 60}, Frame -> True, GridLines -> Automatic, FrameLabel -> {"distance traveled (\[Micro]m)", Row[{"KE", " (", Quantity[None, "Megaelectronvolts"], ")"}]}]```
Out[5]=

This represents the rate of loss of energy per unit of length.

show complete Wolfram Language input
In[6]:=
```Plot[dEByDxVal[sol[x]], {x, 0, 60}, Frame -> True, GridLines -> Automatic, FrameLabel -> {"distance traveled (\[Micro]m)", Row[{"\[DifferentialD]", Style["E", Italic], "/", "\[DifferentialD]", Style["x", Italic], " (", Quantity[None, "Megaelectronvolts"/"Micrometers"], ")"}]}]```
Out[6]=