A perfect magnetic conductor (PMC) has zero tangential magnetic field at its surface. FDTD CUDA continues updating edge $E_z$ and substitutes zero for magnetic samples outside the grid. Away from corners, the left-edge update uses:
$$ E_z^{n+1}(0,j)=C_1E_z^n(0,j)+C_2\left( \frac{H_y^{n+\frac12}(0,j)-0}{\Delta x} -\frac{H_x^{n+\frac12}(0,j)-H_x^{n+\frac12}(0,j-1)}{\Delta y} \right) $$
The zero replaces the missing $H_y$ sample on the left. Other edges use corresponding substitutions, and corners need both applicable edge treatments. No ghost-cell array is allocated.
Unlike PEC, this rule does not pin edge $E_z$ to zero, so an electric source can be accepted there. Select --boundary pmc in the driver or Boundary::Pmc in the API. The expression illustrates the ordinary unsplit electric update with its edge substitution.