Skip to content

Add FOSWEC tutorial - #457

Open
jtgrasb wants to merge 11 commits into
sandialabs:devfrom
jtgrasb:FOSWEC_example
Open

Add FOSWEC tutorial#457
jtgrasb wants to merge 11 commits into
sandialabs:devfrom
jtgrasb:FOSWEC_example

Conversation

@jtgrasb

@jtgrasb jtgrasb commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Description

Add FOSWEC tutorial using Multibody for Everybody.
This PR:

  • Adds tutorial 5: FOSWEC notebook, which includes the following important features.
    • Interfaces with Multibody for Everybody (M4E) to setup joints and generate reduced coefficients and matrices.
    • Uses M4E transformation matrix to convert forcing matrices and PTO kinematics to reduced coordinates and convert results back to global coordinates.
    • Verifies integration against WEC-Sim results.
    • Example of static solve - no control variables or objective function, just residual constraint.
    • Example of PTO kinematics matrix for multi-PTO device.
    • Example of a proportional controller.
    • Completes a design study on adding top-mounted ballast to replicate work done in the paper.
      • Not exact same as paper to save computation time in tutorial, but results show same trends.
  • Adds Multibody for Everybody v2 to the project dependencies.
  • Adds utilities functions for interfacing with M4E in WecOptTool. Also adds tests for these new functions.

Type of PR

  • New tutorial

Checklist for PR

Additional details

N/A

@coveralls

coveralls commented Sep 3, 2026

Copy link
Copy Markdown

Coverage Status

coverage: 88.138% (+0.2%) from 87.964% — jtgrasb:FOSWEC_example into sandialabs:dev

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.

2 participants