Right now, the theoretical reflection coefficient of the boundary is calculated in the Boundary sub-classes:
reflection_coefficient = 10**(-(np.log10(max(*space.absorbing)) - 1)/np.log10(2) - 3)
but this should be the same for all boundaries, so should be moved to Boundary.damping().