[!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.orcawave.qtf
digitalmodel.orcawave.qtf.FullQTFComputation
digitalmodel.orcawave.qtf.MeanDriftAnalyzer
digitalmodel.orcawave.qtf.NewmanApproximation
digitalmodel.orcawave.qtf.OrcaWaveQTF
digitalmodel.orcawave.qtf.SlowDriftResponse
The surrounding engineering content — method, conventions, what to
watch for — is unaffected and remains usable.
The intended API is now specified in digitalmodel, at
docs/domains/orcawave/intended-api/qtf-analysis.md, where it is a build
target rather than something an agent may mistake for working code.
Tracked in aceengineer-strategy#267, digitalmodel#2045.
Orcawave Qtf Analysis
When to Use
- Computing mean drift forces for mooring analysis
- Generating full QTF matrices for slow-drift response
- Difference-frequency force calculation
- Sum-frequency force calculation (springing)
- Newman approximation vs full QTF comparison
- Deep water vs shallow water second-order effects
- Moored vessel slow-drift motion prediction
Python API
Basic QTF Computation
from digitalmodel.orcawave.qtf import OrcaWaveQTF
# Initialize QTF analysis
qtf = OrcaWaveQTF()
# Load OrcaWave model with first-order results
qtf.load_model("models/fpso.owr")
# Configure QTF computation
*See sub-skills for full details.*
### Full QTF Matrix Generation
```python
from digitalmodel.orcawave.qtf import FullQTFComputation
# Initialize full QTF computation
full_qtf = FullQTFComputation()
# Configure frequency pairs
full_qtf.configure(
frequencies=np.linspace(0.02, 0.5, 25), # rad/s
heading_pairs=[
*See sub-skills for full details.*
### Newman Approximation
```python
from digitalmodel.orcawave.qtf import NewmanApproximation
# Initialize Newman approximation
newman = NewmanApproximation()
# Load first-order results
newman.load_first_order_results("results/fpso_raos.csv")
# Compute approximate QTF
*See sub-skills for full details.*
### Mean Drift Analysis
```python
from digitalmodel.orcawave.qtf import MeanDriftAnalyzer
# Initialize analyzer
drift = MeanDriftAnalyzer()
# Load OrcaWave results
drift.load_results("models/fpso.owr")
# Extract mean drift by method
*See sub-skills for full details.*
### Slow Drift Response
```python
from digitalmodel.orcawave.qtf import SlowDriftResponse
# Initialize slow drift analysis
slow_drift = SlowDriftResponse()
# Load QTF data
slow_drift.load_qtf("results/fpso_qtf.yml")
# Configure sea state
*See sub-skills for full details.*
## Related Skills
- [orcawave-analysis](../orcawave-analysis/SKILL.md) - First-order diffraction analysis
- [mooring-design](../mooring-design/SKILL.md) - Mooring system design
- [hydrodynamics](../hydrodynamics/SKILL.md) - Wave loading management
- [orcaflex/modeling](../orcaflex/modeling/SKILL.md) - Time-domain simulation
## References
- Pinkster, J.A.: Low Frequency Second Order Wave Exciting Forces
- Newman, J.N.: Second-Order Wave Forces on a Vertical Cylinder
- Standing, R.G.: Low Frequency Wave Drift Forces
- OrcaWave QTF Documentation
---
**Version History**
- **1.0.0** (2026-01-17): Initial release with full QTF, Newman approximation, and slow drift analysis
## Sub-Skills
- [When to Use Full QTF vs Newman (+2)](when-to-use-full-qtf-vs-newman/SKILL.md)
## Sub-Skills
- [Error Handling](error-handling/SKILL.md)
## Sub-Skills
- [Version Metadata](version-metadata/SKILL.md)
- [Force Components (+1)](force-components/SKILL.md)
- [QTF Analysis Configuration (+1)](qtf-analysis-configuration/SKILL.md)
- [Available Data (+1)](available-data/SKILL.md)
- [CLI Usage](cli-usage/SKILL.md)
## Documentation Reference
OrcaWave topics (`data/llm-wiki/orcawave/`):
- `Data,QTFs.md` -- QTF computation configuration
- `Theory,Second-orderequations.md` -- second-order BVP theory
- `Results,Quadraticloads.md` -- QTF output (mean drift, full QTF matrices)
- `Results,Potentialloads.md` -- potential-based load results
- `Data,Environment.md` -- water depth affecting second-order effects
OrcaFlex topics (`data/llm-wiki/orcaflex/`):
- `Vesseltypes,WavedriftandsumfrequencyQTFs.md` -- QTF data in vessel types
- `Vesseltheory,Wavedriftandsumfrequencyloads.md` -- drift/sum-frequency theory
- `Modellingvesselslowdrift.md` -- slow drift modelling in OrcaFlex
1---2name: orcawave-qtf-analysis-23description: Second-order wave force QTF computation in OrcaWave. Use when computing mean drift forces, difference-frequency or sum-frequency QTFs, slow-drift response, or applying Newman approximation 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.orcawave.qtf`15> - `digitalmodel.orcawave.qtf.FullQTFComputation`16> - `digitalmodel.orcawave.qtf.MeanDriftAnalyzer`17> - `digitalmodel.orcawave.qtf.NewmanApproximation`18> - `digitalmodel.orcawave.qtf.OrcaWaveQTF`19> - `digitalmodel.orcawave.qtf.SlowDriftResponse`20>21> The surrounding engineering content — method, conventions, what to22> watch for — is unaffected and remains usable.23>24> **The intended API is now specified in `digitalmodel`**, at25> `docs/domains/orcawave/intended-api/qtf-analysis.md`, where it is a build26> target rather than something an agent may mistake for working code.27> Tracked in aceengineer-strategy#267, digitalmodel#2045.2829<!-- ace:known-missing: digitalmodel.orcawave.qtf, digitalmodel.orcawave.qtf.FullQTFComputation, digitalmodel.orcawave.qtf.MeanDriftAnalyzer, digitalmodel.orcawave.qtf.NewmanApproximation, digitalmodel.orcawave.qtf.OrcaWaveQTF, digitalmodel.orcawave.qtf.SlowDriftResponse -->3031# Orcawave Qtf Analysis3233## When to Use3435- Computing mean drift forces for mooring analysis36- Generating full QTF matrices for slow-drift response37- Difference-frequency force calculation38- Sum-frequency force calculation (springing)39- Newman approximation vs full QTF comparison40- Deep water vs shallow water second-order effects41- Moored vessel slow-drift motion prediction4243## Python API4445### Basic QTF Computation4647```python48from digitalmodel.orcawave.qtf import OrcaWaveQTF4950# Initialize QTF analysis51qtf = OrcaWaveQTF()5253# Load OrcaWave model with first-order results54qtf.load_model("models/fpso.owr")5556# Configure QTF computation5758*See sub-skills for full details.*59### Full QTF Matrix Generation6061```python62from digitalmodel.orcawave.qtf import FullQTFComputation6364# Initialize full QTF computation65full_qtf = FullQTFComputation()6667# Configure frequency pairs68full_qtf.configure(69 frequencies=np.linspace(0.02, 0.5, 25), # rad/s70 heading_pairs=[7172*See sub-skills for full details.*73### Newman Approximation7475```python76from digitalmodel.orcawave.qtf import NewmanApproximation7778# Initialize Newman approximation79newman = NewmanApproximation()8081# Load first-order results82newman.load_first_order_results("results/fpso_raos.csv")8384# Compute approximate QTF8586*See sub-skills for full details.*87### Mean Drift Analysis8889```python90from digitalmodel.orcawave.qtf import MeanDriftAnalyzer9192# Initialize analyzer93drift = MeanDriftAnalyzer()9495# Load OrcaWave results96drift.load_results("models/fpso.owr")9798# Extract mean drift by method99100*See sub-skills for full details.*101### Slow Drift Response102103```python104from digitalmodel.orcawave.qtf import SlowDriftResponse105106# Initialize slow drift analysis107slow_drift = SlowDriftResponse()108109# Load QTF data110slow_drift.load_qtf("results/fpso_qtf.yml")111112# Configure sea state113114*See sub-skills for full details.*115116## Related Skills117118- [orcawave-analysis](../orcawave-analysis/SKILL.md) - First-order diffraction analysis119- [mooring-design](../mooring-design/SKILL.md) - Mooring system design120- [hydrodynamics](../hydrodynamics/SKILL.md) - Wave loading management121- [orcaflex/modeling](../orcaflex/modeling/SKILL.md) - Time-domain simulation122123## References124125- Pinkster, J.A.: Low Frequency Second Order Wave Exciting Forces126- Newman, J.N.: Second-Order Wave Forces on a Vertical Cylinder127- Standing, R.G.: Low Frequency Wave Drift Forces128- OrcaWave QTF Documentation129130---131132**Version History**133134- **1.0.0** (2026-01-17): Initial release with full QTF, Newman approximation, and slow drift analysis135136## Sub-Skills137138- [When to Use Full QTF vs Newman (+2)](when-to-use-full-qtf-vs-newman/SKILL.md)139140## Sub-Skills141142- [Error Handling](error-handling/SKILL.md)143144## Sub-Skills145146- [Version Metadata](version-metadata/SKILL.md)147- [Force Components (+1)](force-components/SKILL.md)148- [QTF Analysis Configuration (+1)](qtf-analysis-configuration/SKILL.md)149- [Available Data (+1)](available-data/SKILL.md)150- [CLI Usage](cli-usage/SKILL.md)151152153## Documentation Reference154155OrcaWave topics (`data/llm-wiki/orcawave/`):156- `Data,QTFs.md` -- QTF computation configuration157- `Theory,Second-orderequations.md` -- second-order BVP theory158- `Results,Quadraticloads.md` -- QTF output (mean drift, full QTF matrices)159- `Results,Potentialloads.md` -- potential-based load results160- `Data,Environment.md` -- water depth affecting second-order effects161162OrcaFlex topics (`data/llm-wiki/orcaflex/`):163- `Vesseltypes,WavedriftandsumfrequencyQTFs.md` -- QTF data in vessel types164- `Vesseltheory,Wavedriftandsumfrequencyloads.md` -- drift/sum-frequency theory165- `Modellingvesselslowdrift.md` -- slow drift modelling in OrcaFlex