Skip to content

RP does not trigger execution: decks without XQ silently produce no results (exit 0) #16

Description

@stevenmburns

In NEC-2 semantics RP is an execute request, same as XQ — and most decks in the wild rely on that: NEC-2 manual examples, 4nec2 and EZNEC exports typically contain no XQ at all and end with EX … / RP … / EN.

On current main (b58c4ad), such a deck runs to exit 0 and writes only the comments / structure / segmentation blocks — no matrix fill, no antenna input parameters, no radiation pattern. Nothing in the output or the exit status indicates the solve never happened.

Minimal reproduction (8 lines)

CE dipole, RP as the execute card (no XQ)
GW 1 11 0 -5 10 0 5 10 1e-3
GE 0
FR 0 1 0 0 14 0
EX 0 1 6 0 1 0
RP 0 19 37 1000 0 0 5 5
EN
  • onec -i deck.nec -o out.txt → exit 0, output ends after SEGMENTATION DATA. No input parameters, no pattern.
  • nec2c 1.3 on the same deck → full solve: input parameters (64.663 −56.474j) + radiation pattern.
  • Add an XQ before the RP and onec produces both blocks, matching nec2c.

Impact

Found while running the LD-verification corpus for #11: 432 of 492 real-world loaded decks are RP-driven and currently return silently empty results. Arguably higher-impact than #11 — a crash is loud; this is the quiet kind of failure (exit 0, plausible-looking truncated output).

A one-line string check in CI ("output contains ANTENNA INPUT PARAMETERS") on an RP-terminated smoke deck would pin this class — folds naturally into the golden-deck matrix proposed in #15.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions