Main class for interacting with virtual testbed.
using progress_function_type = void(*)(int, int)
using arma_wave_generator_ptr = std::unique_ptr< arma_wave_generator_type >
using arma_wave_generator_type = ARMA_wavy_surface_generator_base< T, 3 >
using irregular_surface_type = Array< vec3, 2 >
using waterline_type = typename wetted_surface_solver_type::waterline_type
using panel_array = typename wetted_surface_solver_type::panel_array
using panel_type = typename wetted_surface_solver_type::panel_type
using anlt_wind_solver_ptr = std::unique_ptr< anlt_wind_solver_type >
using anlt_wind_solver_type = ANLT_wind_solver< T >
using arma_wind_solver_ptr = std::unique_ptr< arma_wind_solver_type >
using arma_wind_solver_type = ARMA_wind_solver< T >
using wetted_surface_solver_ptr = std::unique_ptr< wetted_surface_solver_type >
using wetted_surface_solver_type = Wetted_surface_solver< T, N >
using vec3 = Vector3< T >
using array3 = Array< T, 3 >
using array2 = Array< T, 2 >
using equilibrium_position_solver_type = Equilibrium_position_solver< T >
using external_excitation_solver_type = External_excitation_solver< T >
using statistics_type = Statistics< T >
using domain4 = blitz::RectDomain< N+1 >
using domain3 = blitz::RectDomain< N >
using array_type = Array< T, N >
using grid4 = Grid< T, N+1 >
using grid3 = Grid< T, N >
using grid2 = Grid< T, N-1 >
using gerstner_solver_ptr = std::unique_ptr< gerstner_solver_type >
using gerstner_solver_type = Gerstner_solver< T, 3 >
using wave_pressure_solver_ptr = std::unique_ptr< wave_pressure_solver_type >
using wave_pressure_solver_type = Wave_pressure_solver< T >
using vertex_field_3d = blitz::Array< blitz::TinyVector< T, 3 >, 3 >
using velocity_potential_solver_ptr = std::unique_ptr< velocity_potential_solver_type >
using velocity_potential_solver_type = Velocity_potential_solver< T, N >
using wavy_surface_generator_ptr = std::unique_ptr< wavy_surface_generator_type >
using wavy_surface_generator_type = Wavy_surface_generator< T >
using ship_motion_solver_ptr = std::unique_ptr< ship_motion_solver_type >
using ship_motion_solver_type = Ship_motion_solver< T >
using ship_type = Ship< T >
using value_type = T
opencl_context(void * ptr, progress_function_type progress = nullptr) -> void
opencl_solvers() -> void
openmp_solvers() -> void
wind_solver() const -> const anlt_wind_solver_type *
anlt_wind_solver(anlt_wind_solver_ptr && rhs) -> void
arma_wind_solver(arma_wind_solver_ptr && rhs) -> void
water_velocity_field() const -> const vertex_field_3d &
wind_grid() const -> const grid3 &
wind_field() const -> const vertex_field_3d &
statistics() -> statistics_type &
statistics() const -> const statistics_type &
record_statistics(statistics_type & stats) -> void
has_wave_pressure_domain() const -> bool
grid_txyz() const -> const grid4 &
time_instant() const -> T
Current time instant in seconds.
velocity_potential_grid() const -> grid3
Three-dimensional grid for velocity potential field. The dimensions are .
wavy_surface_grid() const -> grid2
Two-dimensional grid for wavy surface generation.
wavy_surface_grid(const grid2 & rhs) -> void
Set dimensions of the grid.
ship_motion_solver() const -> const ship_motion_solver_type *
ship_motion_solver() -> ship_motion_solver_type *
reset() -> void
Reset simulation to the initial state and retain solver configuration.
step(T dt) -> void
velocity_potential() const -> const Array< T, 3 > &
Three-dimensional velocity potential. The first dimension is , the rest are and .
irregular_wavy_surface() const -> const irregular_surface_type &
grid(const grid3 & rhs) -> void
grid(const grid4 & rhs) -> void
grid() const -> const grid4 &
wavy_surface() const -> const Array< T, 2 > &
Two-dimensional wavy surface.
wetted_surface_solver() const -> const wetted_surface_solver_type *
wetted_surface_solver() -> wetted_surface_solver_type *
wetted_surface_solver(wetted_surface_solver_ptr && rhs) -> void
wave_pressure_solver() -> wave_pressure_solver_type *
wave_pressure_solver() const -> const wave_pressure_solver_type *
equilibrium_position_solver() const -> const equilibrium_position_solver_type *
equilibrium_position_solver() -> equilibrium_position_solver_type *
wave_pressure_solver(wave_pressure_solver_ptr && rhs) -> void
velocity_potential_solver() -> velocity_potential_solver_type *
velocity_potential_solver() const -> const velocity_potential_solver_type *
velocity_potential_solver(velocity_potential_solver_ptr && rhs) -> void
arma_wave_generator() const -> const arma_wave_generator_type *
arma_wave_generator() -> arma_wave_generator_type *
plane_wave_generator() -> wavy_surface_generator_type *
plane_wave_generator() const -> const wavy_surface_generator_type *
wave_generator(arma_wave_generator_ptr && rhs) -> void
wave_generator(wavy_surface_generator_ptr && rhs) -> void
wave_generator(gerstner_solver_ptr && rhs) -> void
gerstner_solver() const -> const gerstner_solver_type *
gerstner_solver() -> gerstner_solver_type *
ship(const ship_type & rhs) -> void
ship(ship_type && rhs) -> void
ship() -> ship_type &
ship() const -> const ship_type &
get_solver_type() const -> Solver_type
set_solver_type(Solver_type type) -> void
operator=(const Testbed &) -> Testbed &
Testbed(const Testbed &)
operator=(Testbed && rhs) -> Testbed &
Testbed(Testbed &&)
~Testbed()
Testbed()