Skip to content

Latest commit

 

History

History
20 lines (14 loc) · 2.22 KB

File metadata and controls

20 lines (14 loc) · 2.22 KB

TCode

What is it?

TCode is a C++14 compliant application to simulate the response of solid state sensors in massively parallel platforms on Linux systems. TCode is implemented on top of Hydra and as such, it can run in parallel on OpenMP, CUDA and TBB compatible devices or sequentialy in single threaded enviroments. TCode is still in its alpha version and the repository it is taking shape, for the moment we focused on getting raw performance and will make more stable and user friendly release in the near future.

How it works

TCode uses external 3D maps of electric fields, carrier mobilities and weighting field and energy deposit to simulate the response in current of solid state sensors. The motion of the individual carriers produced in the initial deposit is determined using a 4th oder Runge-Kutta method [add reference] using the electric field and the mobilities and assuming that the carriers always move at drift velocity. At regular times intervals, the current induced in the electron is calculated from the carriers velocity using the corresponding weighting field, according to the Shockley-Ramo theorem. The output is stored to ROOT files (consider supporting flat text files as well ), several level of output detail are available, from the simple current vs time plot to the complete information about the position of the carriers at each time step.

Dependencies

TCode depends on ROOT >= v.6.14, libconfig >= v1.5, TCLAP >= v1.2.1 and optionally CUDA >= 10.0 (needed for nVidia GPUs) and TBB. Perche cuda 10+ e non 8+?

Manual

IN PREPARATION

Authors

TCode was created by Andrea Contu and Angelo Loi.

Acknowledgement

TCode was developed within the TIMESPOT collaboration, supported by the Instituto Nazionale di Fisica Nucleare (INFN) and by the Università degli Studi di Cagliari.