optimize.OptimizationRun

optimize.OptimizationRun(
    name,
    method,
    steps,
    learning_rate,
    history,
    trajectory,
    parameters,
    initial,
    result=None,
)

One finished optimization: its descent history and both endpoints.

Attributes

Name Type Description
name str The optimization’s name.
method str Optimizer actually used ("adam"/"sgd", or "gradient-descent" when optax is unavailable).
steps int Number of optimizer steps executed.
learning_rate float Step size the run used.
history list[dict[str, float]] One record per step — {"step", "objective", "grad_norm"} — evaluated at the parameters before that step’s update.
trajectory list[dict[str, Any]] Parameter path for animation — one {"step", "objective", "parameters"} entry per step including step 0 (the initial state) and the final state, evenly subsampled to at most TRAJECTORY_LIMIT entries.
parameters dict[str, float | list[float]] Final free-parameter values (name → float | [floats]).
initial dict[str, float | list[float]] The values the run started from (same shape).
result Any For study-backed runs, the final design’s concrete :class:~cadjoint.fem.result.SimulationResult — solved on a freshly extracted mesh, ready for describe()/nodal_scalar()/rendering. None for objective-form runs.