mirror boundary conditions impemented