```html Seastead Simulation Software Comparison

Simulating a Trimaran-Style Seastead in Waves: Open-Source Software Comparison

Your design — a ~80 ft triangular platform supported by three NACA-foil vertical spar legs — is essentially a small-waterplane-area trimaran (SWAT / mini-SWATH hybrid). The physics you most care about are:

This combination is exactly the regime where linear potential-flow tools (BEM) start to lose accuracy, and where CFD or particle-based methods become worthwhile — especially since you already have a good GPU.

Quick Verdict

Recommended two-stage workflow (both free, both scriptable from Python):
  1. Stage 1 — Fast design iteration: Capytaine (BEM) + MoorDyn + a custom Python time-domain solver with Morison-style viscous drag corrections on the legs. Get first results in 1–2 weeks. Good for scanning many designs and wave spectra.
  2. Stage 2 — High-accuracy validation: DualSPHysics (GPU SPH) or OpenFOAM with waves2Foam/olaFlow + overset mesh. Use this to validate a few chosen sea states and capture the non-linear leg emergence/submergence your legs will experience. First run in 3–6 weeks.

Why BEM-Only Is Not Enough for Your Design

BEM (Boundary Element Method, as in Capytaine, NEMOH, WAMIT) assumes:

Your legs are 19 ft tall with only ~9.5 ft submerged at rest — a wave of 5–8 ft amplitude will change the wetted surface by a huge fraction. That breaks the linear assumption. You were right to be suspicious.

However BEM is still useful as a first-pass tool because it's fast (seconds to minutes per run) and gives you RAOs, natural periods, and a sense of resonance.

Detailed Comparison Table

Tool Method License / Cost GPU? Accuracy for your case Time-to-first-sim (with Claude Code) Visualization Re-use for new designs
Capytaine + MoorDyn + custom Python Linear BEM + Morison drag correction in time domain FREE BSD, Python CPU Moderate. Good for small waves / RAOs / natural periods. Misses leg emergence, slamming, non-linear damping unless you add Morison terms manually. 3–10 days Good: Python/Matplotlib, export to ParaView or Blender for rendering. Very easy — swap the mesh file (STL/OBJ) and re-run.
Project Chrono (multibody + linear hydro) Multibody dynamics + BEM (via HydroChrono / Chrono::Hydro) FREE BSD, C++/Python CPU (some GPU modules) Similar limitation to Capytaine for the hydro, but excellent for structural/multibody response (useful if you model the truss flexibility later). 1–3 weeks Built-in Irrlicht/VSG viewer; exports to ParaView. Moderate — need to re-define bodies and joints.
Chrono::FSI (SPH) Smoothed Particle Hydrodynamics coupled to Chrono multibody FREE BSD GPU (CUDA) High. Fully non-linear free surface, captures leg emergence, slamming, viscous effects. This replaces BEM entirely. Answers your question: yes, when you use Chrono::FSI-SPH, Chrono is no longer using BEM — SPH is the fluid solver. 3–6 weeks (SPH parameter tuning is the time sink) ParaView from VTK output — very nice videos. Moderate — new CAD + re-tune particle resolution.
DualSPHysics GPU SPH + rigid multibody (Project Chrono coupling built in!) FREE LGPL GPU (CUDA) — made for it Very high for wave-structure interaction with large motions. Widely used for WEC and offshore platforms. Handles your leg emergence naturally. 2–5 weeks Excellent — ParaView, built-in post-processing tools, video-ready. Easier than OpenFOAM — XML case files + STL geometry swap.
OpenFOAM + waves2Foam / olaFlow / interFoam + overset Finite Volume CFD, VOF free surface FREE GPL CPU mostly (GPU forks exist but immature) Highest physical fidelity — turbulence, viscous damping of foils, vortex shedding. But CPU-bound and slow. 4–8 weeks (steep learning curve even with Claude) ParaView — industry-standard, excellent videos. Hard — meshing each new design takes real work.
WEC-Sim + MoorDyn Linear BEM (Cummins) time-domain in Simulink Requires MATLAB + Simulink + Simscape Multibody CPU Same accuracy class as Capytaine; non-linear Froude-Krylov optional. 1–2 weeks if you already know MATLAB Simulink scopes + MATLAB plots; can export for Blender. Easy once set up.
Blender (physics / Mantaflow / Flip Fluids) FLIP / PIC fluid for VFX FREE GPU (limited) Not engineering-grade. Tuned for visual plausibility, not conservation of mass/momentum or correct wave spectra. Still true in 2024. Days (for pretty video), never (for engineering numbers) Beautiful — but don't trust the physics. Easy.
MoorDyn (standalone) Lumped-mass mooring line dynamics FREE CPU Only the mooring, not the hull. Used alongside Capytaine or WEC-Sim. Part of other tools. N/A alone Easy.
OpenFAST (NREL) Multi-fidelity: BEM + Morison + mooring + structural FREE Apache CPU Designed for floating wind turbines — very close to your problem (spar / semi-sub platforms in waves). Includes non-linear Morison drag on slender members. Often overlooked for seastead work but excellent. 2–4 weeks Time-series output → ParaView/Python plots. Easy — edit input files.
MoorPy / RAFT (NREL) Frequency/time-domain floating platform (uses Capytaine under the hood) FREE Python CPU Great for rapid screening of platform concepts — built exactly for multi-column floating platforms. 3–7 days Matplotlib / 3D Python plots. Very easy — YAML config files.

My Recommended Path for You Specifically

Week 1–2: Fast screening with RAFT + Capytaine

RAFT (NREL's "Response Amplitudes of Floating Turbines") was built for exactly this geometry — a few columns connected by a platform. It uses Capytaine for BEM, adds Morison drag on slender members (your foils), and handles mooring. You describe your platform in a YAML file. This will tell you natural periods, RAOs, and give you a first estimate of motions and accelerations at any point.

Claude Code can write the YAML and the post-processing scripts in a day or two. You'll be iterating designs by lunch.

Week 3–8: High-fidelity validation with DualSPHysics

Pick 2–3 worst-case sea states from the RAFT screening and re-run them in DualSPHysics. This is a GPU SPH code from the University of Vigo / Manchester, explicitly designed for wave-structure interaction with large body motions. It already couples to Project Chrono for the multibody side, so your 3-leg rigid body is straightforward.

DualSPHysics will correctly handle the case where a leg almost fully emerges from a wave trough and then slams back — which is the failure mode you most want to see.

Optional Week 9+: OpenFOAM for a "gold-standard" run

If a reviewer or investor asks "but what about viscous/turbulent effects on the foils," run one or two cases in OpenFOAM with overset mesh + interFoam + waves2Foam. Very expensive computationally, but publishable.

Specific Answers to Your Questions

"If we use Chrono::FSI-SPH, is Chrono still using BEM?"

No. Chrono::FSI replaces the fluid model entirely with SPH. You get fully non-linear free-surface and viscous effects. BEM is only used in HydroChrono / Chrono::Hydro, which is a separate module.

"Can Blender do this now?"

Still no, for engineering. Mantaflow and FLIP Fluids are for VFX. They do not reproduce linear wave theory, don't correctly conserve momentum, and the coupling to rigid bodies is not validated. Use Blender only for rendering — import ParaView output or a trajectory CSV from Capytaine/DualSPHysics, and let Blender make a pretty video. Claude Code can help you write the Python importer.

"WEC-Sim + MoorDyn — good path?"

Technically capable, but MATLAB + Simulink + Simscape Multibody is expensive. In Anguilla (commercial, non-academic), expect roughly:

Not open source. Skip it — Capytaine/RAFT give you the same accuracy class for free.

"Is DualSPHysics good for my needs?"

Yes — probably the best single tool for your "how does it fail in big waves" question. GPU-native, validated for wave-structure interaction, Chrono multibody coupling, active user community in offshore/WEC research.

"Is OpenFOAM worth it?"

Highest fidelity, but a 4–8 week learning curve and single simulations can take days on CPU. Use it only for final validation of a few cases, not for iterative design.

Ease of Re-Using for a New Design

ToolWhat you change for a new seastead designEffort
RAFTEdit YAML (column diameters, positions, masses)~1 hour
CapytaineSwap STL mesh, re-run~2 hours
OpenFASTEdit input files, re-generate BEM coefficients~half day
DualSPHysicsNew STL + check particle resolution~1 day
Chrono::FSINew CAD + re-tune SPH parameters~1–2 days
OpenFOAMRe-mesh (snappyHexMesh or overset), re-validate~3–7 days per design

Hardware & OS Notes

Visualization Pipeline (same for all tools)

  1. Simulation outputs time-series of body positions (CSV) and/or fluid fields (VTK).
  2. Use ParaView (free) for scientific visualization — colored accelerations, wave surface, pressure.
  3. Use Blender to take the trajectories and make cinematic videos for stakeholders. Claude Code can bridge CSV → Blender keyframes in an afternoon.

Summary Ranking for Your Specific Needs

RankToolBest for
🥇 1RAFT (+ Capytaine + MoorDyn)Fast design iteration, first results in a week
🥈 2DualSPHysicsHigh-fidelity non-linear wave response, uses your GPU, validates failure modes
🥉 3OpenFASTWell-established middle-ground; Morison drag on your foils
4Chrono::FSISimilar role to DualSPHysics; pick whichever you find easier
5OpenFOAMFinal validation of hero cases
WEC-SimSkip (not free)
Blender physicsSkip for engineering; use only for rendering

Suggested First-Week Action Plan

  1. Install Python, Capytaine, RAFT, MoorDyn on Linux.
  2. Ask Claude Code to generate a RAFT YAML for your platform: 3 columns at triangle vertices, each a NACA-shaped spar with equivalent cylindrical Morison coefficients.
  3. Run RAFT against a JONSWAP spectrum at Hs = 1 m, 2 m, 3 m, 4 m.
  4. Plot heave/pitch/roll RAOs and accelerations at the living-area location.
  5. Identify the sea state that makes a leg emerge. That becomes your DualSPHysics case in Week 3.

Prepared for an open-source seastead simulation pipeline. All recommendations assume commercial Anguilla use (no academic licenses).

```