Closed heltonmc closed 2 years ago
Implements time-domain solutions in the semi-infinite and layered geometries for g1 and g2.
Time-domain solutions have two separate routines depending on the time added. If a single time point is entered t isa AbstractFloat
this will simply calculate g(tau, t)
for that time point. If t isa AbstractVector
it will integrate over all the pathlengths in the range of t[1]
and t[end]
using Gauss-legendre integration.
The solutions are very accurate however I have not paid any attention to optimizing these yets and they allocate too much memory. One of the reasons is that I am directly calling the external interface for the fluence functions inside for loops. I believe Julia right now struggles with escape analysis, thus on each loop it is reallocating that memory. I will definitely optimize this further. In general, the strategy will be to preallocate as much as possible before entering the loops over each tau value and accessing the kernel functions in the fluence calculations. This will get rid of the majority of the allocations....
These functions are also not documented as of yet... I will add some to these next.
Codecov Report
Continue to review full report at Codecov.