enum Solver_type
  • regular_solver
  • gerstner_solver
  • ARMA
template <class T, int N>
class vtb::core::Testbed

Main class for interacting with virtual testbed.

Types
Methods
  • 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.

    • Sets current time to 0.
    • Clears statistics and re-opens statistics.log.
    • Resets ship position.
    • Removes wetted panels.

  • 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()