Compile the code with the `-absorb` flag and set the corresponding `boundary_*` to `0`. If you need a spherical absorption, set one of the `boundary_*` to `2`. Also specify the `abs_thick` in the input which determines the region across which the absorption takes place.

There is no encoded reflecting boundary condition in our code as is. However, one can use the userfile to mimic the reflecting wall (see `user_reflect.F90`). The key is to take advantage of the `userCurrentDeposit()` (already done in the mentioned userfile) to properly reflect the particles from the wall with corresponding charge conservation.

Use your userfile for that. Examples of particle (and field) injectors can be found in `user_rec.F90` and `user_reflect.F90`.