wave-theory-1-regular-wave-theory
Sub-skill of wave-theory: 1. Regular Wave Theory.
Best use case
wave-theory-1-regular-wave-theory is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of wave-theory: 1. Regular Wave Theory.
Teams using wave-theory-1-regular-wave-theory should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/1-regular-wave-theory/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How wave-theory-1-regular-wave-theory Compares
| Feature / Agent | wave-theory-1-regular-wave-theory | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Sub-skill of wave-theory: 1. Regular Wave Theory.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 1. Regular Wave Theory
## 1. Regular Wave Theory
**Linear (Airy) Wave Theory:**
```python
import numpy as np
def airy_wave_properties(
H: float,
T: float,
d: float,
g: float = 9.81
) -> dict:
"""
Calculate Airy wave properties.
Valid for: H/L < 0.14, d/L > 0.5 (deep water) or d/L < 0.05 (shallow)
Args:
H: Wave height (m)
T: Wave period (s)
d: Water depth (m)
g: Gravity (m/s²)
Returns:
Wave properties dictionary
"""
# Wave frequency
omega = 2 * np.pi / T
# Dispersion relation: ω² = gk·tanh(kd)
# Solve iteratively for wave number k
from scipy.optimize import fsolve
def dispersion(k):
return omega**2 - g * k * np.tanh(k * d)
k0 = omega**2 / g # Deep water approximation
k = fsolve(dispersion, k0)[0]
# Wave length
L = 2 * np.pi / k
# Wave celerity (phase speed)
C = omega / k
# Group velocity
n = 0.5 * (1 + 2*k*d / np.sinh(2*k*d)) # Shoaling coefficient
Cg = n * C
# Deep water classification
if d / L > 0.5:
regime = "Deep water"
elif d / L < 0.05:
regime = "Shallow water"
else:
regime = "Intermediate"
return {
'height_m': H,
'period_s': T,
'depth_m': d,
'wavelength_m': L,
'wave_number': k,
'frequency_rad_s': omega,
'frequency_hz': omega / (2*np.pi),
'celerity_m_s': C,
'group_velocity_m_s': Cg,
'regime': regime,
'd_over_L': d / L,
'H_over_L': H / L,
'steepness': H / L
}
# Example
wave = airy_wave_properties(H=8, T=12, d=1500)
print(f"Wave Properties (H={wave['height_m']}m, T={wave['period_s']}s):")
print(f" Wavelength: {wave['wavelength_m']:.1f} m")
print(f" Regime: {wave['regime']} (d/L = {wave['d_over_L']:.3f})")
print(f" Celerity: {wave['celerity_m_s']:.2f} m/s")
print(f" Steepness: {wave['steepness']:.4f}")
```
**Wave Kinematics:**
```python
def wave_particle_kinematics(
z: float,
H: float,
T: float,
d: float,
t: float = 0,
x: float = 0,
g: float = 9.81
) -> dict:
"""
Calculate wave particle velocities and accelerations.
Args:
z: Vertical position (0 at SWL, negative below)
H: Wave height (m)
T: Wave period (s)
d: Water depth (m)
t: Time (s)
x: Horizontal position (m)
g: Gravity (m/s²)
Returns:
Particle kinematics
"""
# Wave properties
wave = airy_wave_properties(H, T, d, g)
k = wave['wave_number']
omega = wave['frequency_rad_s']
# Amplitude
a = H / 2
# Hyperbolic functions
cosh_kz_d = np.cosh(k * (z + d))
sinh_kz_d = np.sinh(k * (z + d))
cosh_kd = np.cosh(k * d)
sinh_kd = np.sinh(k * d)
# Wave phase
phase = k * x - omega * t
# Horizontal velocity
u = (omega * a * cosh_kz_d / sinh_kd) * np.cos(phase)
# Vertical velocity
w = (omega * a * sinh_kz_d / sinh_kd) * np.sin(phase)
# Horizontal acceleration
ax = -(omega**2 * a * cosh_kz_d / sinh_kd) * np.sin(phase)
# Vertical acceleration
az = (omega**2 * a * sinh_kz_d / sinh_kd) * np.cos(phase)
# Dynamic pressure
p_dynamic = g * a * (cosh_kz_d / cosh_kd) * np.cos(phase)
return {
'horizontal_velocity': u,
'vertical_velocity': w,
'horizontal_acceleration': ax,
'vertical_acceleration': az,
'dynamic_pressure': p_dynamic,
'total_velocity': np.sqrt(u**2 + w**2),
'total_acceleration': np.sqrt(ax**2 + az**2)
}
# Example: Surface velocity (z=0)
kinematics = wave_particle_kinematics(z=0, H=8, T=12, d=1500, t=0, x=0)
print(f"Surface Particle Kinematics:")
print(f" Horizontal velocity: {kinematics['horizontal_velocity']:.2f} m/s")
print(f" Vertical velocity: {kinematics['vertical_velocity']:.2f} m/s")
print(f" Total velocity: {kinematics['total_velocity']:.2f} m/s")
```Related Skills
digitalmodel-orcawave-orcaflex-proof-workflows
Class-level digitalmodel OrcaWave/OrcaFlex readiness, semantic-proof, fixture-proof, and closeout workflows.
plan-gated-issue-execution-wave
Execute a multi-issue architecture/planning wave in a plan-gated repo, then safely transition approved issues into implementation with file-based Codex prompts, local approval markers, subprocess monitoring, and cleanup handling for sandbox/hook edge cases.
orcawave-orcaflex-readiness-audit
Audit the real readiness of digitalmodel OrcaWave/OrcaFlex spec-driven workflows by reconciling workspace-hub issues, source/tests, semantic-equivalence boundaries, and wiki synthesis gaps.
wave-based-parallel-plan-execution
Orchestrate phase execution by discovering dependencies, grouping into waves, spawning subagents, and collecting results with optional wave filtering
digitalmodel-orcawave-orcaflex-workflow
Current-state workflow for navigating and extending digitalmodel OrcaWave/OrcaFlex capabilities across code, tests, issues, queue tooling, and licensed-machine boundaries.
ten-agent-pre-plan-review-wave
Launch and verify a 10-agent planning-only wave that moves open GitHub issues into status:plan-review using one isolated worktree per issue, wave-specific continuation cron, and post-run artifact-reconciliation checks.
preserved-plan-refile-with-attested-review-wave
Reopen a previously closed GitHub issue with a preserved local plan, rewrite it into a conservative draft, and drive iterative attested adversarial review waves until it is truly approval-ready.
overnight-wave-pack-worktree-isolation
Safely launch overnight multi-terminal workspace-hub planning packs from isolated worktrees when the main checkout is dirty or prompts share planning/index files.
overnight-pre-plan-review-wave-artifact-drift
Run overnight planning-only waves for issues before status:plan-review, and reconcile cases where GitHub state advances but plan/review artifacts land in a sandbox or remote branch instead of the active local worktree.
overnight-plan-wave-artifact-drift-reconciliation
Reconcile overnight planning waves when Codex workers move GitHub issues to status:plan-review but local artifacts are missing, split across sandbox worktrees, or only present on a pushed remote branch.
orcawave-orcaflex-semantic-proof-wave-closeout
Close out an OrcaWave/OrcaFlex semantic-proof wave after a PR merges, split unrelated CI blockers, and seed the next semantic-proof issue wave without duplicating existing issues.
large-parallel-planning-wave-environment-failure-handoff
Handle large pre-plan-review planning waves that succeed analytically but fail to persist artifacts due to quota exhaustion, sandbox write failures, or cancelled GitHub mutations.