Overview of the modules

matrices

Depends on: none.

This module contains classes describing block matrices, block Toeplitz matrices (stored sparsely in memory) and low-rank matrices. All block matrices can nested to build hierarchical matrices.

meshes

Depends on: none.

This module contains classes describing the mesh of a floating body. Several variants, including collections of meshes and symmetric meshes are also available. Most of this module comes from the meshmagick package by François Rongère.

bodies

Depends on: meshes.

This module contains a class describing a floating body, that is the reunion of a mesh and some degrees of freedom. It also contains some tools to generate new bodies of simple geometrical shapes.

tools

green_functions

bem

Depends on: meshes, bodies, matrices, green_functions, io.xarray.

The module is the core of the code. It contains the routines to assemble the matrices and solve the BEM problem.

io.xarray

Depends on: bem.

This submodule contains the code used to read and write the xarray datasets that are the standard output of the code. It is interlaced with capytaine.bem and might be merged with it in the future.

post_pro

ui.vtk

Depends on: meshes, bodies and post_pro.

This module contains the calls to VTK used for the 3D display of the meshes and the animation of the free surface.

io

ui.cli

Depends on: io, bem.

This module contains the command-line interface of the code.