capytaine.post_pro.free_surfaces module¶
This module implements objects describing a mesh on which the free surface elevation will be computed.
- class capytaine.post_pro.free_surfaces.FreeSurface(x_range=(-50.0, 50.0), nx=10, y_range=(-50.0, 50.0), ny=10, name=None)[source]¶
Bases:
object
A cartesian mesh on which the free surface elevation will be computed.
Has a
mesh
attribute to behave kind of like FloatingBody when building of the influence matrix.- Parameters:
x_range (Tuple[float, float], optional) – extreme values of the mesh in the x direction
nx (int, optional) – number of cells in the x direction
y_range (Tuple[float, float], optional) – extreme values of the mesh in the y direction
ny (int, optional) – number of cells in the y direction
name (string, optional) – a name for the free surface object
Todo
Generalize to non-cartesian meshes. In particular, it could be of interest to build meshes having the same symmetry as a given floating body to speed up the construction of the influence matrix.
See also
get_free_surface_elevation()
The main function requiring a FreeSurface object.
- property area¶
The total area covered by the mesh.
- incoming_waves(problem: DiffractionProblem) ndarray [source]¶
Free surface elevation of the undisturbed incoming waves for a given diffraction problem. Kept for legacy, but not recommended for use.