capytaine.bem.problems_and_results module

Definition of the problems to solve with the BEM solver, and the results of this resolution.

class capytaine.bem.problems_and_results.DiffractionProblem(*, body=None, free_surface=0.0, water_depth=None, sea_bottom=None, omega=None, period=None, wavenumber=None, wavelength=None, forward_speed=0.0, rho=1000.0, g=9.81, wave_direction=0.0)[source]

Bases: LinearPotentialFlowProblem

Particular LinearPotentialFlowProblem with boundary conditions computed from an incoming Airy wave.

make_results_container(*args, **kwargs)[source]
class capytaine.bem.problems_and_results.DiffractionResult(problem, *args, **kwargs)[source]

Bases: LinearPotentialFlowResult

property records
class capytaine.bem.problems_and_results.LinearPotentialFlowProblem(*, body=None, free_surface=0.0, water_depth=None, sea_bottom=None, omega=None, period=None, wavenumber=None, wavelength=None, forward_speed=0.0, rho=1000.0, g=9.81, wave_direction=0.0, boundary_condition=None)[source]

Bases: object

General class of a potential flow problem.

At most one of the following parameter must be provided: omega, period, wavenumber or wavelength. Internally only omega is stored, hence setting another parameter can lead to small rounding errors.

Parameters:
  • body (FloatingBody, optional) – The body interacting with the waves

  • free_surface (float, optional) – The position of the free surface (accepted values: 0 and np.inf)

  • water_depth (float, optional) – The depth of water in m (default: np.inf)

  • sea_bottom (float, optional) – The position of the sea bottom (deprecated: please prefer setting water_depth)

  • omega (float, optional) – The angular frequency of the waves in rad/s

  • period (float, optional) – The period of the waves in s

  • wavenumber (float, optional) – The angular wave number of the waves in rad/m

  • wavelength (float, optional) – The wave length of the waves in m

  • forward_speed (float, optional) – The speed of the body (in m/s, in the x direction, default: 0.0)

  • rho (float, optional) – The density of water in kg/m3 (default: 1000.0)

  • g (float, optional) – The acceleration of gravity in m/s2 (default: 9.81)

  • boundary_condition (np.ndarray of shape (body.mesh.nb_faces,), optional) – The Neumann boundary condition on the floating body

property body_name
property depth
property influenced_dofs
make_results_container()[source]
class capytaine.bem.problems_and_results.LinearPotentialFlowResult(problem, forces=None, sources=None, potential=None, pressure=None)[source]

Bases: object

property force
class capytaine.bem.problems_and_results.RadiationProblem(*, body=None, free_surface=0.0, water_depth=None, sea_bottom=None, omega=None, period=None, wavenumber=None, wavelength=None, forward_speed=0.0, wave_direction=0.0, rho=1000.0, g=9.81, radiating_dof=None)[source]

Bases: LinearPotentialFlowProblem

Particular LinearPotentialFlowProblem whose boundary conditions have been computed from the degree of freedom of the body.

make_results_container(*args, **kwargs)[source]
class capytaine.bem.problems_and_results.RadiationResult(problem, *args, **kwargs)[source]

Bases: LinearPotentialFlowResult

property added_mass
property added_masses
property radiation_damping
property radiation_dampings
property records