orcaflex-static-debug-1-line-catenary-diverged
Sub-skill of orcaflex-static-debug: 1. Line Catenary Diverged (+4).
Best use case
orcaflex-static-debug-1-line-catenary-diverged is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Sub-skill of orcaflex-static-debug: 1. Line Catenary Diverged (+4).
Teams using orcaflex-static-debug-1-line-catenary-diverged 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-line-catenary-diverged/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How orcaflex-static-debug-1-line-catenary-diverged Compares
| Feature / Agent | orcaflex-static-debug-1-line-catenary-diverged | 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 orcaflex-static-debug: 1. Line Catenary Diverged (+4).
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. Line Catenary Diverged (+4)
## 1. Line Catenary Diverged
**Symptoms:**
- Error mentions "catenary" or "line diverged"
- Specific line name in error message
**Causes:**
- Line too short for connection points
- Incorrect end positions
- Incompatible line type properties
**Solutions:**
```python
# Check line geometry
line = model["Failing_Line"]
# Get end positions
end_a_x, end_a_y, end_a_z = line.EndAX, line.EndAY, line.EndAZ
end_b_x, end_b_y, end_b_z = line.EndBX, line.EndBY, line.EndBZ
# Calculate required length (straight line minimum)
import math
min_length = math.sqrt(
(end_b_x - end_a_x)**2 +
(end_b_y - end_a_y)**2 +
(end_b_z - end_a_z)**2
)
total_length = sum(line.Length)
print(f"Minimum length required: {min_length:.1f}m")
print(f"Total line length: {total_length:.1f}m")
if total_length < min_length * 1.1:
print("Line is too short! Increase length by at least 10%")
```
## 2. Vessel Not in Equilibrium
**Symptoms:**
- "Vessel not in equilibrium"
- Large forces/moments on vessel
**Causes:**
- Mooring forces don't balance
- Incorrect initial position
- Missing or misconfigured lines
**Solutions:**
```yaml
# Option 1: Let OrcaFlex find equilibrium position
vessel:
IncludedInStatics: "Included"
CalculatedPosition: "Yes" # Let OrcaFlex calculate position
# Option 2: Fix vessel position
vessel:
IncludedInStatics: "Included"
InitialX: 0.0
InitialY: 0.0
InitialZ: 0.0 # At draft
```
## 3. Anchor Not at Seabed
**Symptoms:**
- "End not at seabed"
- Anchor position mismatch
**Solutions:**
```python
# Ensure anchor is at seabed
water_depth = model.environment.WaterDepth
for line in lines:
if line.EndAConnection == "Anchored":
# Set anchor at seabed
line.EndAZ = -water_depth
if line.EndBConnection == "Anchored":
line.EndBZ = -water_depth
```
## 4. Buoy/Structure Instability
**Symptoms:**
- 6D Buoy convergence failure
- Unrealistic rotations
**Solutions:**
```yaml
# Add constraints during statics
6DBuoy:
Name: "CALM_Buoy"
# Fix orientation during statics
Constraint1: "Fixed" # Fix X rotation
Constraint2: "Fixed" # Fix Y rotation
Constraint3: "Free" # Allow Z rotation (yaw)
```
## 5. Zero-Tension Lines
**Symptoms:**
- Singular stiffness matrix
- Lines with zero or negative tension
**Solutions:**
```python
# Check initial tensions
for line in lines:
try:
# Estimate initial tension from catenary
weight_in_water = line.MassPerUnitLength * 9.81 * (1 - 1025/7850)
length = sum(line.Length)
# Very rough tension estimate
estimated_tension = weight_in_water * length / 2
if estimated_tension < 100: # Very low tension
print(f"Warning: {line.name} may have low tension")
print("Consider:")
print(" - Increasing line length")
print(" - Adjusting end positions")
print(" - Adding buoyancy")
except:
pass
```Related Skills
OrcaFlex Specialist Skill
```yaml
teams-meeting-pipeline
Operate the Teams meeting summary pipeline via Hermes CLI — summarize meetings, inspect pipeline status, replay jobs, manage Microsoft Graph subscriptions.
solidworks-to-blender-pipeline
Use when converting SolidWorks .sldprt/.sldasm geometry to Blender for rendering, animation, or visualization, including questions about STEP export settings, FreeCAD as a bridge, or which mesh format (STL/OBJ/GLTF) to choose.
orcaflex-reporting-fixture-proof-pattern
Build and extend fixture-backed OrcaFlex reporting proof paths in digitalmodel using stable metadata baselines, normalized HTML snapshots, and reusable reporting test helpers.
digitalmodel-orcawave-orcaflex-proof-workflows
Class-level digitalmodel OrcaWave/OrcaFlex readiness, semantic-proof, fixture-proof, and closeout workflows.
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.
toml-section-scoping-debug
Identify and fix TOML configuration errors caused by misplaced keys inside section headers
toml-section-scoping-config-debug
Diagnose TOML config errors caused by misplaced keys in table sections
test-driven-hook-debugging
Debugging and fixing shell hooks by writing isolated test suites first, then using test failures to pinpoint logic bugs
tax-software-duplicate-adjustment-debugging
Identify and fix duplicate tax adjustments entered through multiple mechanisms in tax software
python-import-path-mismatch-debugging
Diagnose and fix ModuleNotFoundError when a package is installed but imports still fail due to environment/path mismatches
python-import-path-debugging
Diagnose ModuleNotFoundError when a package is installed but still fails to import