[!WARNING]
Part of the Python API documented below does not exist in
digitalmodel. These snippets are a specification of intended
capability, not runnable code. Do not import them, and do not report
a result obtained by pretending they ran.
Absent as of this revision:
digitalmodel.infrastructure.common.standards_lookup.StandardsLookup
digitalmodel.structural.structural_analysis.capacity.CapacityChecker
The surrounding engineering content — method, conventions, what to
watch for — is unaffected and remains usable. Tracked in
aceengineer-strategy#267.
Orcaflex Code Check
Version Metadata
version: 1.0.0
python_min_version: '3.10'
dependencies:
orcaflex-modeling: '>=2.0.0,<3.0.0'
structural-analysis: '>=1.0.0,<2.0.0'
orcaflex_version: '>=11.0'
compatibility:
tested_python:
- '3.10'
- '3.11'
- '3.12'
- '3.13'
os:
- Windows
- Linux
- macOS
Changelog
[1.0.0] - 2026-01-17
Added:
- Initial release with standards compliance checking
- Mooring line capacity verification
- Safety factor calculation
- Multi-standard support (DNV, API, ISO)
When to Use
- Verify mooring line tensions against MBL limits
- Check riser stress against allowable
- Validate safety factors per design codes
- Generate compliance reports for certification
- Design verification before fabrication
- Audit existing designs against current standards
Supported Standards
Mooring Systems
| Standard |
Application |
Key Checks |
| API RP 2SK |
Stationkeeping |
Safety factors, line capacity |
| DNV-OS-E301 |
Position mooring |
Tension limits, fatigue |
| ISO 19901-7 |
Mooring systems |
Capacity, redundancy |
Risers
| Standard |
Application |
Key Checks |
| API RP 2RD |
Riser design |
Stress, fatigue |
| DNV-OS-F201 |
Dynamic risers |
Stress, VIV |
| API STD 2RD |
Design of risers |
Combined loading |
Pipelines
| Standard |
Application |
Key Checks |
| DNV-OS-F101 |
Submarine pipelines |
Wall thickness, buckling |
| API RP 1111 |
Pipeline design |
Pressure containment |
Python API
Mooring Safety Factor Check
from digitalmodel.structural.structural_analysis.capacity import CapacityChecker
def check_mooring_safety_factors(
max_tensions: dict,
mbl_values: dict,
standard: str = "API_RP_2SK"
) -> dict:
"""
Check mooring line tensions against MBL limits.
*See sub-skills for full details.*
### Riser Stress Check
```python
from digitalmodel.structural.structural_analysis.capacity import CapacityChecker
import math
def check_riser_stress(
max_tension: float,
max_bend_moment: float,
internal_pressure: float,
external_pressure: float,
od: float,
*See sub-skills for full details.*
### Standards Lookup
```python
from digitalmodel.infrastructure.common.standards_lookup import StandardsLookup
# Initialize lookup
lookup = StandardsLookup()
# Search for relevant standards
results = lookup.search("mooring design")
for standard in results:
*See sub-skills for full details.*
### Generate Compliance Report
```python
def generate_compliance_report(
check_results: dict,
output_path: str,
project_info: dict
) -> str:
"""Generate HTML compliance report."""
html_content = f"""
<!DOCTYPE html>
*See sub-skills for full details.*
## Safety Factors Reference
### API RP 2SK (2015)
| Condition | Analysis | Safety Factor |
|-----------|----------|---------------|
| Intact | Quasi-static | 1.67 |
| Intact | Dynamic | 1.82 |
| Damaged | Quasi-static | 1.25 |
| Damaged | Dynamic | 1.43 |
### DNV-OS-E301
| Condition | Consequence Class 1 | Consequence Class 2 |
|-----------|---------------------|---------------------|
| ULS Intact | 2.20 | 2.50 |
| ULS Damaged | 1.50 | 1.65 |
| ALS | 1.00 | 1.10 |
### ISO 19901-7
| Condition | Category 1 | Category 2 |
|-----------|------------|------------|
| Intact | 1.67 | 2.00 |
| Damaged | 1.25 | 1.50 |
## Related Skills
- [orcaflex-post-processing](../orcaflex-post-processing/SKILL.md) - Extract results
- [orcaflex-extreme-analysis](../orcaflex-extreme-analysis/SKILL.md) - Find design loads
- [structural-analysis](../structural-analysis/SKILL.md) - Structural capacity checks
- [fatigue-analysis](../fatigue-analysis/SKILL.md) - Fatigue code checks
## References
- API RP 2SK: Design and Analysis of Stationkeeping Systems
- DNV-OS-E301: Position Mooring
- DNV-OS-F201: Dynamic Risers
- ISO 19901-7: Stationkeeping Systems for Floating Offshore Structures
- Source: `src/digitalmodel/infrastructure/common/standards_lookup.py`
- Source: `src/digitalmodel/structural/structural_analysis/capacity.py`
## Sub-Skills
- [Mooring Code Check (+1)](mooring-code-check/SKILL.md)
- [Before Code Check (+2)](before-code-check/SKILL.md)
## Sub-Skills
- [Error Handling](error-handling/SKILL.md)
1---2name: orcaflex-code-check-23description: Verify OrcaFlex model results against industry standards (DNV, API, ISO). Perform capacity checks, safety factor verification, and compliance reporting for offshore structures.4---56<!-- ace:api-missing-warning -->7> [!WARNING]8> **Part of the Python API documented below does not exist in9> `digitalmodel`.** These snippets are a *specification* of intended10> capability, not runnable code. Do not import them, and do not report11> a result obtained by pretending they ran.12>13> Absent as of this revision:14> - `digitalmodel.infrastructure.common.standards_lookup.StandardsLookup`15> - `digitalmodel.structural.structural_analysis.capacity.CapacityChecker`16>17> The surrounding engineering content — method, conventions, what to18> watch for — is unaffected and remains usable. Tracked in19> aceengineer-strategy#267.2021<!-- ace:known-missing: digitalmodel.infrastructure.common.standards_lookup.StandardsLookup, digitalmodel.structural.structural_analysis.capacity.CapacityChecker -->2223# Orcaflex Code Check2425## Version Metadata2627```yaml28version: 1.0.029python_min_version: '3.10'30dependencies:31 orcaflex-modeling: '>=2.0.0,<3.0.0'32 structural-analysis: '>=1.0.0,<2.0.0'33orcaflex_version: '>=11.0'34compatibility:35 tested_python:36 - '3.10'37 - '3.11'38 - '3.12'39 - '3.13'40 os:41 - Windows42 - Linux43 - macOS44```4546## Changelog4748### [1.0.0] - 2026-01-174950**Added:**51- Initial release with standards compliance checking52- Mooring line capacity verification53- Safety factor calculation54- Multi-standard support (DNV, API, ISO)5556## When to Use5758- Verify mooring line tensions against MBL limits59- Check riser stress against allowable60- Validate safety factors per design codes61- Generate compliance reports for certification62- Design verification before fabrication63- Audit existing designs against current standards6465## Supported Standards6667### Mooring Systems6869| Standard | Application | Key Checks |70|----------|-------------|------------|71| **API RP 2SK** | Stationkeeping | Safety factors, line capacity |72| **DNV-OS-E301** | Position mooring | Tension limits, fatigue |73| **ISO 19901-7** | Mooring systems | Capacity, redundancy |74### Risers7576| Standard | Application | Key Checks |77|----------|-------------|------------|78| **API RP 2RD** | Riser design | Stress, fatigue |79| **DNV-OS-F201** | Dynamic risers | Stress, VIV |80| **API STD 2RD** | Design of risers | Combined loading |81### Pipelines8283| Standard | Application | Key Checks |84|----------|-------------|------------|85| **DNV-OS-F101** | Submarine pipelines | Wall thickness, buckling |86| **API RP 1111** | Pipeline design | Pressure containment |8788## Python API8990### Mooring Safety Factor Check9192```python93from digitalmodel.structural.structural_analysis.capacity import CapacityChecker9495def check_mooring_safety_factors(96 max_tensions: dict,97 mbl_values: dict,98 standard: str = "API_RP_2SK"99) -> dict:100 """101 Check mooring line tensions against MBL limits.102103*See sub-skills for full details.*104### Riser Stress Check105106```python107from digitalmodel.structural.structural_analysis.capacity import CapacityChecker108import math109110def check_riser_stress(111 max_tension: float,112 max_bend_moment: float,113 internal_pressure: float,114 external_pressure: float,115 od: float,116117*See sub-skills for full details.*118### Standards Lookup119120```python121from digitalmodel.infrastructure.common.standards_lookup import StandardsLookup122123# Initialize lookup124lookup = StandardsLookup()125126# Search for relevant standards127results = lookup.search("mooring design")128129for standard in results:130131*See sub-skills for full details.*132### Generate Compliance Report133134```python135def generate_compliance_report(136 check_results: dict,137 output_path: str,138 project_info: dict139) -> str:140 """Generate HTML compliance report."""141142 html_content = f"""143 <!DOCTYPE html>144145*See sub-skills for full details.*146147## Safety Factors Reference148149### API RP 2SK (2015)150151| Condition | Analysis | Safety Factor |152|-----------|----------|---------------|153| Intact | Quasi-static | 1.67 |154| Intact | Dynamic | 1.82 |155| Damaged | Quasi-static | 1.25 |156| Damaged | Dynamic | 1.43 |157### DNV-OS-E301158159| Condition | Consequence Class 1 | Consequence Class 2 |160|-----------|---------------------|---------------------|161| ULS Intact | 2.20 | 2.50 |162| ULS Damaged | 1.50 | 1.65 |163| ALS | 1.00 | 1.10 |164### ISO 19901-7165166| Condition | Category 1 | Category 2 |167|-----------|------------|------------|168| Intact | 1.67 | 2.00 |169| Damaged | 1.25 | 1.50 |170171## Related Skills172173- [orcaflex-post-processing](../orcaflex-post-processing/SKILL.md) - Extract results174- [orcaflex-extreme-analysis](../orcaflex-extreme-analysis/SKILL.md) - Find design loads175- [structural-analysis](../structural-analysis/SKILL.md) - Structural capacity checks176- [fatigue-analysis](../fatigue-analysis/SKILL.md) - Fatigue code checks177178## References179180- API RP 2SK: Design and Analysis of Stationkeeping Systems181- DNV-OS-E301: Position Mooring182- DNV-OS-F201: Dynamic Risers183- ISO 19901-7: Stationkeeping Systems for Floating Offshore Structures184- Source: `src/digitalmodel/infrastructure/common/standards_lookup.py`185- Source: `src/digitalmodel/structural/structural_analysis/capacity.py`186187## Sub-Skills188189- [Mooring Code Check (+1)](mooring-code-check/SKILL.md)190- [Before Code Check (+2)](before-code-check/SKILL.md)191192## Sub-Skills193194- [Error Handling](error-handling/SKILL.md)