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.