Iterate only over subset of particles that have not converged.
Lower tol_rad from 10^-5 to 10^-6 in test suite so that calculation of dxi/dt with implicit radiation is accurate enough when iterating over individual particles.
Move allocation of compacted neighbour list and neighbour arrays into new module implicit (utils_implicit.f90).
Only allocate arrays if unallocated, as opposed to doing so every time step.
Remove calculation of redundant dvdx in fill_arrays (it is identical to the calculation in density). Remove check for dvdx in the test suite.
Put calculation of flux limiter lambda and Eddington factor into the compute_flux particle loop. Remove timing for computing lambda and eddington.
Cache cv, lambda, eddington, and opacity in EU0(6,npart) array.
Summary of changes:
tol_rad
from 10^-5 to 10^-6 in test suite so that calculation of dxi/dt with implicit radiation is accurate enough when iterating over individual particles.implicit
(utils_implicit.f90).fill_arrays
(it is identical to the calculation in density). Remove check fordvdx
in the test suite.compute_flux
particle loop. Remove timing for computing lambda and eddington.EU0(6,npart)
array.