def METHOD_NAME( self, interp ):
    """
    Damp the fields E and B in the PML cells.
    Parameters
    ----------
    interp: list of InterpolationGrid objects (one per azimuthal mode)
        Objects that contain the fields to be damped.
    """
    # Damp the fields on the CPU or the GPU
    if interp[0].use_cuda:
        # Damp the fields on the GPU
        dim_grid, dim_block = cuda_tpb_bpg_2d( interp[0].Nz, self.n_pml )
        for m in range(len(interp)):
            cuda_damp_pml_EB[dim_grid, dim_block](
                interp[m].Et, interp[m].Et_pml, interp[m].Ez,
                interp[m].Bt, interp[m].Bt_pml, interp[m].Bz,
                self.d_damp_array, self.n_pml )
    else:
        # Damp the fields on the CPU
        n_pml = self.n_pml
        for m in range(len(interp)):
            # Substract the theta PML fields to the regular theta fields
            interp[m].Et[:,-n_pml:] -= interp[m].Et_pml[:,-n_pml:]
            interp[m].Bt[:,-n_pml:] -= interp[m].Bt_pml[:,-n_pml:]
            # Damp the theta PML fields
            interp[m].Et_pml[:,-n_pml:] *= self.damp_array[np.newaxis, :]
            interp[m].Bt_pml[:,-n_pml:] *= self.damp_array[np.newaxis, :]
            # Add the theta PML fields back to the regular theta fields
            interp[m].Et[:,-n_pml:] += interp[m].Et_pml[:,-n_pml:]
            interp[m].Bt[:,-n_pml:] += interp[m].Bt_pml[:,-n_pml:]
            # Damp the z fields
            interp[m].Bz[:,-n_pml:] *= self.damp_array[np.newaxis, :]
            interp[m].Ez[:,-n_pml:] *= self.damp_array[np.newaxis, :]