Developer documentation · Antenna API
One design contract.
Your choice of solver.
Evaluate antenna designs and run bounded ADO searches through your MetaClaw runtime. Use HARP, WiTwin Maxwell or PNGF with the same physical scene and result format.
Quickstart
This documentation is public and requires no login. Numerical jobs run on your connected MetaClaw runtime and its configured compute resources. MetaHz hosts the documentation and browser interface.
- Start MetaClaw and open its Dashboard. Complete runtime pairing and configure a supported execution route.
- Download example-evaluation.yaml. It contains a complete, unsolved free-space PEC antenna with a finite port and three frequency samples.
- Set the runtime address. If runtime authentication is enabled, set your control token in
METACLAW_CONTROL_TOKEN. Submit the file using the headers below.
PowerShell · Use the address displayed by your runtime if its port differs.
$runtime = 'http://127.0.0.1:8505'
$headers = @{
Accept = 'application/yaml'
'x-antenna-client-version' = '2'
}
if ($env:METACLAW_CONTROL_TOKEN) {
$headers['X-MetaClaw-Control-Token'] = $env:METACLAW_CONTROL_TOKEN
}
$request = @{
Uri = "$runtime/api/antenna/live/workspace/evaluations"
Method = 'Post'
Headers = $headers
ContentType = 'application/yaml'
InFile = './example-evaluation.yaml'
}
Invoke-WebRequest @request | Select-Object -ExpandProperty ContentThe response is a job record. Use its id to read progress and the final result:
$jobId = '<id returned by the runtime>'
$status = Invoke-WebRequest "$runtime/api/antenna/live/workspace/jobs/$jobId" -Headers $headers
$status.ContentThe example demonstrates the request contract. Its coarse mesh and short temporal window do not establish a converged antenna result.
Runtime setup
The default base URL is http://127.0.0.1:8505/api/antenna/live/workspace. MetaClaw can choose another local port when that port is occupied. Read the running instance’s address and check GET /api/hello for its runtime and connection state.
The runtime administrator configures Python, solver device, precision, thread budget, cache location and PNGF banks. These are deployment settings; an evaluation request supplies physical inputs and bounded execution controls.
Local solver routes are configured in .metaclaw/runtime/antenna-evaluation.yaml, or the administrator’s METACLAW_ANTENNA_CONFIG path. The configuration uses schema metaclaw.antenna-runtime/1. Restart the runtime after changing deployment configuration.
schema: metaclaw.antenna-runtime/1
solvers:
harp_v1:
python_executable: 'C:/absolute/path/to/python.exe'
device: cpu
mode: direct
precision: float32
threads: 8
cache_root: 'D:/absolute/path/to/antenna-cache/harp'Download this runtime configuration template. Replace its paths with an interpreter that contains the MetaClaw solver packages and their native dependencies. CUDA routes additionally need a supported NVIDIA GPU, driver and runtime.
Add a witwin_maxwell route with device: cuda:0, mode: direct and precision: float32. A pngf route also needs compatible complete banks in bank_directories, or the administrator-configured metaclaw_solvers.pngf_reference.antenna_bank:build builder with its explicit native or WSL toolchain configuration. A missing bank is an admission blocker unless a builder is configured.
Use /catalog to discover integrations and /readiness to inspect the current route. Readiness and native preparation provide separate checks; a listed solver may still have missing dependencies or reject the scene.
Authentication & transport
The hosted browser pairs with the runtime and sends a runtime-issued X-MetaClaw-Control-Token. Direct local clients may use the default unauthenticated loopback policy; authentication is required when enabled by the administrator. Pair through the Dashboard. A manual client may exchange the code shown by the runtime’s own page with POST /api/configurator/pair and a YAML body containing code. The response includes a token and its expiry.
Keep the token in your local environment or client session. The hosted browser uses its paired transport. Browser origins must be allowed by the runtime; automatic pairing is available only when the runtime explicitly permits it.
| Header | Value | Use |
|---|---|---|
Accept | application/yaml | All requests |
Content-Type | application/yaml | POST bodies, UTF-8 |
X-MetaClaw-Control-Token | Your paired token | Paired browsers and authenticated local clients |
x-antenna-client-version | 2 | Workspace protocol compatibility |
Send one bounded YAML mapping per request. Workspace paths accept no query parameters. The workspace API uses the runtime’s loopback interface; remote solver resources are configured behind that runtime.
Geometry & selections
metaclaw.antenna-scene/1 describes geometry in metres. Model setup is organized into geometry, Materials, Excitations, Boundary conditions, Mesh and Analysis. These familiar HFSS categories map to the existing API fields below.
Support statements in these sections apply to the shared HARP, WiTwin Maxwell and PNGF antenna evaluator. Each configured route still checks physical eligibility and available resources through /readiness.
| Scene field | Meaning |
|---|---|
schema, id, revision, name, units, provenance | Versioned scene identity and input provenance. units is m. |
conductors | Axis-aligned rectangular elements with fixed or design role. kind: sheet has exactly one zero extent; kind: solid has positive extent in all three axes. Bounds are [xmin, xmax, ymin, ymax, zmin, zmax]. See Perfect E / PEC for the conductor model. |
initial_conductor_ids | Initially selected design elements. Fixed conductors always remain present. |
A candidate chooses from the scene’s design conductors. It cannot remove fixed terminals or short the declared source gap.
candidate:
id: candidate-002
conductor_ids: [left, right]
solver: harp_v1
settings:
harp_mode: hybrid
seconds: 600
duration_ns: 2This fragment accompanies a complete scene. Curved conductors and arbitrary CAD are outside this scene grammar. For a complete request, use the downloadable example.
Materials
Define properties in scene.materials, then assign each material to a rectangular volume in scene.dielectrics using material_id. Dielectric volumes must have positive extent and must not overlap internally.
| Property or material type | API field | Support |
|---|---|---|
| Free-space background | Implicit outside dielectric volumes | Relative permittivity 1, relative permeability 1, conductivity 0 S/m. |
| Relative Permittivity | epsilon_r or epsilon_r_diagonal: [x,y,z] | Scalar on all three routes. Cartesian-diagonal, frequency-independent values from 1 to 1,000 run on HARP and WiTwin; PNGF rejects the diagonal form. |
| Relative Permeability | mu_r or mu_r_diagonal: [x,y,z] | Scalar or Cartesian-diagonal values from 1 to 1,000 run on HARP and WiTwin. PNGF requires scalar mu_r: 1. Magnetic-interface convergence remains to be established. |
| Bulk Conductivity | loss.kind: conductivityloss.sigma_s_m | Frequency-independent loss in S/m; 0 to 10⁸. HARP and PNGF execute the declared value. WiTwin requires its reviewed corrected conductive-port overlay for nonzero conductivity; the stock port route rejects it before propagation. |
| Dielectric Loss Tangent | loss.kind: loss_tangentloss.tan_delta | PNGF evaluates scalar loss tangent at each requested frequency. HARP and WiTwin reject this declaration because a frequency-independent time-domain update cannot represent constant nonzero loss tangent over a band. |
| Perfect conductor | scene.conductors | Uses the Perfect E / PEC boundary model. A conductor has no material assignment. |
| Off-diagonal anisotropy, arbitrary dispersion, nonlinear media and magnetic loss | No constitutive-law object | Not admitted. These require constitutive or state equations beyond the present diagonal Yee updates and fixed linear PNGF bank. The diagonal fields above are implemented and distinct from full tensors. |
Material and volume assignment
This is a scene fragment for a lossless substrate. Its bounds must fit the complete scene’s mesh and remain inside the PML interior.
materials:
- id: substrate
epsilon_r: 2.56
mu_r: 1
loss:
kind: conductivity
sigma_s_m: 0
dielectrics:
- id: pcb
material_id: substrate
bounds_m: [-0.005, 0.005, -0.005, 0.005, 0, 0.0002]Terminology reference: HFSS Materials Technical Notes ↗. The values above are example inputs, not measured material data.
Excitations
scene.ports defines the electrical feed. The shared contract supports exactly one finite Lumped Port between two fixed conductor terminals.
| Type | API mapping | Support |
|---|---|---|
| Lumped Port | type: lumped | Supported with a 50 Ω reference, a finite aperture and an integration line. |
| Voltage source | scene.excitations[0].kind: lumped_voltage | A separate source object binds to the declared port and sets voltage amplitude and phase. HARP, WiTwin and PNGF execute this drive. |
| Current source | scene.excitations[0].kind: lumped_current | Norton current in parallel with the port’s 50 Ω resistance. HARP, WiTwin and PNGF use the equivalent 50 Ω Thevenin drive; the request retains the authored current and phase. |
| Wave Port / Floquet Port / Incident Wave | No modal or incident-field object | Not admitted. These need independent mode or total/scattered-field source operators and observables; the current result contract reports driven one-port S11 and Zin. |
Lumped Port definition
| Port field | Definition |
|---|---|
positive_conductor_ids, negative_conductor_ids | Distinct fixed terminal selections. Both terminals remain present for every candidate. |
sheet_bounds_m | The finite rectangular aperture between the terminals, in the same six-bound format as geometry. |
integration_line_m | Two 3D points ordered positive to negative. The nonzero line must be axis aligned, lie in the aperture and contact the declared terminals at its ends. |
reference_ohm | Fixed at 50 Ω for S11 and input impedance. The source uses a matched 50 Ω impedance. |
deembed_m | Fixed at 0. The reference plane is the declared port aperture; deembedding is unsupported. |
The following port is taken from the complete downloadable example; it depends on that example’s terminal geometry.
ports:
- id: drive
type: lumped
reference_ohm: 50
positive_conductor_ids: [positive]
negative_conductor_ids: [negative]
sheet_bounds_m: [-0.001, 0.001, -0.001, 0, 0, 0]
integration_line_m:
- [-0.001, -0.0005, 0]
- [0.001, -0.0005, 0]
deembed_m: 0Source waveform
Time-domain HARP and WiTwin use a Gaussian pulse. The shared evaluator derives its center frequency from the midpoint of the requested band and its width parameter from the larger of the band span or 20% of that center frequency. PNGF solves the frequency-domain port response at the requested samples.
Declare exactly one optional source object to set amplitude and phase. Without it, the legacy matched 1 V drive is used. The port fixes source resistance and current contour. A current source means Norton current with that 50 Ω parallel resistance; it does not mean an ideal unshunted current source.
HARP and WiTwin apply phase to the carrier of a time-domain Gaussian pulse. PNGF applies a frequency-domain phasor at every requested frequency. Compare S11 and Zin across routes; the raw voltage and current spectra have different source-waveform conventions.
excitations:
- id: source-1
kind: lumped_current
port_id: drive
amplitude_a: 0.02
phase_rad: 0.25
# Or kind: lumped_voltage with amplitude_v instead of amplitude_a.Terminology reference: HFSS Excitations ↗.
Boundary conditions
Conductor boundaries and exterior truncation have separate roles. Conductor geometry sets the metal surfaces; scene.boundary and scene.mesh.pml_cells define the open simulation domain.
| Boundary type | API mapping | Support |
|---|---|---|
| Perfect E / PEC | scene.conductors | Supported. Declared sheets and solids impose perfect-electric-conductor constraints. A finite ground plane must be explicit conductor geometry. |
| Open Region with PML | boundary.type: openmesh.pml_cells | Supported. HARP and WiTwin use time-domain PML; PNGF uses its frequency-domain PML formulation. |
| Radiation boundary (Mur ABC) | boundary.type: faces with face value mur | WiTwin native route only. This is a distinct absorbing condition from PML, with a different truncation error. |
| Perfect E / exterior PEC | Face value pec | WiTwin and HARP native routes. PNGF rejects non-PML faces. |
| Perfect H / exterior PMC | Face value pmc | WiTwin native route only. HARP’s current outer Yee topology does not retain the tangential boundary fields this requires. |
| Periodic / Coupled Lattice Pair | Opposite face values periodic | WiTwin native route only; pairs are validated. The response is for an in-phase infinite periodic continuation, not an isolated antenna. Bloch phase and Floquet excitation are not included. |
| Finite Conductivity / Impedance boundary | No conductor-loss field | Unsupported. Bulk dielectric conductivity does not turn a PEC conductor into finite-conductivity metal. |
boundary:
type: open
padding_m: 0.004
# In the complete scene.mesh mapping:
# pml_cells: 2
# axes_m: {x: [...], y: [...], z: [...]}
# Or specify all six faces explicitly:
# boundary:
# type: faces
# padding_m: 0.004
# faces: {x_low: pml, x_high: pec, y_low: pml, y_high: pml, z_low: pml, z_high: pml}padding_m sets the HFSS open-region size. It is informational for the Yee and PNGF routes: explicit mesh axes determine those domains and the field does not generate mesh nodes or enforce this padding value. Keep geometry and the port inside the non-PML region, and verify exterior clearance and PML sensitivity for the antenna.
mesh.pml_cells sets layer thickness only on faces assigned PML. Non-PML faces end at the explicit mesh extent. Geometry and the port retain at least one grid-node margin from each outer face. The open shorthand means six PML faces. HARP, WiTwin and PNGF reject unsupported faces; the separately managed HFSS route currently accepts only the open shorthand and no independent source object or diagonal material.
Terminology reference: Assigning Boundaries in HFSS ↗.
Mesh
scene.mesh.axes_m contains explicit, strictly increasing x, y and z node arrays in metres. These define the Cartesian grid. scene.mesh.pml_cells specifies the PML layer count; see Boundary conditions.
Place conductor surfaces, dielectric interfaces and the finite port deliberately on this grid. WiTwin additionally requires outer PML cells to continue the spacing of the adjacent interior cells. Geometry and resource admission can reject an incompatible grid.
The shared HTTP request does not expose HFSS adaptive tetrahedral meshing or automatic convergence passes. Submit separately refined scenes to study spatial convergence. HARP’s adaptive mode selects an execution method; it does not refine this mesh.
Analysis & frequency sweep
| Analysis setting | API field | Meaning |
|---|---|---|
| Frequency samples | scene.frequencies_hz | Explicit increasing positive frequencies in Hz. The complete evaluation returns complex S11 and input impedance at each sample. |
| Matching objectives | scene.targets | Each target declares start_hz, stop_hz, max_s11_db and weight. The band must contain requested frequency samples. An objective is not a convergence criterion. |
| Simulated duration | settings.duration_ns | Physical time window for HARP and WiTwin. PNGF performs a frequency-domain direct solve. |
| Time-step budget | settings.time_steps | A cap on propagation steps. The evaluator derives the step size from the mesh and rejects a duration that exceeds the cap; it does not shorten the requested window. |
| Wall-time and memory budgets | Execution limits | Bound resource consumption. They do not establish numerical accuracy. |
There is no interpolating or fast-sweep selector in this contract. HARP and WiTwin extract the requested samples from time-domain propagation; PNGF solves at those frequencies. Far-field patterns and multiport S-parameter matrices are outside the current shared output contract.
Check mesh refinement, temporal window, time step and exterior truncation before treating the result as physically converged. Inspect the actual mode, work counts and evidence in Results & evidence.
Endpoints
All paths below are relative to /api/antenna/live/workspace. Responses use YAML. Download the OpenAPI specification for request schemas and status definitions.
GET/catalog · Discover solvers
Returns the solver catalog, execution defaults, search defaults and metric limits. A catalog entry identifies an integration; check readiness for the submitted physical scene before starting work.
Input: No body. No query parameters.
POST/readiness · Check a scene
Returns ready, requirements with code/message, limits, resource estimates, and the scene identity. A false readiness result is returned as data. It does not start a production evaluation or establish physical convergence.
Input: scene, solver, settings
POST/preparations · Prepare reusable resources
Creates an asynchronous preparation job using the scene’s initial conductor selection. Follow its id through the jobs endpoint. It produces preparation evidence; it does not count as a fresh production result.
Input: scene, solver, settings
POST/evaluations · Evaluate one explicit design
Creates one asynchronous evaluation for the exact candidate. The runtime checks support and budgets, prepares compatible resources, executes fresh fields or currents, and publishes a bound S11/impedance result.
Input: scene, candidate, solver, settings
POST/jobs · Start a bounded search
Creates an ADO job on the same scene contract. ADO proposes conductor selections, then the chosen solver evaluates each accepted design. ADO also requires a configured model. Stop conditions are explicit.
Input: scene, solver, algorithm (ado), seed, max_evaluations, max_seconds, settings; optional model, goal
GET/jobs · List retained jobs
Returns up to 50 recent job summaries from this runtime. Read an individual job for candidates and results. Job identities belong to the runtime that created them; they are not public cloud job identifiers.
Input: No body. No query parameters.
GET/jobs/{id} · Read status and results
Returns the job’s current state, progress, error, and admitted candidate results. Poll at a bounded interval, for example once per second, and stop polling after a terminal state.
Input: id: the 32-character hexadecimal job identifier returned when work starts
POST/jobs/{id}/cancel · Request cancellation
Requests cancellation of this owned job and returns its current state. Continue checking until the job is terminal; accepting a cancellation request does not by itself prove native cleanup has finished.
Input: Empty YAML mapping: {}
Job lifecycle
After a runtime restart, unfinished retained jobs become interrupted. Submit a new bounded job when ready. A cancelled or failed job may retain earlier completed candidate records; inspect each record’s identity and evidence.
ADO request controls
Send algorithm: ado, a reproducible seed, max_evaluations, max_seconds, and an optional configured model and goal. The initial design and subsequent accepted proposals use the same solver adapter. Model proposals and native evaluations are recorded separately.
Solver support
| Solver ID | Modes | Execution | Preparation |
|---|---|---|---|
harp_v1 | Direct, Hybrid, Reduced, Adaptive | Native grid routes: CPU or CUDA. Prepared whole-device finite-window reduction: CPU, FP64. | Owned field propagation, local factors, or a configured whole-device model. Qualification and measured selection remain part of setup. |
witwin_maxwell | FDTD | CUDA, FP32 | Production Yee-grid kernels, material/source/boundary mapping and execution resources |
pngf | Complete-bank direct current solve | CPU or CUDA; FP32 or FP64, subject to residual checks | Complete mutual/output Green bank, candidate assembly and factors |
HARP mode is requested through settings.harp_mode. The result records the actual selected mode and qualification outcome. Adaptive execution may choose direct; a requested hybrid or reduced route does not guarantee a faster accepted solve.
Prepared finite-window families
Prepared design families use a separate compact query: metaclaw.harp-finite-window-query/1. It contains family_id, width_mm, frequencies_hz, accuracy_policy: validated_points and expected_evaluations. The deployment owns the model and qualification bundle. Requests cannot supply filesystem paths or replace the prepared source, boundary, materials or time window.
For this route, request direct, hybrid, reduced or adaptive. Reduced has local-response and whole-device implementations; the existing scene API retains hybrid_response for local reduction. Adaptive measures eligible implementations for the exact width and declared repetition count, records rejected trials and preparation costs, and reuses only a compatible decision. A changed width may require new planning.
The result separates the requested logical mode, implementation_mode, actual device, planning cost and fresh solve counter. A saved output is not a fresh evaluation. Whole-device qualification covers listed measured widths only; it does not certify arbitrary edits or continuum convergence. The older whole_device_rom query remains a separate harmonic-response contract.
Device and precision are administrator-selected. Use the runtime catalog for other configured integrations, including separately managed external solvers. Solver-specific limitations and licenses still apply.
Preparation & reuse
| Change | Reusable work | Fresh work |
|---|---|---|
| Same scene and conductor selection | Compatible preparation files and, while owned by the active session, resident operators/factors | Dynamic state reset, fields or currents, output extraction and a new solve counter |
| New conductor selection within a PNGF bank’s coverage | The complete Green bank | Candidate assembly/factors and a fresh current solve |
| Changed material, mesh, port, frequencies or coverage | Only resources explicitly admitted as compatible | New bank or local preparation as required; unsupported changes return a reason |
Preparation files may survive a job. Resident resources are owned by the active evaluation session and released at its lifecycle boundary; a later HTTP job should not assume resident reuse. The result’s reuse record describes what actually happened.
PNGF’s builder constructs the complete bank required by the declared scene, including mutual interactions and output mappings. Bank generation and qualification costs remain visible. Its current bank identity also includes the scene name, targets and provenance, so cosmetic changes may trigger a rebuild. Identical-antenna throughput does not establish the cost of changing a design or background.
RFIC materials & layers
The canonical 4 × 4 RFIC workspace has its own project, revision and transaction API at /api/rfic/array4x4. It uses the same runtime pairing and YAML transport. It does not require the antenna client-version header. The two existing designs remain separate: design_monolithic_on_die and design_single_die_aip.
- Read
GET /api/rfic/array4x4/readiness. Confirmcapabilities.edit.readyand every required name inedit_operations. On an older runtime, an absent list means these new technology operations are unavailable; existing editing remains unchanged. - Read
GET /api/rfic/array4x4/designs/{design_id}. Use itsproject.revision.design_revision_idasexpected_revision_id. - Send one atomic YAML request to
POST /api/rfic/array4x4/designs/{design_id}/transactions. Keep the idempotency key for retries of the same operations.
| Operation | Required values | Effect and validation |
|---|---|---|
create_development_material | material_id, complete material | Create a unique development definition, up to 64 per technology. |
update_development_material | material_id, complete material | Replace an existing development definition, preserving kind/model and process authority. |
assign_layer_material | layer_id, material_id | Assign an existing material of the same layer kind to all generated objects on the layer. |
set_layer_thickness | layer_id, thickness_m | Require positive fabrication-grid-aligned thickness; reflow later elevations and regenerate solids, vias, terminal paths and ports. |
Materials support the existing finite-conductivity conductor and constant-complex dielectric models. Conductor conductivity must be positive; dielectric relative permittivity must be at least one, with nonnegative conductivity and loss tangent. Edited definitions declare provenance: user_defined_development and validity: user_defined_unqualified_constant_model. Kind/model changes, process-owned definitions and unsupported loss laws are rejected.
expected_revision_id: rev_0001 # replace with the current revision
idempotency_key: material-layer-example-1
operations:
- op: create_development_material
material_id: user_dielectric
material:
kind: dielectric
model: constant_complex
label: User development dielectric
relative_permittivity: 3.2
loss_tangent: 0.002
provenance: user_defined_development
validity: user_defined_unqualified_constant_model
- op: assign_layer_material
layer_id: die_ild
material_id: user_dielectric
- op: set_layer_thickness
layer_id: die_ild
thickness_m: 0.000012A valid transaction returns HTTP 200 with status: applied or replayed, the canonical project, regenerated physical_model and affected-product invalidation. HTTP 409 reports a revision conflict; HTTP 422 reports a rejected edit with field-level issues. The entire prior revision survives either refusal. Requests are limited to 128 KiB and 256 operations; responses to 16 MiB.
These edits preserve stable object/port IDs and historical results. Technology-dependent products become stale; retained process geometry keeps its original source and cannot become current by relabelling. No numerical job starts, and no antenna dimensions are automatically tuned. Independent port definitions, arbitrary port impedance, full-wave boundaries and adaptive RFIC mesh are separate implementation work.
The implementation and transaction/reopen tests are source-verified. Installed runtime delivery and public website delivery are separate: a public editor or this reference does not update an installed runtime. Check its advertised operations before writing. These checks establish software behavior, not full-wave RFIC or fabrication qualification.
Errors & limits
Readiness returns actionable requirements. Transport failures return an error message and, where available, a structured code. Native failures are retained on the job with logs and partial evidence.
| Status | Typical action |
|---|---|
| 400 | Correct the scene, candidate, settings or lifecycle request. An active job must finish or stop before another starts. |
| 401 / 403 | Check pairing, token expiry, allowed origin and local runtime access. |
| 404 | Check the path and the job ID on the same runtime. |
| 406 / 415 | Use the documented YAML Accept and Content-Type headers with unencoded UTF-8. |
| 409 | Check the antenna client version and update/reload a compatible client. |
| 413 | Reduce the request to the route’s bounded input size. |
| 503 | Inspect runtime configuration and missing execution dependencies. |
Execution settings include seconds, host_memory_bytes, device_memory_bytes, storage_bytes, time_steps and duration_ns. Use /catalog for defaults. Search budgets are capped at 128 evaluations and 14,400 seconds; native evaluation bounds and available resources may reject work earlier.
Budgets are admission and lifecycle controls. Sampled host/device memory peaks have coverage limits; native allocations and short-lived events may require separate diagnostics.
Results & evidence
Every admitted result is tied to its scene, candidate, solver and exact frequency samples. Complex values are pairs [real, imaginary] in s11 and impedance_ohm, with reference_ohm: 50. Public job records may use a scene_ref that points to the job’s authoritative scene.
Results include native execution evidence, the actual execution mode, fresh solve counts, phase timing and available resource measurements. Numerical session measurements cover the owned solver process tree; outer API/server memory and HTTP/YAML transport are outside that scope. Use job timestamps separately for API lifecycle wall time.
Inspection should distinguish process completion, native execution, numerical convergence and physical validation.
S11 and input impedance establish sampled port response. They do not establish radiation efficiency, realized gain, fabrication performance or mesh convergence. Qualify the discretization, time window and boundaries for the design being evaluated.