{
  "schema_version": 1,
  "case": "boundary-reflection",
  "title": "Let a pulse leave, or reflect it back",
  "media_kind": "time-domain-fdtd-snapshots",
  "core_source_commit": "a9054338616b91bb1364699882c2530fa29a0048",
  "generator": "examples/visualization/field_movies.py",
  "generator_sha256": "6fb84e6c675540b332e9f65ba367e8c21295957c776741fe8058953df8a2c293",
  "environment": {
    "python": "3.10.12",
    "jax": "0.6.2",
    "numpy": "1.26.4",
    "backend": "cpu"
  },
  "evidence_status": "qualitative single-mesh teaching example",
  "limits": [
    "No mesh-refinement or run-length accuracy claim",
    "No measured reflection, transmission, absorption, resonance frequency, or Q",
    "2D TMz model; this is not a finite-height 3D device",
    "CPML is a finite numerical absorber and may reflect residual fields"
  ],
  "runs": [
    {
      "variant": "cpml",
      "boundary": "cpml",
      "domain_m": [
        0.08,
        0.06,
        0.001
      ],
      "realized_display_span_m": {
        "x": [
          0.0,
          0.08
        ],
        "y": [
          0.0,
          0.06
        ]
      },
      "mode": "2d_tmz",
      "dx_m": 0.001,
      "dt_s": 2.335067793382187e-12,
      "allocated_grid_shape": [
        113,
        93,
        1
      ],
      "n_steps": 640,
      "snapshot_interval": 4,
      "source": {
        "position_m": [
          0.02,
          0.03,
          0.0
        ],
        "component": "ez",
        "f0_Hz": 6000000000.0,
        "bandwidth": 0.8,
        "amplitude_A": 1e-08,
        "amplitude_kind": "current",
        "waveform": "GaussianPulse",
        "cutoff": 3.0
      },
      "probe_position_m": [
        0.055,
        0.03,
        0.0
      ],
      "snapshot_slice_coord_m": 0.0005,
      "snapshot_dims": [
        "frame",
        "x",
        "y"
      ],
      "preflight_stdout": "  [PREFLIGHT] All checks passed.\n",
      "preflight_codes": []
    },
    {
      "variant": "pec",
      "boundary": "pec",
      "domain_m": [
        0.08,
        0.06,
        0.001
      ],
      "realized_display_span_m": {
        "x": [
          0.0,
          0.08
        ],
        "y": [
          0.0,
          0.06
        ]
      },
      "mode": "2d_tmz",
      "dx_m": 0.001,
      "dt_s": 2.335067793382187e-12,
      "allocated_grid_shape": [
        81,
        61,
        1
      ],
      "n_steps": 640,
      "snapshot_interval": 4,
      "source": {
        "position_m": [
          0.02,
          0.03,
          0.0
        ],
        "component": "ez",
        "f0_Hz": 6000000000.0,
        "bandwidth": 0.8,
        "amplitude_A": 1e-08,
        "amplitude_kind": "current",
        "waveform": "GaussianPulse",
        "cutoff": 3.0
      },
      "probe_position_m": [
        0.055,
        0.03,
        0.0
      ],
      "snapshot_slice_coord_m": 0.0005,
      "snapshot_dims": [
        "frame",
        "x",
        "y"
      ],
      "preflight_stdout": "  [PREFLIGHT] All checks passed.\n",
      "preflight_codes": []
    }
  ],
  "display": {
    "component": "ez",
    "normalization_V_per_m": 0.16679121553897858,
    "scale": "linear -1 to +1 shared across all frames and variants",
    "normalization_excludes_source_radius_m": 0.004,
    "source_pixels_may_saturate": true,
    "fps": 15,
    "frame_count": 160,
    "poster_frame_index": 32,
    "poster_time_s": 3.082289487264487e-10,
    "frame_interpolation": false
  },
  "artifacts": [
    {
      "file": "boundary-reflection.mp4",
      "sha256": "064e701e4d657bddb7b6963a5a51ad05bc87e6b8f642e9374c648ef5936c8829",
      "bytes": 603797
    },
    {
      "file": "boundary-reflection.png",
      "sha256": "1824afff802f19308b001b538b494b2b3a60e26b56a106c1094594798a22c00b",
      "bytes": 132520
    },
    {
      "file": "boundary-reflection.csv",
      "sha256": "10b814232e1344342d418a090d1fbba7c34dc57875402a6e47b225b5c8cfe57f",
      "bytes": 64383
    },
    {
      "file": "boundary-reflection.npz",
      "sha256": "4d2d598b7c7280daafce68f3e8dd3e74f0136a3e1ef1f09ddaf3a6cc19e5007f",
      "bytes": 238022
    }
  ],
  "download": {
    "snapshot_frame_stride": 16,
    "description": "Every 16th actual movie frame, full spatial resolution; all probe samples",
    "full_arrays": "Regenerate with the script; full arrays remain in --output"
  }
}
