|
Virtual Testbed
Ship dynamics simulator for extreme conditions
|
Main class for interacting with virtual testbed. More...
#include <testbed.hh>
Public Types | |
| using | value_type = T |
| using | ship_type = Ship< T > |
| using | ship_motion_solver_type = Ship_motion_solver< T > |
| using | ship_motion_solver_ptr = std::unique_ptr< ship_motion_solver_type > |
| using | wavy_surface_generator_type = Wavy_surface_generator< T, N > |
| using | wavy_surface_generator_ptr = std::unique_ptr< wavy_surface_generator_type > |
| using | velocity_potential_solver_type = Velocity_potential_solver< T, N > |
| using | velocity_potential_solver_ptr = std::unique_ptr< velocity_potential_solver_type > |
| using | vertex_field_3d = blitz::Array< blitz::TinyVector< T, 3 >, 3 > |
| typedef Wave_pressure_solver< T > | wave_pressure_solver_type |
| typedef std::unique_ptr< wave_pressure_solver_type > | wave_pressure_solver_ptr |
| using | gerstner_solver_type = Gerstner_solver< T, 3 > |
| typedef std::unique_ptr< gerstner_solver_type > | gerstner_solver_ptr |
| using | grid2 = Grid< T, N-1 > |
| using | grid3 = Grid< T, N > |
| using | grid4 = Grid< T, N+1 > |
| using | array_type = Array< T, N > |
| using | phi_array_type = Array< T, N+1 > |
| using | domain3 = blitz::RectDomain< N > |
| using | domain4 = blitz::RectDomain< N+1 > |
| using | statistics_type = Statistics< T > |
| using | array2 = Array< T, 2 > |
| using | array3 = Array< T, 3 > |
| using | vec3 = Vector3< T > |
| using | wetted_surface_solver_type = Wetted_surface_solver< T, N > |
| using | wetted_surface_solver_ptr = std::unique_ptr< wetted_surface_solver_type > |
| using | arma_wind_solver_type = ARMA_wind_solver< T > |
| using | arma_wind_solver_ptr = std::unique_ptr< arma_wind_solver_type > |
| using | anlt_wind_solver_type = ANLT_wind_solver< T > |
| using | anlt_wind_solver_ptr = std::unique_ptr< anlt_wind_solver_type > |
| using | panel_type = typename wetted_surface_solver_type::panel_type |
| using | panel_array = typename wetted_surface_solver_type::panel_array |
| using | waterline_type = typename wetted_surface_solver_type::waterline_type |
| using | irregular_surface_type = Array< vec3, 3 > |
| using | irregular_surface_type_2d = Array< vec3, 2 > |
Public Member Functions | |
| Testbed (Testbed &&)=default | |
| Testbed & | operator= (Testbed &&)=default |
| Testbed (const Testbed &)=delete | |
| Testbed & | operator= (const Testbed &)=delete |
| void | set_solver_type (Solver_type type) |
| Solver_type | get_solver_type () const |
| const ship_type & | ship () const |
| ship_type & | ship () |
| void | ship (ship_type &&rhs) |
| void | ship (const ship_type &rhs) |
| void | gerstner_solver (gerstner_solver_ptr &&rhs) |
| gerstner_solver_type * | gerstner_solver () |
| const gerstner_solver_type * | gerstner_solver () const |
| void | wavy_surface_generator (wavy_surface_generator_ptr &&rhs) |
| const wavy_surface_generator_type * | wavy_surface_generator () const noexcept |
| wavy_surface_generator_type * | wavy_surface_generator () noexcept |
| void | velocity_potential_solver (velocity_potential_solver_ptr &&rhs) |
| const velocity_potential_solver_type * | velocity_potential_solver () const noexcept |
| velocity_potential_solver_type * | velocity_potential_solver () noexcept |
| void | wave_pressure_solver (wave_pressure_solver_ptr &&rhs) |
| const wave_pressure_solver_type * | wave_pressure_solver () const noexcept |
| wave_pressure_solver_type * | wave_pressure_solver () noexcept |
| void | wetted_surface_solver (wetted_surface_solver_ptr &&rhs) |
| wetted_surface_solver_type * | wetted_surface_solver () |
| const wetted_surface_solver_type * | wetted_surface_solver () const |
| const array_type & | wavy_surface () const noexcept |
| const grid4 | grid () const |
| array2 | wavy_surface_2d () const noexcept |
| irregular_surface_type | irregular_wavy_surface () |
| irregular_surface_type_2d | irregular_wavy_surface_2d () const |
| const phi_array_type & | velocity_potential () const noexcept |
| array3 | velocity_potential_3d () const noexcept |
| void | step (T dt) |
| void | reset () |
| Reset simulation to the initial state and retain solver configuration. More... | |
| ship_motion_solver_type * | ship_motion_solver () |
| const ship_motion_solver_type * | ship_motion_solver () const |
| void | wavy_surface_grid (const grid2 &rhs) noexcept |
| grid3 | wavy_surface_grid () const noexcept |
| grid2 | wavy_surface_grid_2d () const noexcept |
| grid4 | velocity_potential_grid () const noexcept |
| grid3 | velocity_potential_grid_3d () const noexcept |
| T | time_instant () const noexcept |
| Current time instant in seconds. | |
| const grid4 & | grid_txyz () const |
| const panel_array & | wetted_panels () const noexcept |
| Wetted ship hull faces that comprise underwater part of the hull. | |
| const panel_array & | dry_panels () const noexcept |
| bool | has_wetted_panels () const noexcept |
| bool | has_wave_pressure_domain () const noexcept |
| void | record_statistics (statistics_type &stats) |
| const statistics_type & | statistics () const |
| statistics_type & | statistics () |
| const vertex_field_3d & | wind_field () const |
| const grid3 & | wind_grid () const |
| const vertex_field_3d & | water_velocity_field () const |
| void | arma_wind_solver (arma_wind_solver_ptr &&rhs) |
| void | anlt_wind_solver (anlt_wind_solver_ptr &&rhs) |
| const anlt_wind_solver_type * | wind_solver () const |
| const waterline_type & | waterline () const |
| void | openmp_solvers () |
| void | opencl_solvers () |
| void | opencl_context (void *ptr) |
Friends | |
| bstream & | operator<< (bstream &out, const Testbed &rhs) |
| bstream & | operator>> (bstream &in, Testbed &rhs) |
Main class for interacting with virtual testbed.
Definition at line 33 of file testbed.hh.
| void vtb::core::Testbed< T, N >::reset | ( | ) |
Reset simulation to the initial state and retain solver configuration.
Definition at line 128 of file core/testbed.cc.
|
inlinenoexcept |
\(N+1\) dimensional velocity potential. The first dimension is time, the second is \(z\), the rest are \(x\) and \(y\).
Definition at line 227 of file testbed.hh.
|
inlinenoexcept |
\(N\)-dimensional spatio-temporal grid for velocity potential field. The dimensions are \((t,z,x,y)\).
Definition at line 297 of file testbed.hh.
|
inlinenoexcept |
\(N\)-dimensional wavy surface. The first dimension is time, the rest are spatial.
Definition at line 197 of file testbed.hh.
|
inlinenoexcept |
Set \((x,y)\) dimensions of the grid.
Definition at line 264 of file testbed.hh.
|
inlinenoexcept |
\(N\)-dimensional spatio-temporal grid for wavy surface generation. The first dimension is time, the rest are spatial.
Definition at line 280 of file testbed.hh.
|
inlinenoexcept |
Two-dimensional spatial wavy surface grid.
Definition at line 288 of file testbed.hh.
1.8.15