Skip to main content
Glama

calculate_pcb_bow_and_twist

Read-onlyIdempotent

Evaluate PCB bow and twist warpage from stackup and copper imbalance to verify IPC limits and prevent SMT BGA open and tombstoning defects.

Instructions

IPC-TM-650 2.4.22 / IPC-6012E §3.4.4 PCB bow and twist (warpage & flatness) analyzer: evaluates residual bimetallic thermal curvature driven by dielectric stackup core/prepreg asymmetry and copper density gradients, enforcing strict <=0.75% limit for SMT assemblies to prevent BGA Head-in-Pillow (HiP) open defects and tombstoning.

Input Schema

NameRequiredDescriptionDefault
layer_countNoTotal layer count (default: 4).
board_width_mmNoBoard shortest edge in mm (default: 80.0).
board_length_mmNoBoard longest edge in mm (default: 100.0).
board_thickness_mmNoTotal PCB thickness in mm (default: 1.60).
has_smt_componentsNoWhether assembly contains SMT parts <=0.75% (default: True).
measured_bow_height_mmNoOptional measured dial-gauge bow deflection in mm.
dielectric_asymmetry_pctNoDielectric core/prepreg thickness asymmetry % (default: 0.0).
measured_twist_height_mmNoOptional measured corner lift in mm.
copper_balance_ratio_top_bottomNoTop-to-bottom copper volume ratio (default: 1.0).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.25.0

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a read-only, idempotent, closed-world, non-destructive calculation, so the safety profile is covered. The description adds genuine domain context beyond that: it explains the underlying model (bimetallic thermal curvature from dielectric asymmetry and copper gradients) and the threshold enforced (<=0.75%). With no output schema, however, it never states what the tool actually returns (percentages, per-axis values, pass/fail), which is the main behavioral gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence front-loads the standards and the resource name before the mechanics, so the identifying information arrives first. It is heavily jargon-dense for its length and packs the model, the threshold, and the failure modes into one clause chain, but no sentence is wasted or redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nine-parameter, zero-required tool with no output schema, the description covers intent and the governing limit well but does not describe the return shape or how computed versus measured bow/twist values are reconciled. Given that no output schema exists to carry that burden, the definition is adequate but leaves an agent guessing about results.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all nine parameters including defaults and optional measured values are already documented in the schema, making 3 the baseline. The description does add conceptual linkage by naming dielectric core/prepreg asymmetry and copper density gradients as the driving inputs, but it leaves the measured_bow_height_mm / measured_twist_height_mm comparison semantics and the layer/thickness interplay to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (evaluates/analyzer) and a specific resource (PCB bow and twist / warpage & flatness), anchored to IPC-TM-650 2.4.22 and IPC-6012E §3.4.4, which makes it distinguishable from generic geometry calculators like calculate_pcb_panel_rails or calculate_copper_thieving_balance. It does not explicitly name a sibling it displaces, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the mention of SMT assemblies and the <=0.75% limit, so an agent can infer this is a warpage-compliance check for SMT boards. However, there is no explicit when-to-use statement, no exclusion, and no pointer to adjacent tools such as audit_ipc6012_class_compliance or calculate_pcb_stackup_impedance that might be confused with it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools