Skip to content

Avoid the full 2D wave-port eigensolve at every driven output frequency. #903

Description

@benvial

Problem

In driven simulations with numeric wave ports, each port's 2D boundary eigenproblem is re-solved at every output frequency. The adaptive fast sweep reduces the 3D solves, but not the port solves: the online phase remains O(number of output frequencies), as the reference documentation notes ("the projected non-quadratic contribution must be updated at each output frequency").

Concrete example: a CPW with two numeric wave ports, 1–100 GHz, 300 output frequencies, finite-conductivity boundaries, AdaptiveTol: 0.02. Each port-mode solve takes ~12 s, so the online sweep alone is roughly 2 × 300 × 12 s ≈ 2 hours, dwarfing the PROM construction. Fine frequency grids with wave ports are effectively impractical even when the 3D problem is cheap.

Suggestion

One possible approach: apply the same reduced-order idea to the port eigenproblem itself. Collect converged port eigenvectors at a few sampled frequencies (e.g. the PROM snapshot frequencies, where full port solves already happen), orthonormalize into a small basis V, and solve the tiny projected eigenproblem V†A(ω)V at output frequencies, with the reduced residual as an error indicator and a full solve as fallback.

Simpler mitigations (warm-starting the eigensolver from the previous frequency's mode, reusing the shifted factorization as a preconditioner) would also help, but only reduce the per-frequency cost rather than remove it.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions