关于
This skill designs acoustic levitation systems using ultrasonic standing waves to trap small objects at pressure nodes. It covers transducer selection, wave formation, node calculation, and phased arrays for multi-axis manipulation. Use it for designing contactless handling in chemistry, biology, or materials science applications.
快速安装
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/design-acoustic-levitation在 Claude Code 中复制并粘贴此命令以安装该技能
技能文档
Design Acoustic Levitation
Design + validate acoustic levitation. Determine radiation pressure → balance gravity, select transducer+reflector → standing wave, compute node positions + trapping strength, verify stability vs lateral/axial perturbations.
Use When
- Contactless sample holder → chem/bio
- Levitator demo → education
- Eval: can object levitate (size, density, freq)?
- Single-axis (transducer-reflector) vs phased array
- Calc node positions + trapping forces
- Extend single → multi-axis w/ phased arrays
In
- Required: Object props (mass, density, radius, compressibility if known)
- Required: Medium (air, water, inert gas) + density + speed of sound
- Optional: Transducer freq (default 40 kHz)
- Optional: Transducer power/voltage
- Optional: Manipulation cap (static vs dynamic)
Do
Step 1: Object props + acoustic contrast
Characterize → fundamental feasibility:
- Object params: m, density rho_p, radius a, bulk modulus K_p (kappa_p = 1/K_p). Rigid metal → K_p effectively inf.
- Medium params: rho_0, c_0, K_0 = rho_0 * c_0^2.
- Contrast factors (Gor'kov → node vs antinode):
- Monopole: f_1 = 1 - (K_0 / K_p) = 1 - (rho_0 * c_0^2) / (rho_p * c_p^2)
- Dipole: f_2 = 2 * (rho_p - rho_0) / (2 * rho_p + rho_0)
- Most solids in air: f_1 ~ 1, f_2 ~ 1 → trapped at pressure nodes (velocity antinodes).
- Size constraint: a << lambda = c_0 / f (Gor'kov requires a << lambda, typically a < lambda/4). Else ray acoustics or full num sim.
## Object and Medium Parameters
- **Object**: [material, mass, density, radius, bulk modulus]
- **Medium**: [gas/liquid, rho_0, c_0, K_0]
- **Contrast factors**: f_1 = [value], f_2 = [value]
- **Wavelength**: lambda = [value] at f = [frequency]
- **Size ratio**: a / lambda = [value] (must be << 1)
- **Trapping location**: [pressure node / pressure antinode]
→ Complete character. Object confirmed → pressure nodes. Size constraint OK.
If err: a / lambda > 0.25 → Gor'kov breaks. Use FEM acoustic sim or calibration. If f_1, f_2 opposite signs → intermediate position, map Gor'kov potential.
Step 2: Required radiation pressure
Field intensity → balance gravity:
- Radiation force (small sphere at node, 1D standing wave):
- F_ax = -(4 * pi / 3) * a^3 * [f_1 * (1 / (2 * rho_0 * c_0^2)) * d(p^2)/dz - (3 * f_2 * rho_0 / 4) * d(v^2)/dz]
- Plane standing wave p(z,t) = P_0 * cos(kz) * cos(omega*t) near node:
- F_ax = (pi * a^3 * P_0^2 * k) / (3 * rho_0 * c_0^2) * Phi * sin(2kz)
- Phi = f_1 + (3/2) * f_2, k = 2*pi/lambda.
- Force balance: Max force (sin(2kz) = 1, at lambda/8 from node) = gravity:
- F_ax_max = (pi * a^3 * P_0^2 * k) / (3 * rho_0 * c_0^2) * Phi = m * g = (4/3) * pi * a^3 * rho_p * g
- Solve: P_0 = sqrt(4 * rho_p * rho_0 * c_0^2 * g / (k * Phi))
- Intensity: I = P_0^2 / (2 * rho_0 * c_0). Compare transducer rating.
- SPL: L = 20 * log10(P_0 / 20e-6). Typical air levitation 150-165 dB SPL.
## Acoustic Requirements
- **Required pressure amplitude**: P_0 = [value] Pa
- **Required intensity**: I = [value] W/m^2
- **Sound pressure level**: L = [value] dB SPL
- **Safety note**: [hearing protection required if > 120 dB at audible frequencies]
→ P_0 min in Pa, W/m^2, dB SPL. Achievable w/ specified or commercial transducer.
If err: P_0 exceeds available → reduce mass/density, lighter material, denser medium (SF6). Multi transducers focused array.
Step 3: Transducer-reflector geometry
HW → stable standing wave:
- Transducer: Ultrasonic at f (28 kHz, 40 kHz, 60-80 kHz piezo). Higher f → smaller lambda, tighter trap, smaller max obj. Verify P_0 at operating distance.
- Reflector: Flat or concave opposite transducer. Acoustically hard (high impedance mismatch). Metal/glass in air. Concave → concentrates sound + increases P at axis.
- Cavity length: L = n * lambda/2 (n int). Creates n nodes spaced lambda/2.
- Node positions: z_j = (2j - 1) * lambda/4 from reflector, j = 1..n. Node nearest center = most stable.
- Resonance tuning: Fine-tune L w/ micrometer stage, monitor force or P w/ mic. Optimal → strongest standing wave.
## Geometry Design
- **Transducer**: [model, frequency, rated power or SPL]
- **Reflector**: [material, shape (flat/concave), dimensions]
- **Cavity length**: L = [n] x lambda/2 = [value] mm
- **Number of nodes**: [n]
- **Node positions from reflector**: z_1 = [value], z_2 = [value], ...
- **Selected trapping node**: z_[j] = [value]
→ Complete HW spec + node positions + selected trap node.
If err: No standing wave (L not precise n*lambda/2) → 0.1 mm increments. Temp shifts c_0 + lambda → re-tune. Beam diverges → horn/waveguide or reduce L.
Step 4: Trapping potential + restoring forces
Quantify strength + spatial extent:
- Gor'kov potential:
- U(r) = (4/3) * pi * a^3 * [(f_1 / (2 * rho_0 * c_0^2)) * <p^2> - (3 * f_2 * rho_0 / 4) * <v^2>]
- Object trapped at min of U(r) + mgz.
- Axial restoring:
- F_z ~ -k_z * delta_z, k_z = (2 * pi * a^3 * P_0^2 * k^2) / (3 * rho_0 * c_0^2) * Phi
- omega_z = sqrt(k_z / m).
- Lateral restoring (Gaussian beam waist w):
- k_r ~ k_z * (a / w)^2 (lateral weaker than axial)
- Lateral = limiting factor for stability.
- Trap depth: Max displacement before escape. Axial well: Delta_U = F_ax_max * lambda / (2 * pi). Express as × k_B*T if relevant.
## Trapping Analysis
- **Axial stiffness**: k_z = [value] N/m
- **Axial natural frequency**: omega_z / (2*pi) = [value] Hz
- **Lateral stiffness**: k_r = [value] N/m
- **Lateral natural frequency**: omega_r / (2*pi) = [value] Hz
- **Axial well depth**: Delta_U = [value] J = [value] x k_B*T
- **Stiffness ratio**: k_z / k_r = [value] (lateral is weaker)
→ Stiffness for both axes + freqs + well depth. Lateral confirmed positive.
If err: Lateral neg/negligible → drifts sideways. Wider transducer (bigger waist), add lateral transducers, phased array, concave reflector for converging wavefront.
Step 5: Stability vs perturbations
Reliable trap + hold:
- Gravity offset: delta_z = m * g / k_z. Must be << lambda/4. If ~lambda/4 → falls out.
- Air currents: F_drag = 6 * pi * eta * a * v_air (Stokes). Max tolerable: v_max = k_r / (6 * pi * eta).
- Acoustic streaming (Rayleigh, steady circulation): v_stream ~ P_0^2 / (4 * rho_0 * c_0^3 * eta) * lambda. Drag on object. Must be < lateral restoring.
- Thermal: Absorption heats medium → c_0 shifts → nodes drift. High-intensity (>160 dB SPL) → estimate temp rise + drift over time.
- Phased array ext (dynamic): Replace single pair w/ phased array. Adjusting phases → nodes move continuously, carry object. Phase resolution: delta_z ~ lambda / (2 * pi * N_phase_bits).
## Stability Verification
| Perturbation | Magnitude | Restoring Force | Margin | Stable? |
|-------------|-----------|----------------|--------|---------|
| Gravity offset | delta_z = [val] | k_z * delta_z | delta_z / (lambda/4) = [val] | [Yes/No] |
| Air currents | v_air = [val] m/s | F_lat = [val] N | F_lat / F_drag = [val] | [Yes/No] |
| Acoustic streaming | v_stream = [val] | F_lat = [val] N | F_lat / F_stream_drag = [val] | [Yes/No] |
| Thermal drift | Delta_T = [val] K | Re-tune interval | [time] | [Acceptable/No] |
→ All perturbations quantified + w/in margins. Gravity offset small frac of lambda/4. Air + streaming don't overwhelm lateral trap.
If err: Gravity offset too big → increase P_0 or higher freq. Air currents → draft shield. Streaming destabilizes → reduce amplitude, shallow concave reflector minimizes vortices.
Check
- a << lambda (Gor'kov applicable)
- Contrast factors + node/antinode identified
- P_0 calc + achievable w/ HW
- Cavity L = n * lambda/2 + nodes computed
- Axial + lateral stiffness both positive
- Gravity offset small frac of lambda/4
- Air + streaming w/in margins
- Safety for high-SPL docs
- Phased array: phase res + precision specified
Traps
- Violating small-particle: Gor'kov assumes a << lambda. Approaching lambda/4 → point-particle breaks, force diffs (mag + direction). Full-wave sim for large.
- Ignoring lateral: Most treatments focus axial, neglect lateral. Lateral instability = primary failure mode near size limit.
- Forget streaming: High-intensity → steady streaming drag vs radiation force. Not small — dominant destabilizer at high SPL.
- Temp sensitivity: c_0 in air → 0.6 m/s per °C. 10° swing → lambda shifts ~2% → nodes drift mm in typical cavity. Long runs need active comp or temp ctrl.
- Pressure vs velocity nodes: P nodes = v antinodes + vice versa. Solids w/ positive contrast → P nodes (P min, v max). Reversed → wrong position.
- Nonlinear at high amp: >155-160 dB SPL → harmonic gen, shock formation → reduces trapping vs linear theory.
→
evaluate-levitation-mechanism— compare acoustic vs magnetic, electrostatic, aerodynamicanalyze-magnetic-levitation— complement for comparederive-theoretical-result— radiation pressure from first principles
GitHub 仓库
Frequently asked questions
What is the design-acoustic-levitation skill?
design-acoustic-levitation is a Claude Skill by pjt222. Skills package instructions and resources that Claude loads on demand, so Claude can perform design-acoustic-levitation-related tasks without extra prompting.
How do I install design-acoustic-levitation?
Use the install commands on this page: add design-acoustic-levitation to Claude Code as a plugin, or clone its repository into your skills directory, then restart Claude so it picks up the skill.
What category does design-acoustic-levitation belong to?
design-acoustic-levitation is in the Design category, tagged design.
Is design-acoustic-levitation free to use?
Yes. design-acoustic-levitation is listed on AIMCP and free to install. It runs inside Claude, so no separate service account is required to use the skill itself.
相关推荐技能
该Skill用于当开发者提供完整实施计划时,以受控批次方式执行代码实现。它会先审阅计划并提出疑问,然后分批次执行任务(默认每批3个任务),并在批次间暂停等待审查。关键特性包括分批次执行、内置检查点和架构师审查机制,确保复杂系统实现的可控性。
该Skill可在完成任务、实现主要功能或合并代码前自动调度代码审查子代理,确保实现符合需求和计划。它支持通过指定git SHA范围进行精准的代码变更审查,帮助开发者在关键节点及时发现潜在问题。核心原则是"早审查、勤审查",适用于开发流程的各个关键阶段。
这个Skill指导开发者如何将MCP服务器连接到Claude Code,支持HTTP、stdio和SSE三种传输协议。它涵盖了从安装配置到认证安全的完整流程,适用于集成GitHub、Notion、数据库等外部服务。当开发者需要添加集成、配置外部工具或提及MCP相关功能时,这个Skill能提供实用的操作指南。
该Skill帮助开发者根据任务特性选择Claude Code的Web或CLI界面,并指导如何在两种环境间无缝迁移会话。它能分析任务复杂度、迭代需求等要素,推荐最优工作界面和工作流。关键特性包括会话状态管理、环境切换指导和上下文优化建议。
