ship-dynamics-6dof-5-time-domain-simulation
Sub-skill of ship-dynamics-6dof: 5. Time-Domain Simulation.
Best use case
ship-dynamics-6dof-5-time-domain-simulation is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of ship-dynamics-6dof: 5. Time-Domain Simulation.
Teams using ship-dynamics-6dof-5-time-domain-simulation 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/5-time-domain-simulation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ship-dynamics-6dof-5-time-domain-simulation Compares
| Feature / Agent | ship-dynamics-6dof-5-time-domain-simulation | 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 ship-dynamics-6dof: 5. Time-Domain Simulation.
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
# 5. Time-Domain Simulation
## 5. Time-Domain Simulation
**Newmark-Beta Integration:**
```python
def newmark_beta_integration(
M: np.ndarray,
C: np.ndarray,
K: np.ndarray,
F_t: np.ndarray,
x0: np.ndarray,
v0: np.ndarray,
t: np.ndarray,
beta: float = 0.25,
gamma: float = 0.5
) -> dict:
"""
Newmark-Beta time integration for 6DOF dynamics.
Args:
M: Mass matrix (6x6)
C: Damping matrix (6x6)
K: Stiffness matrix (6x6)
F_t: Force time series (n_steps x 6)
x0: Initial displacement (6,)
v0: Initial velocity (6,)
t: Time array
beta: Newmark beta parameter (0.25 = const accel)
gamma: Newmark gamma parameter (0.5)
Returns:
Dictionary with motion time series
"""
n_steps = len(t)
dt = t[1] - t[0]
# Initialize
x = np.zeros((n_steps, 6))
v = np.zeros((n_steps, 6))
a = np.zeros((n_steps, 6))
x[0] = x0
v[0] = v0
# Initial acceleration
a[0] = np.linalg.solve(M, F_t[0] - C @ v[0] - K @ x[0])
# Effective stiffness
K_eff = K + gamma/(beta*dt) * C + 1/(beta*dt**2) * M
# Time stepping
for i in range(n_steps - 1):
# Effective force
F_eff = (
F_t[i+1] +
M @ (x[i]/(beta*dt**2) + v[i]/(beta*dt) + (0.5/beta - 1)*a[i]) +
C @ (gamma/(beta*dt)*x[i] + (gamma/beta - 1)*v[i] + dt*(gamma/(2*beta) - 1)*a[i])
)
# Solve for displacement
x[i+1] = np.linalg.solve(K_eff, F_eff)
# Update velocity and acceleration
a[i+1] = (x[i+1] - x[i])/(beta*dt**2) - v[i]/(beta*dt) - (0.5/beta - 1)*a[i]
v[i+1] = v[i] + dt*((1-gamma)*a[i] + gamma*a[i+1])
return {
'time': t,
'displacement': x,
'velocity': v,
'acceleration': a
}
# Example: Simulate heave response to wave force
t = np.linspace(0, 100, 10000)
dt = t[1] - t[0]
# Simplified system (heave only)
M_simple = np.diag([0, 0, 200e6, 0, 0, 0]) # Heave mass
C_simple = np.diag([0, 0, 100e6, 0, 0, 0]) # Heave damping
K_simple = np.diag([0, 0, 150e6, 0, 0, 0]) # Heave stiffness
# Wave force (10s period, 1 MN amplitude)
F = np.zeros((len(t), 6))
F[:, 2] = 1e6 * np.sin(2*np.pi*t / 10)
# Simulate
result = newmark_beta_integration(
M_simple, C_simple, K_simple, F,
x0=np.zeros(6), v0=np.zeros(6), t=t
)
print(f"Max heave: {np.max(np.abs(result['displacement'][:, 2])):.2f} m")
```Related Skills
domain-knowledge-sweep
Systematic multi-source research of an engineering domain. Spawns parent issue → 6 research subissues (Standards, Academic, Industry, LinkedIn-marketing, Code-audit, Synthesis) → gap implementation subissues. Replaces LinkedIn-only extraction with defensible comprehensive sourcing.
handle-freetaxusa-session-timeouts
Recover from FreeTaxUSA session timeout dialogs blocking form submission and navigation
booking-timeline
Use when constructing the Booking & reservation timeline section of a trip plan. Encodes the 4-month / 2-month / 6-week / 1-week reservation cascade and refund-window rules. Invoked by trip-planner.
engineering-solver-domain-recon
Deep reconnaissance of an engineering solver domain (OrcaWave, OrcaFlex, CalculiX, OpenFOAM, etc.) across a multi-repo ecosystem — map infrastructure, issues, skills, data artifacts, machine constraints, and solver queue state before planning work.
domain-gap-to-issue-roadmap
Deep multi-repo ecosystem audit → domain gap matrix → structured GitHub issue roadmap with epics. Use when the user wants to assess capabilities across repos and create a backlog of work items covering code, data, and documentation gaps.
maritime-legal
AI-assisted maritime legal and casualty consulting — engineering-technical interface with admiralty proceedings
hydrodynamics
Manage hydrodynamic coefficients, wave spectra, and environmental loading for vessel response analysis. Use for 6×6 matrix management, wave spectrum modeling, OCIMF loading calculations, and RAO interpolation.
engineering-domain-reconnaissance
Class-level external engineering domain reconnaissance: field development, external drive ingest planning, and source-to-artifact conversion.
mkdocs-entity-relationship
Sub-skill of mkdocs: Entity Relationship.
hydrodynamic-pipeline-gmsh-panel-mesh-for-hydrodynamics
Sub-skill of hydrodynamic-pipeline: Gmsh Panel Mesh for Hydrodynamics (+3).
wave-theory-4-time-series-generation
Sub-skill of wave-theory: 4. Time Series Generation (+1).
ship-dynamics-6dof-example-2-natural-frequency-sensitivity-study
Sub-skill of ship-dynamics-6dof: Example 2: Natural Frequency Sensitivity Study.