formulate-maxwell-equations
について
このClaudeスキルは、マクスウェル方程式を積分形式と微分形式の両方で扱うためのツールを提供します。開発者は電磁界の解析、境界値問題の解法、波動方程式の導出、ポインティングベクトルによるエネルギー輸送の計算が可能です。材料界面、放射、静電界と完全な動的枠組みの連携を含む高度な電磁気学タスクにご利用ください。
クイックインストール
Claude Code
推奨npx skills add pjt222/agent-almanac -a claude-code/plugin add https://github.com/pjt222/agent-almanacgit clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/formulate-maxwell-equationsこのコマンドをClaude Codeにコピー&ペーストしてスキルをインストールします
ドキュメント
Formulate Maxwell Equations
EM phenomenon → state Maxwell eqs (int/diff) → apply BCs + symmetry → solve PDE → derive Poynting/pressure/impedance → verify limits.
Use When
- BVP for E, B w/ sources + interfaces
- Derive EM wave eq from first principles
- Compute Poynting vector + momentum density
- BCs at interfaces (dielectrics, conductors, magnetic)
- Displacement current role in Ampere-Maxwell
- Static limits (Coulomb, Biot-Savart) → unified time-dep
In
- Required: config (geometry, sources, material props)
- Required: target quantity (E, B, wave, flux, boundary value)
- Optional: symmetry (planar/cyl/sph/none)
- Optional: time-dep (static/harmonic omega/general)
- Optional: BCs at interfaces/conductors
Do
Step 1: State 4 eqs + select subset
-
Gauss E: div(E)=rho/epsilon_0 (diff) or ∮E·dA=Q_enc/epsilon_0 (int). Use w/ symmetry for E from charges.
-
Gauss B: div(B)=0 (diff) or ∮B·dA=0 (int). No monopoles. Consistency check.
-
Faraday: curl(E)=-dB/dt (diff) or ∮E·dl=-dPhi_B/dt (int). Changing B → curling E. Induction + waves.
-
Ampere-Maxwell: curl(B)=mu_0 J + mu_0 epsilon_0 dE/dt (diff) or ∮B·dl=mu_0 I_enc + mu_0 epsilon_0 dPhi_E/dt (int). Displacement current mu_0 epsilon_0 dE/dt → essential for waves + continuity.
-
Form: diff for local/wave/PDE; int for symmetry problems.
-
Active subset: electrostatics → Gauss E + curl(E)=0. Magnetostatics → Gauss B + Ampere (no displacement).
## Maxwell Equations for This Problem
- **Form**: [differential / integral / both]
- **Active equations**: [list which of the four are non-trivial constraints]
- **Source terms**: rho = [charge density], J = [current density]
- **Time dependence**: [static / harmonic / general]
- **Displacement current**: [negligible / essential -- with justification]
→ 4 eqs stated, subset ID'd w/ justify, displacement current included/argued negligible.
If err: unclear displacement current → estimate |epsilon_0 dE/dt|/|J|. ≥1 → keep. Vacuum + no free charges → always essential.
Step 2: BCs + symmetry
-
BCs at interfaces (media 1,2, surface charge sigma_f, surface current K_f):
- Normal E: epsilon_1 E_1n - epsilon_2 E_2n = sigma_f
- Tangential E: E_1t = E_2t
- Normal B: B_1n = B_2n
- Tangential H: n_hat × (H_1-H_2) = K_f (n_hat: 2→1)
-
Conductor BCs (perfect):
- E_tan=0 (inside E=0)
- B_normal=0 (time-varying)
- sigma = epsilon_0 E_normal
- K = (1/mu_0) n_hat × B
-
Symmetry:
- Planar: fields depend on 1 coord → ODE
- Cylindrical: (rho,z) or rho
- Spherical: r only
- Translational invariance → Fourier transform
-
Gauge (potentials phi, A):
- Coulomb: div(A)=0 (separates static + radiation)
- Lorenz: div(A) + mu_0 epsilon_0 d(phi)/dt=0 (Lorentz-covariant, decouples wave eqs)
## Boundary Conditions and Symmetry
- **Interfaces**: [list with media properties on each side]
- **Boundary conditions applied**: [normal E, tangential E, normal B, tangential H]
- **Symmetry**: [planar / cylindrical / spherical / none]
- **Reduced coordinates**: [independent variables after symmetry reduction]
- **Gauge** (if using potentials): [Coulomb / Lorenz / other]
→ BCs at every interface, symmetry applied, ready for PDE.
If err: over-determined → check components vs conditions. Under-determined → missed BC (often tangential H or radiation at ∞).
Step 3: Solve PDE
-
Wave eq derivation (source-free, linear, homogeneous):
- curl(curl(E)) = -d/dt(curl(B)) = -mu epsilon d²E/dt²
- Identity: curl(curl(E)) = grad(div(E)) - nabla²(E)
- div(E)=0 → nabla²(E) = mu epsilon d²E/dt²
- v=1/sqrt(mu epsilon); vacuum c=1/sqrt(mu_0 epsilon_0)
- Same for B
-
Plane wave (z-prop):
- E(z,t)=E_0 exp[i(kz - omega t)], k=omega/v=omega*sqrt(mu epsilon)
- B=(1/v) k_hat × E
- |B|=|E|/v
- Polarization: linear/circular/elliptical
-
Laplace/Poisson (static):
- nabla²(phi)=-rho/epsilon_0 (Poisson) or nabla²(phi)=0 (Laplace)
- Separation of variables → match BCs
-
Guided waves/cavities:
- TE/TM decomposition
- Conducting-wall BCs
- Eigenvalue → propagation const / resonance
- Cutoff: omega_c = vpisqrt((m/a)²+(n/b)²) rect guide a×b
-
Skin depth:
- delta = sqrt(2/(omega mu sigma_c))
- Decay exp(-z/delta)
- 60 Hz Cu: ~8.5 mm; 1 GHz: ~2 micrometers
## Field Solution
- **Equation solved**: [wave equation / Laplace / Poisson / eigenvalue]
- **Solution method**: [separation of variables / Fourier transform / Green's function / numerical]
- **Result**: E(r, t) = [expression], B(r, t) = [expression]
- **Dispersion relation**: omega(k) = [if wave solution]
- **Characteristic scales**: [wavelength, skin depth, decay length]
→ Explicit E, B satisfying all eqs + BCs, dispersion/eigenvalues if applicable.
If err: can't separate → try new coord or numerics (FD/FE). Back-sub fails Maxwell → algebra err in curl/div.
Step 4: Derived quantities
-
Poynting: S = (1/mu_0) E × B (W/m²)
- Plane wave: S = (1/mu_0) |E|²/v in prop dir
- Time-avg: <S> = (1/2) Re(E × H*) harmonic
- Intensity: I = |<S>|
-
Energy density:
- u = (1/2)(epsilon_0 |E|² + |B|²/mu_0) vacuum
- u = (1/2)(E·D + B·H) linear media
- Conservation: du/dt + div(S) = -J·E (Poynting's thm)
-
Radiation pressure:
- Absorber: P_rad = I/c = <S>/c
- Reflector: P_rad = 2I/c = 2<S>/c
-
Wave impedance:
- Medium: eta = sqrt(mu/epsilon) = mu*v
- Vacuum: eta_0 = sqrt(mu_0/epsilon_0) ≈ 377 Ω
- |E| = eta |H|
- Reflection normal: r = (eta_2 - eta_1)/(eta_2 + eta_1)
-
Power + Q:
- Ohmic loss/vol: p_loss = sigma |E|²/2
- Q = omega * (stored energy)/(power dissipated/cycle)
- Bandwidth: Delta_omega = omega/Q
## Derived Quantities
- **Poynting vector**: S = [expression], <S> = [time-averaged]
- **Energy density**: u = [expression]
- **Radiation pressure**: P_rad = [value]
- **Wave impedance**: eta = [value]
- **Reflection/transmission**: r = [value], t = [value]
- **Q-factor** (if resonant): Q = [value]
→ All quantities w/ correct units, energy conservation via Poynting, reasonable magnitudes.
If err: Poynting thm not balanced → E/B inconsistent. Re-verify all 4 eqs. Common: E, B from different approx not mutually consistent.
Step 5: Verify limits
-
Static (omega→0):
- E → Coulomb / Laplace-Poisson
- B → Biot-Savart / Ampere (no displacement)
- Displacement → 0
-
Plane wave: v=1/sqrt(mu epsilon), correct polarization.
-
Perfect conductor (sigma→∞):
- delta → 0
- E_tan → 0 at surface
- r → -1 (phase inversion)
-
Vacuum (epsilon_r=1, mu_r=1): v=c, eta=eta_0 ≈ 377 Ω.
-
Energy conservation: integrate Poynting thm over closed vol → total field energy rate + outflow = -power from currents. Imbalance = err.
## Limiting Case Verification
| Limit | Condition | Expected | Obtained | Match |
|-------|-----------|----------|----------|-------|
| Static | omega -> 0 | Coulomb / Biot-Savart | [result] | [Yes/No] |
| Plane wave | unbounded medium | v = c/n, eta = eta_0/n | [result] | [Yes/No] |
| Perfect conductor | sigma -> inf | delta -> 0, r -> -1 | [result] | [Yes/No] |
| Vacuum | epsilon_r = mu_r = 1 | c, eta_0 | [result] | [Yes/No] |
| Energy conservation | Poynting's theorem | balanced | [check] | [Yes/No] |
→ All limits match. Energy conserved to numerical precision.
If err: Static fail → source/BC err. Plane wave fail → wave eq derivation err. Energy conservation fail → E/B inconsistent. Trace + fix before accepting.
Check
- 4 eqs stated, subset ID'd
- Displacement current included or justified negligible
- BCs applied at every interface
- Symmetry reduces PDE dim
- Wave eq / Laplace / Poisson correctly derived
- Solutions back-sub satisfy all 4 eqs
- Poynting + energy density correct units (W/m², J/m³)
- Poynting thm verified
- Impedance + r, t reasonable
- Static limit = Coulomb + Biot-Savart
- Plane wave limit: v=1/sqrt(mu epsilon), E⊥B⊥k
- Solution reproducible
Traps
- Drop displacement: div(curl B)=0 → div(J)=0 contradicts charge conservation → mu_0 epsilon_0 dE/dt essential. Never drop w/o checking dE/dt vs J/epsilon_0.
- Inconsistent E, B: solving independently can violate Faraday + Gauss B. Always verify all 4.
- Wrong n_hat dir: n_hat × (H_1-H_2)=K_f requires 2→1. Reverse flips sign.
- D/E/B/H confusion: vacuum D=epsilon_0 E, B=mu_0 H. Media D=epsilon E, B=mu H. Maxwell uses D,H for free sources, E,B for force. Mixing → epsilon_r/mu_r errors.
- Phase vs group v: v=omega/k phase. Energy/info → v_g=d(omega)/dk. Dispersive media: differ.
- Forget radiation condition: scattering in unbounded → Sommerfeld (outgoing at ∞). Missing → non-unique + unphysical incoming.
→
analyze-magnetic-field— static B (magnetostatic limit)solve-electromagnetic-induction— Faraday + RL circuitsformulate-quantum-problem— quantize EM (QED)derive-theoretical-result— rigorous wave/Green's/dispersionanalyze-diffusion-dynamics— diffusion eq from Maxwell (skin effect)
GitHub リポジトリ
関連スキル
llamaguard
その他LlamaGuardは、暴力やヘイトスピーチなど6つの安全性カテゴリーにおいて、LLMの入力と出力をモデレートするMetaの70-80億パラメータモデルです。94〜95%の精度を提供し、vLLM、Hugging Face、Amazon SageMakerを使用してデプロイ可能です。このスキルを使用して、AIアプリケーションにコンテンツフィルタリングと安全策を簡単に統合できます。
cost-optimization
その他このClaudeスキルは、リソースの適正サイジング、タグ付け戦略、支出分析を通じて、開発者がクラウドコストを最適化することを支援します。AWS、Azure、GCPにわたるクラウド支出の削減とコストガバナンスの実施のためのフレームワークを提供します。インフラコストの分析、リソースの適正サイジング、または予算制約への対応が必要な際にご利用ください。
quantizing-models-bitsandbytes
その他このスキルは、bitsandbytesを使用してLLMを8ビットまたは4ビット精度に量子化し、精度の低下を最小限に抑えつつ50〜75%のメモリ削減を実現します。限られたGPUメモリでより大規模なモデルを実行したり、推論を高速化するのに理想的で、INT8、NF4、FP4などのフォーマットをサポートしています。HuggingFace Transformersと統合され、QLoRAトレーニングや8ビットオプティマイザーを可能にします。
dispatching-parallel-agents
その他このClaudeスキルは、複数のエージェントを配備し、3つ以上の独立した問題を並行して調査・修正します。共有状態や依存関係がなく解決可能な、無関係な障害が発生するシナリオ向けに設計されています。中核となる機能は並列問題解決であり、効率を最大化するために独立した問題領域ごとに1つのエージェントを割り当てます。
