NAME
XrayImaging
SYNOPSIS
call XrayImaging (integer, intent (in) :: blockCount,
integer, intent (in) :: blockList (:),
real, intent (in) :: timeStep,
real, intent (in) :: timeSimulation)
DESCRIPTION
Launches batches of detector X-rays onto the domain and records their attenuation on
the detector screen(s). This is the driver routine for X-ray imaging at a particular
time during the simulation. The domain structure and properties are assumed to
remain frozen during the traversion of the X-rays.
Currently the X-rays do not interact with the domain, hence no domain update
is necessary.
The code consists of the following basic steps:
1) Create the detector X-rays
2) Record the X-rays attenuation through the domain
3) Record each X-ray intensity on the detector file(s)
The code can handle a larger number of X-rays than there is memory available
by sending batches of X-rays and reusing available memory.
ARGUMENTS
blockCount : Number of blocks on current processor blockList : All block ID numbers timeStep : The current time step duration timeSimulation : current simulation time
NOTES
The current implementation can handle more than one X-ray detector. The X-ray paths are straight lines through the domain.