gds_fdtd.execution.jobspec

gds_fdtd simulation toolbox.

Serializable simulation jobs. A JobSpec is everything needed to run one simulation, as JSON: layout SOURCE references (GDS path + top cell + technology YAML), the SimulationSpec, and the solver registry name.

Design note (deviation D10): the job references the layout source instead of embedding the loaded Component — loaded components carry engine-resolved material objects (a deliberate Phase-2 choice) that don’t belong in a serialized payload. Reconstructing through the same loading path makes the round-trip law exact: a JobSpec deserialized from its own JSON builds identical artifacts.

Credentials policy: secrets (TIDY3D_API_KEY, license servers, …) are NEVER part of a JobSpec — solvers read them from the environment at run() time, so a job file can be shipped to any machine safely.

Functions

describe_job(job)

Human summary without loading anything heavy.

run_job(job, out_dir)

Execute a JobSpec: validate, budget-check, run, persist SMatrix + result.

Classes

Budget(*[, max_flexcredits, max_wall_seconds])

Spending limits for one job.

JobResult(*, smatrix_path, job_hash, solver, ...)

What a completed job hands back (paths are relative to the out dir).

JobSpec(*, gds_path, top_cell, ...[, ...])

One simulation as a portable, serializable description.