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, sea_bottom=-inf, omega=1.0, rho=1000.0, g=9.81, wave_direction=0.0, convention='nemoh')[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
store_force(dof, force)[source]
class capytaine.bem.problems_and_results.LinearPotentialFlowProblem(*, body=None, free_surface=0.0, sea_bottom=-inf, omega=1.0, rho=1000.0, g=9.81, boundary_condition=None)[source]

Bases: object

General class of a potential flow problem.

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.infty)

  • sea_bottom (float, optional) – The position of the sea bottom

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

  • 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,)) – The Neumann boundary condition on the floating body

  • TODO (more consistent use of free_surface and sea_bottom vs. water_depth)

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

Bases: object

store_force(dof, force)[source]
class capytaine.bem.problems_and_results.RadiationProblem(*, body=None, free_surface=0.0, sea_bottom=-inf, omega=1.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 records
store_force(dof, force)[source]