---
title: Pulsed midpoint-guide direct-pixel source/material Adam discovery
---

# Pulsed midpoint-guide direct-pixel source/material Adam discovery

```{admonition} Live optimizer
:class: tip

This fresh comparison starts from a 450 nm midpoint-permittivity waveguide (density 0.5 in its core) and its solved fundamental mode current. The drive is a broadband Gaussian pulse, and the fixed ideal-cavity target is recomputed as the exact discrete causal convolution of that pulse with a lossless cosine pole, normalized to unity after the pulse. Maxwell sees the 25 nm material pixels directly: there is no conic filter, projection, or binarization. One reverse pass returns both material and source gradients at the same incumbent; raw Adam moves both blocks simultaneously and unconditionally. The gentler learning rates halve every twenty steps so they descend slowly. One forward/adjoint pair is exactly one plotted step; there is no candidate replay, step rejection, rollback, trust region, beta, or boundary handoff.
```

| State | Value |
|---|---:|
| Status | `running_simultaneous_joint_adam` |
| Source | `trainable_fixed_norm_modal_electric_current` |
| Source spatial profile | `freeform Ex/Ey/Ez on physical center plane` |
| Source spatial profile trainable | `True` |
| Active source degrees of freedom | 2700 |
| Source coordinate shape | `(3, 1, 42, 42)` |
| Ex / Ey / Ez coordinate norms | `0.0144, 0.9981, 0.0598` |
| Source current norm ratio | 1 |
| Source/reference overlap | 0.99968 |
| Source Adam learning rate | 0.0005 |
| Detector / target trainable | `False / False` |
| Temporal observable | `fixed_scale_reciprocal_mode_electric_coordinate` |
| Phase | `fixed_frequency_lossless_temporal` |
| Active coordinates | `unprojected_direct_25nm_density_pixels` |
| Completed updates | 2 |
| Temporal objective | -0.99889 |
| Whole-trace fixed-waveform fidelity | 0.50028 |
| Source-off fixed-waveform fidelity | 0.5 |
| Fixed target source-off power (telemetry) | 0.50008 |
| Fixed-target gain (ideal = 1) | 0.00056261 |
| Fixed-target normalized MSE | 0.99889 |
| Normalized temporal residual | 0.99945 |
| Full-field coherence | 0.29958 |
| Shifted stationarity | 0.2412 |
| Q telemetry | pending |
| Normalized V telemetry | pending |
| Active pole tape | pending ps |
| Maxwell-step reduction vs 2 ps | pending× |
| Material continuation stage | `unprojected_direct_25nm_density_pixels` |
| Binarization / projection | `disabled for entire campaign` |
| Bulk gray fraction | 45.00% |
| Material initialization | `450 nm waveguide core at density 0.5; cladding elsewhere` |
| Initial density mean / standard deviation | 0.225 / 0.24875 |
| Source initialization | `solved fundamental TE mode of midpoint-permittivity guide` |
| Temporal source | `broadband Gaussian pulse` |
| Ideal target | `exact discrete pulse ⊛ lossless cosine Green function; post-pulse amplitude 1` |
| Material spatial filter | `none; direct pixels` |
| Material pixel pitch | 25 nm |
| Design width in y | 1 µm |
| Joint optimizer | `raw simultaneous Adam ascent` |
| Material coordinates | `direct unprojected 25 nm density pixels indefinitely` |
| Material Adam learning rate | 0.005 |
| Initial material / source learning rate | 0.005 / 0.0005 |
| Material / source learning-rate floor | 1e-05 / 1e-06 |
| Learning-rate descent | `×0.5 every 20 steps` |
| Adam beta1 / beta2 / epsilon | 0.9 / 0.999 / 1e-08 |
| Joint Adam steps | 2 |
| Joint gradient evaluations | 2 |
| Joint forward evaluations | 2 |
| Last material motion | 0.0050053 |
| Last source angular motion | 0.021351 rad |
| Per plotted optimizer step | `one forward trajectory + one reverse pass for both blocks` |
| Candidate replay / line search | `none / none` |
| Acceptance / rollback | `unconditional commit / none` |
| Source inner iterations | 0 |
| Trust region / L-BFGS memory | `disabled / none` |
| Displayed objective/fields/source | `evaluated input state 1` |
| Updated coordinates | `pending next FDTD evaluation` |
| Boundary handoff | `disabled; continuous density is terminal` |
| Stable binary-topology states | `not applicable` |
| Boundary trust radius | `not applicable` |
| Latest Adam step | `committed unconditionally; evaluated next step` |
| Last pole trustworthy | False |
| Latest update wall time | 22.5 s |
| Last artifact write | 2026-08-29 19:47:12 UTC |

The authoritative state is
`benchmarks/artifacts/invdes_fryett_modal_temporal_modal_unbinarized_joint_adam_v1.npz`. This is an independently initialized Adam comparison artifact. Preparing it does not evaluate Maxwell, start a worker, or alter the running nested campaign.

## Geometry and exact material difference

![Initial, accepted, and difference geometry](../_static/generated/fryett_modal_source_joint_adam_geometry.png)

## Field used by the temporal objective

![Current windowed Ey field](../_static/generated/fryett_modal_source_joint_adam_fields.png)

## Exact temporal target response

![Simulated and projected target traces](../_static/generated/fryett_modal_source_joint_adam_temporal.png)

The orange curve is the fixed causal convolution of the prescribed current waveform
with the cosine Green function of one lossless pole. It is not the source waveform and
is not fitted to the simulation. During the drive it contains the exact causal build-up;
after turn-off its extrema are exactly -1 and +1. The blue simulation is plotted in those
same absolute objective units, so a smaller blue envelope is a real amplitude error, not
a display normalization. The current waveform appears only in the diagnostic panel on
its own explicitly independent display scale. The former blue background bands were 4D
field-snapshot windows; they were never objective weights and have been removed from
this plot to make the absolute comparison unambiguous. Every temporal sample still
enters the single normalized mean-square error equally.

## Evolving freeform source profile

![Area-whitened Ex, Ey, and Ez source coordinates](../_static/generated/fryett_modal_source_joint_adam_source_profile.png)




## Full-field temporal correlations

![Temporal Gram matrix and energies](../_static/generated/fryett_modal_source_joint_adam_gram.png)

## Objective, simultaneous Adam motion, continuous density, and pole history

![Temporal campaign history](../_static/generated/fryett_modal_source_joint_adam_history.png)

## Q versus raw joint Adam step — linear scale

![Cavity Q versus optimizer progress on a linear scale](../_static/generated/fryett_modal_source_joint_adam_q_history.png)

## Exact methodology, target response, and moving components

## Purpose of the comparison

This campaign tests raw simultaneous Adam with a broadband pulse rather than
the preceding resonant CW-like burst. The 8 um by 1 um design region begins as
a continuous 450 nm waveguide: its core density is 0.5, corresponding to
\((\epsilon_{\max}+\epsilon_{\min})/2\), and the remaining design cells begin
as cladding density zero. The initial fixed-norm real Ex/Ey/Ez current is the
solved fundamental TE mode of that same midpoint-permittivity guide. Its 2,700
freeform coordinates remain trainable after initialization.

Raw density obeys

\[
0\leq\rho_{ij}\leq1,
\qquad
\bar\rho_{ij}=\rho_{ij}.
\]

There is no conic filter or other spatial averaging: Maxwell receives each
25 nm density coordinate directly. There is also no projection, beta, gray or
binary penalty, continuation schedule, topology gate, or smooth-boundary
handoff. Thus single-pixel structure is allowed in this diagnostic campaign.

## One fixed temporal objective

For material coordinates \(\rho\) and unit-norm source coordinates \(u\), the
reciprocal modal response is \(a(t;\rho,u)\). The drive is the actual
discretized Gaussian pulse \(s_m\) produced by FDTDX, centered at \(f_0\) with
35 THz spectral width. The ideal response is recomputed from that pulse, not
reused from the resonant burst. For FDTD time step \(\Delta t\),

\[
c_n=\sum_{m=0}^{n}s_m\cos[\omega_0(n-m)\Delta t],
\qquad
A=\left|\sum_m s_m e^{-i\omega_0m\Delta t}\right|.
\]

Using the exact geometry-independent discrete modal impulse coupling
\(\kappa\), the fixed target is

\[
a_{\star,n}=-\frac{\kappa}{|\kappa|}\frac{c_n}{A}.
\]

This includes the causal pulse-on transient sample by sample. After the pulse,
it is a pure cosine at \(\omega_0\) with unity amplitude. Detector-cadence
samples are taken only after forming the full-step convolution. Neither
amplitude nor phase is fitted to the simulated trace. The sole optimized
scalar, with every temporal sample weighted equally, is

\[
F(\rho,u)=-\frac{\sum_n
[a(t_n;\rho,u)-a_\star(t_n)]^2}
{\sum_n a_\star(t_n)^2}.
\]

Q, grayness, source overlap, and pole fits are telemetry or pole-tracking
checks, not additional objective terms.

## One reverse pass, two gradients

At Adam step \(k\), one FDTD trajectory and one reverse pass evaluate

\[
F_k,\quad
g_{\rho,k}=\frac{\partial F}{\partial\rho},\quad
g_{u,k}=\frac{\partial F}{\partial u}
\]

at the identical incumbent pair \((\rho_k,u_k)\). In JAX this is one
`value_and_grad` operation with both argument numbers. It is not two adjoint
solves, and neither block sees the other block's updated value.

The material and source maintain independent Adam first and second moments,

\[
m_k=\beta_1m_{k-1}+(1-\beta_1)g_k,
\qquad
v_k=\beta_2v_{k-1}+(1-\beta_2)g_k^2,
\]

with bias corrections and ascent direction

\[
d_k=\frac{m_k/(1-\beta_1^k)}
{\sqrt{v_k/(1-\beta_2^k)}+\epsilon}.
\]

The slower, longer-lived descending learning-rate schedule is

- initial material learning rate \(\alpha_{\rho,0}=5\times10^{-3}\);
- initial source-coordinate learning rate \(\alpha_{u,0}=5\times10^{-4}\);
- both rates are multiplied by \(1/2\) after every twenty steps;
- the material and source floors are \(10^{-5}\) and \(10^{-6}\), respectively;
- \(\beta_1=0.9\), \(\beta_2=0.999\), and \(\epsilon=10^{-8}\).

This is ten times gentler than the preceding fast random-pixel run at startup, and
the four-times-longer plateau prevents both rates from prematurely reaching
their floors. There is no controller that increases a rate, adapts a trust
radius, or suppresses a proposal.

The material step is

\[
\rho_{k+1}=\operatorname{clip}_{[0,1]}
(\rho_k+\alpha_\rho d_{\rho,k}).
\]

The source has all 2,700 real Ex/Ey/Ez center-plane coordinates and begins
from the midpoint-guide mode described above, while its total current norm
remains fixed. The raw source gradient and preconditioned direction
are projected into the tangent plane of the unit sphere. The source then moves
and retracts,

\[
\tilde u_{k+1}=u_k+\alpha_u
(I-u_ku_k^T)d_{u,k},
\qquad
u_{k+1}=\frac{\tilde u_{k+1}}{\|\tilde u_{k+1}\|_2}.
\]

The source first moment is projected into the new tangent plane after the
step. Its elementwise second moment remains the ordinary ambient-coordinate
Adam accumulator. Thus this is a practical constrained Adam comparison, not a
claim of coordinate-invariant Riemannian Adam.

## Step and solve accounting

Material and source are committed simultaneously and unconditionally. There
is no source inner iteration, alternating block solve, L-BFGS memory, trust
radius, line search, gain-ratio acceptance test, finite-candidate gate,
rejected-step retry, rollback, or candidate replay. Overshoot and oscillation
are observable optimizer dynamics rather than events hidden by a controller.

One optimizer step is exactly one forward trajectory and its one reverse
pass. The objective, fields, Q telemetry, geometry, and source shown for step
\(k\) are those evaluated at \((\rho_k,u_k)\) to obtain that step's gradient.
The resulting \((\rho_{k+1},u_{k+1})\) is committed without another solve and
is evaluated at the next dashboard step. This standard one-step timing is
shown explicitly; the dashboard never presents an unevaluated proposal as if
it already had an objective value.

Every fourth committed step retains the existing pole audit. Once a
trustworthy Q above 100 is found, the carrier and minimum viable ringdown tape
track that pole while the same simultaneous Adam rule and fixed lossless target
continue.

## Prepared-state contract

Preparation creates only a CPU-initialized `ready_not_started` artifact and
static dashboard. It does not evaluate Maxwell, acquire the GPU lock, stop the
running nested campaign, or start optimizer/dashboard services. A later
explicit launch evaluates the baseline first and then starts an indefinite
worker.


## Operations

A bounded manual turn can be run with:

```bash
FDTDX_FRYETT_MODAL_SOURCE_CO_DESIGN=1 FDTDX_FRYETT_MODAL_SOURCE_BILEVEL=1 FDTDX_FRYETT_MODAL_SOURCE_UNBINARIZED=1 FDTDX_FRYETT_MODAL_SOURCE_JOINT_ADAM=1 FDTDX_FRYETT_MODAL_TEMPORAL_ID=modal_unbinarized_joint_adam_v1 uv run python -m benchmarks.cases.invdes_fryett_hybrid_scratch.modal_temporal --updates 1
```

The persistent launcher is `scripts/start_fryett_modal_source_joint_adam_campaign.sh`.

<script>setTimeout(() => window.location.reload(), 60000);</script>
