Skip to main content

Pylot

Pylot is a helper application for Capytaine and, in the future, other BEM solvers.

It helps to develop and maintain a library of hydrodynamic data for a single vessel spanning multiple drafts, grids, heel and trim.

image

The whole idea is a follows:

  1. define a base-shape for a vessel.
  2. create calculation meshes for different "floating conditions" by cutting the base-shape at the water-surface and meshing (automatic)
  3. run capytaine to obtain hydrodynamic data
  4. store in a sqlite database

then, on the consumer side:

  1. load the database
  2. get the best matching floating condition (using surface probes)
  3. convert into a mafredo hyddb1 for further use

to limit the python environment for the consumer side, the pylot package is split into pylot-db and pylot-bem.

run

uvx --from pylot-bem pylot-app

pylot-bem

Write side of the hydrodynamic database: meshing, in-process Capytaine solving, assembly, a command line and a standalone application.

Pylot is a pylot_db.Library — it adds meshing and solving to the same object, so a file written here opens as a plain Library on a machine with no BEM solver installed. That split is the point, and a test enforces it.

Build a library

import numpy as np
from pylot_bem import Pylot, SolveSettings

d = Pylot.create_new("tanker.pylot", "tanker.stl", "stern, centerline, keel",
                     is_xz_symmetric=True)

condition = d.create_condition(z_origin=-12.0, condition_id="design")
mesh      = d.create_mesh(condition, pct=2.0)
result    = d.run_solve(mesh, SolveSettings(
    omegas=[2 * np.pi / T for T in (12.0, 16.0, 20.0)],
    wave_directions=[0.0, 45.0, 90.0, 135.0, 180.0],
))

print(d.validate() or "clean")
d.close()

Reading one back is pylot-db, which this package depends on and which needs no solver.

The application

uv run pylot-app

The pylot application

A window for building and inspecting libraries: the tree, a 3D view in diffraction space, property panes, and tabs for Results, Databases, Inspect, Match and Validation. docs/manual.md walks through it screen by screen and assumes you already know Capytaine.

What is where

docs/manual.md The application, screen by screen
docs/api.md The reference: every public name, with its units
examples/ Five runnable scripts, smallest first
docs/README.md Where the specification lives and why it is not here

Licence

MIT. Copyright 2026 Ruben de Bruin / DAVE Lab.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylot_bem-2026.8.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pylot_bem-2026.8.0-py3-none-any.whl (142.9 kB view details)

Uploaded Python 3

File details

Details for the file pylot_bem-2026.8.0.tar.gz.

File metadata

  • Download URL: pylot_bem-2026.8.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pylot_bem-2026.8.0.tar.gz
Algorithm Hash digest
SHA256 30037d564f5246114b94b815e150230cdfb3600b362fcf10ca45150a9d208dad
MD5 c8a951b812c2f0e6ea3340ca30bc800a
BLAKE2b-256 71163e5aa00624cc82ccd5fa6e2bdf024c68957e9d8b1fad3000adca02a2b844

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylot_bem-2026.8.0.tar.gz:

Publisher: publish.yml on dave-open/pylot-bem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pylot_bem-2026.8.0-py3-none-any.whl.

File metadata

  • Download URL: pylot_bem-2026.8.0-py3-none-any.whl
  • Upload date:
  • Size: 142.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for pylot_bem-2026.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 afa565a0e8341412e33ce6f52f7e4171413fcfab4e9845f3a31ec82cead845a3
MD5 15ee0d50abcc29577de519667a17bf77
BLAKE2b-256 5eee998a2c665c4bb912d9974b9e7459e3425b0891a6eee58a0876dc8baa79e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for pylot_bem-2026.8.0-py3-none-any.whl:

Publisher: publish.yml on dave-open/pylot-bem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page