Skip to content

Configure paired RM3 floating joint in Python WEC API - #56

Merged
cmccomb merged 3 commits into
masterfrom
parity/public-floating-joint
Oct 8, 2026
Merged

cmccomb merged 3 commits into
masterfrom
parity/public-floating-joint

Conversation

@cmccomb

@cmccomb cmccomb commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Scope

Expose the existing paired four-coordinate RM3 floating joint through WEC.floating_joint(float_body, spar, ...). Python users can configure the relative-heave PTO, joint surge spring, radiation option, added-mass comparison scheme, hard stops, and initial coordinates without writing a case dictionary. WEC.run returns named surge, float heave, spar heave, pitch, body, and PTO histories. The mode rejects additional bodies, coordinate maps, separate PTOs, and off-axis joint locations that its solver would ignore.

The general case runner retains its CSV output shape. The physical implicit added-mass scheme remains the default; source-compatible delayed mass feedback is explicit.

Paired evidence

Fresh pinned MATLAB MCR Option 1 array and MooringMatrix jobs pass the new public Python API gates. The MCR comparison gates all 4,001 samples of two bodies' surge/heave/pitch positions and velocities plus PTO stroke, speed, force, and absorbed power. The MooringMatrix comparison also checks imported elevation and the joint surge mooring force over 40,001 samples. The first case's largest observed differences are 35.1 mm surge, 0.228 mm heave, 3.46e-6 rad pitch, 0.243 mm PTO stroke, 163 N PTO force, and 118 W absorbed power.

The local Python API/case/wave suite passes (28 tests), both paired tests pass with the saved MATLAB artifacts and fresh live output, and actionlint passes. A built wheel runs WEC.floating_joint outside the checkout.

This is the published RM3-style slider layout. It does not claim arbitrary Simscape joints or off-axis PTO attachment dynamics. RM3 state-space Cases 5 and 6 remain a separate unresolved fit investigation.

@cmccomb
cmccomb marked this pull request as ready for review October 8, 2026 14:01
@cmccomb
cmccomb merged commit 396bb5a into master Oct 8, 2026
2 checks passed
@cmccomb
cmccomb deleted the parity/public-floating-joint branch October 8, 2026 14:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant