RayRF PMC ground plane validation projects
==========================================

Replication of the ideal PEC/PMC dipole reference case (Fig. 3) from:

  Fan Yang, Y. Rahmat-Samii, "Reflection phase characterizations of the
  EBG ground plane for low profile wire antenna applications," IEEE
  Transactions on Antennas and Propagation, vol. 51, no. 10,
  pp. 2691-2698, October 2003.

Write-up: https://rayrf.com/blog/pmc-ground-plane-validation

Contents
--------
projects/
  freespace.rfsim      strip dipole alone, all-PML box (feed sanity case)
  freespace_fine.rfsim same at 0.125 mm cells (mesh convergence check)
  pec_sheet.rfsim      dipole 1.5 mm over a finite 25 x 25 mm PEC sheet
  pec_sheet_2x.rfsim   same over a 50 x 50 mm sheet (size check)
  pec_inf.rfsim        dipole over an infinite PEC boundary (z_lo wall,
                       1.5 mm fixed spacing)
  pmc_inf.rfsim        dipole over an infinite PMC boundary (z_lo wall,
                       1.5 mm fixed spacing)
  ebg.rfsim            the paper's mushroom EBG ground plane: 7x7 array
                       of 3.0 mm patches, 0.5 mm gaps, one via per patch,
                       1.0 mm eps_r=2.20 substrate, dipole 0.5 mm above
                       the patches (change dx/dy/dz to walk the mesh
                       ladder from the post)
results/
  <case>_s11_<backend>.csv  S11/Zin sweeps as produced by the solver
                            (columns: freq_hz, s11_db, zin_real, zin_imag)
  mesh_ladder.csv           cell size vs cells, steps, solver seconds and
                            dip for the runtime exploration in the post
analytic/
  image_theory.py      induced-EMF image-theory arbiter (numpy only)
  image_theory.csv     its output over 10-20 GHz
openems/
  openems_run.py       the openEMS cross-check driver (same mesh, same
                       coordinates, same band; needs python-openEMS)
  <case>_s11.csv       the openEMS sweeps from the post

Geometry (paper dimensions snapped to the 0.25 mm grid, worst snap 0.07%):
dipole 10.0 x 0.5 mm strip (equivalent round-wire radius w/4 = 0.125 mm),
center-fed with a 0.5 mm in-plane gap port, 50 ohm reference, height
1.5 mm, band 9-21 GHz.

Requires RayRF v1.0.55 or newer (in-plane port + per-face PMC boundary).
Open a project, hit Run Simulation, and compare the S-Parameters tab
against results/. pec_sheet.rfsim, pmc_inf.rfsim and ebg.rfsim ship with
run results embedded, so the S-Parameters, Radiation Pattern and Field
Viewer tabs show data as soon as the project opens.
