The boundary conditions are implemented on the Poisson Solver, see attached PNG.
The default Poisson Solver for a bulk configuration is FFT with periodic BCs on all sides of the supercell. If no Poisson Solver is specified in the script, the default one is used.
For device configurations, the default BCs on the electrodes are also fully periodic:
left_electrode_poisson_solver = FastFourier2DSolver(
boundary_conditions=[[PeriodicBoundaryCondition(),PeriodicBoundaryCondition()],
[PeriodicBoundaryCondition(),PeriodicBoundaryCondition()],
[PeriodicBoundaryCondition(),PeriodicBoundaryCondition()]]
)