Skip to main content
Glama

femm_experiment_torque_vs_angle

Compute rotor torque versus mechanical angle for finite-element models by rotating groups or stepping a periodic air-gap boundary; optionally apply dq phase currents.

Instructions

Rotor torque vs mechanical angle (degrees, end point included).

method='rotate': rotates rotate_groups about center (default [0, 0]) each step and re-meshes; torque = WST block integral on torque_groups (default rotate_groups; exclude a rotor-side air layer from torque_groups). Needs an air layer split by a circle in the gap so the rotor can turn. method='age': the model has a FEMM 5 'Periodic Air Gap' boundary (BdryFormat 6) named gap_boundary; its inner angle is stepped and torque = mo_gapintegral (mesh never changes). drive = {"circuits": ["A","B","C"], "pole_pairs": p, "id": 0, "iq": 10, "theta0_deg": 0} makes the phase currents follow the rotor (amplitude-invariant dq; theta_e = p*angle + theta0) and adds a mean-torque check against 3/2 p (psi_d iq - psi_q id).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
stopNo
driveNo
startNo
stepsNo
anglesNo
centerNo
methodNorotate
sessionNomain
gap_boundaryNo
rotate_groupsYes
torque_groupsNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does so well: it discloses the torque extraction mechanism per method (WST block integral vs mo_gapintegral), that re-meshing occurs in 'rotate' but not 'age', the required air layer/boundary topology, and the drive model with its mean-torque sanity check. It omits whether model geometry is restored after rotation, session-scoped effects, and cost/performance behavior, so it is not exhaustive.

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?

Purpose is front-loaded in the first line and every subsequent clause carries real technical payload with no filler. It is dense and unbulleted, mixing method mechanics and the drive dict into long sentences, which slightly hurts scannability for an 11-parameter tool.

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 complex, 11-parameter experiment with no annotations and no output schema, the description covers inputs and physics but says nothing about what it returns (torque series, angles, mean-torque check results) or how results are surfaced. That is a meaningful gap when no output schema exists to fill it.

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

Parameters4/5

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

Schema coverage is 0% across 11 params, so the description must compensate, and it does for the non-obvious ones: method, rotate_groups, center (default [0,0]), torque_groups (defaults to rotate_groups plus exclusion advice), gap_boundary, and drive (with a full example dict and theta_e formula). start/stop/steps/angles/session are left unaddressed, though 'end point included' partially documents the angle range.

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 opening line states a precise verb+resource: computes rotor torque versus mechanical angle. It is self-evidently distinct from the other femm_experiment_* siblings (cogging, backemf, inductance), but it never names or routes against them, so it stops short of explicit sibling differentiation.

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?

It gives conditional prerequisites that imply method selection ('rotate' needs an air layer split by a circle in the gap; 'age' needs a Periodic Air Gap boundary named gap_boundary), and warns to exclude a rotor-side air layer from torque_groups. However it never states when to prefer one method over the other, nor when to use this experiment instead of the sibling experiment tools.

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