From agent-almanac
Calculates and visualizes magnetic fields from current distributions using Biot-Savart law, Ampere's law, and dipole approximations. Handles arbitrary geometries, symmetry exploitation, superposition, and magnetic materials.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agent-almanac:analyze-magnetic-fieldThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Calculate the magnetic field produced by a given current distribution by characterizing the source geometry, selecting the appropriate law (Biot-Savart for arbitrary geometries, Ampere's law for high-symmetry configurations), evaluating field integrals, checking limiting cases, incorporating magnetic material effects where relevant, and visualizing the resulting field-line topology.
Calculate the magnetic field produced by a given current distribution by characterizing the source geometry, selecting the appropriate law (Biot-Savart for arbitrary geometries, Ampere's law for high-symmetry configurations), evaluating field integrals, checking limiting cases, incorporating magnetic material effects where relevant, and visualizing the resulting field-line topology.
Fully specify the source before selecting a method:
## Source Characterization
- **Current type**: [line I / surface K / volume J]
- **Geometry**: [parametric description]
- **Coordinate system**: [and justification]
- **Symmetries**: [translational / rotational / reflection]
- **Nonzero B-components by symmetry**: [list]
- **Current continuity**: [verified / issue noted]
Expected: A complete geometric description of the current distribution with coordinate system chosen, symmetries cataloged, and current continuity verified.
On failure: If the geometry is too complex for a closed-form parametric description, discretize into short straight segments (numerical Biot-Savart). If current continuity is violated, add displacement current or return charge accumulation terms before proceeding.
Choose the method that matches the problem's symmetry and complexity:
Ampere's law (high symmetry): Use when the current distribution has sufficient symmetry that B can be pulled out of the line integral. Applicable cases:
Biot-Savart law (general): Use for arbitrary geometries where Ampere's law cannot simplify:
Magnetic dipole approximation (far field): Use when the observation point is far from the source (r >> source dimension d):
Superposition: For multiple sources, compute B from each independently and sum vectorially. Linearity of Maxwell's equations guarantees this is exact.
## Method Selection
- **Primary method**: [Ampere / Biot-Savart / dipole]
- **Justification**: [symmetry argument or distance criterion]
- **Expected complexity**: [closed-form / single integral / numerical]
- **Fallback method**: [if primary fails or for cross-validation]
Expected: A justified choice of method with a clear statement of why the chosen law is appropriate for the problem's symmetry level.
On failure: If Ampere's law is chosen but the symmetry is insufficient (B cannot be extracted from the integral), fall back to Biot-Savart. If the source geometry is too complex for analytic Biot-Savart, discretize numerically.
Execute the calculation using the method selected in Step 2:
Ampere's law path: For each Amperian loop:
Biot-Savart integration: For each field point r:
Dipole calculation:
Superposition assembly: Sum contributions from all sources at each observation point. Track components separately to preserve cancellation accuracy.
## Field Calculation
- **Integral setup**: [explicit expression]
- **Evaluation method**: [analytic / numeric with N segments]
- **Result**: B(r) = [expression with units]
- **Convergence check** (if numerical): [N vs. 2N comparison]
Expected: An explicit expression for B(r) at the observation points, with correct units (Tesla or Gauss) and a convergence check for numerical results.
On failure: If the integral diverges, check for a missing regularization (e.g., the field on the wire itself diverges for an infinitely thin wire -- use finite wire radius). If numerical results oscillate with N, the integrand has a near-singularity that requires adaptive quadrature or analytical subtraction of the singular part.
Verify the result against known physics before trusting it:
Far-field dipole limit: At large r, any localized current distribution should produce a field that matches the magnetic dipole formula. Compute B from your result in the limit r -> infinity and compare with (mu_0 / 4 pi) * [3(m . r_hat) r_hat - m] / r^3.
Near-field infinite-wire limit: Close to a long straight segment of the conductor (distance rho << length L), the field should approach B = mu_0 I / (2 pi rho). Check this for the relevant portion of your geometry.
On-axis special cases: For loops and solenoids, the on-axis field has simple closed forms:
Symmetry consistency: Verify that components predicted to vanish by symmetry (Step 1) are indeed zero in the computed result. A nonzero forbidden component indicates an error.
Dimensional analysis: Verify that B has units of Tesla. Every term should carry mu_0 * [current] / [length] or equivalent.
## Limiting Case Verification
| Case | Condition | Expected | Computed | Match |
|------|-----------|----------|----------|-------|
| Far-field dipole | r >> d | mu_0 m / (4 pi r^3) scaling | [result] | [Yes/No] |
| Near-field wire | rho << L | mu_0 I / (2 pi rho) | [result] | [Yes/No] |
| On-axis formula | [geometry] | [known result] | [result] | [Yes/No] |
| Symmetry zeros | [component] | 0 | [result] | [Yes/No] |
| Units | -- | Tesla | [check] | [Yes/No] |
Expected: All limiting cases match. The field has the correct units, symmetry, and asymptotic behavior.
On failure: A failed limit indicates an error in the integral setup or evaluation. The most common causes are: wrong sign in the cross product, missing factor of 2 or pi, incorrect limits of integration, or a coordinate system mismatch between source and field point parameterizations.
Extend the analysis to include material effects and produce field visualizations:
Linear magnetic materials: Replace mu_0 with mu = mu_r * mu_0 inside the material. Apply boundary conditions at material interfaces:
Nonlinear materials (B-H curves): For ferromagnetic cores:
Demagnetization effects: For finite-geometry magnetic materials (e.g., short rods, spheres), the internal field is reduced by the demagnetization factor N_d: H_internal = H_applied - N_d * M.
Field visualization:
Physical intuition check: Confirm that the field pattern makes qualitative sense. The field should be strongest near the current source, should circulate around currents (right-hand rule), and should decay with distance.
## Material Effects and Visualization
- **Material model**: [vacuum / linear mu_r / nonlinear B-H / hysteretic]
- **Boundary conditions applied**: [list interfaces]
- **Visualization**: [field lines / magnitude contour / both]
- **Div B = 0 check**: [field lines close / verified numerically]
Expected: A complete field solution including material effects where relevant, with a visualization that shows closed field lines consistent with div B = 0 and qualitative behavior matching physical intuition.
On failure: If field lines do not close, the calculation has a divergence error -- recheck the integral or numerical method. If the material introduces unexpected field amplification, verify that mu_r is applied only inside the material volume and that boundary conditions are correctly enforced at every interface.
solve-electromagnetic-induction -- use the computed B-field to analyze time-varying flux and induced EMFformulate-maxwell-equations -- generalize to the full set of Maxwell's equations including displacement current and wave propagationdesign-electromagnetic-device -- apply magnetic field analysis to the design of electromagnets, motors, and transformersformulate-quantum-problem -- quantum treatment of magnetic interactions (Zeeman effect, spin-orbit coupling)npx claudepluginhub pjt222/agent-almanacSolves electromagnetic boundary value problems using Maxwell's equations. Derives wave equations, computes Poynting vector, applies boundary conditions at interfaces.
Solves mechanics, fluid dynamics, and electromagnetism problems by applying conservation of energy, momentum, angular momentum, or charge — identifying the system boundary, the conserved quantity, and conservation conditions.
Performs symbolic mathematics in Python: algebraic manipulation, calculus (derivatives, integrals, limits), equation solving, matrix operations, and code generation. Use for exact symbolic results.