gds_fdtd.validation

gds_fdtd simulation toolbox.

Cross-solver validation: run the SAME component/technology/spec through several engines and quantify how well their S-matrices agree:

report = validate_across([Tidy3DSolver, LumericalSolver], comp, tech, spec,
                         cache_dir=".cache")
print(report.summary())
report.plot(out=2, in_=1, savefig="agreement.png")

compare_smatrices is the pure core (no runs, no cost) — feed it recorded results to reproduce a comparison offline.

Functions

compare_smatrices(smatrices[, floor_db])

Pairwise comparison of already-computed S-matrices (offline, free).

validate_across(solvers, component[, ...])

Run one job on every engine and report pairwise agreement.

Classes

CrossSolverReport(smatrices, pairwise_db)

Pairwise S-matrix agreement between engines on one job.