Virtual Testbed
Ship dynamics simulator for extreme conditions
Public Types | Public Member Functions | Protected Attributes | List of all members
vtb::core::Wetted_surface_solver< T, N > Class Template Referenceabstract
Inheritance diagram for vtb::core::Wetted_surface_solver< T, N >:
[legend]
Collaboration diagram for vtb::core::Wetted_surface_solver< T, N >:
[legend]

Public Types

using panel_type = Ship_hull_panel< T, N >
 
using panel_array = std::vector< panel_type >
 
using ship_type = Ship< T >
 
using grid_type = Grid< T, 4 >
 
using vertex_type = blitz::TinyVector< T, N >
 
using waterline_type = vtb::geometry::Polyline< T, 3 >
 

Public Member Functions

virtual void solve (const ship_type &ship, const grid_type &grid_txyz, Array3< T > wavy_surface)=0
 Determine underwater hull panels (faces) taking into account ship position and orientation. More...
 
virtual void solve (const ship_type &ship, const grid_type &grid_txyz, Array3< vertex_type > wavy_surface)=0
 Determine underwater hull panels (faces) for irregular grid.
 
const panel_arraywetted_panels () const
 Wetted ship hull faces.
 
panel_arraywetted_panels ()
 
const panel_arraydry_panels () const
 Wetted ship hull faces.
 
panel_arraydry_panels ()
 
const panel_arrayall_panels () const
 All ship hull faces.
 
panel_arrayall_panels ()
 
const mask_arraywetted_vertices_mask () const noexcept
 Wetted panels mask.
 
const waterline_typewaterline () const
 Waterline polyline (line segment array).
 

Protected Attributes

panel_array _all_panels
 
panel_array _wetted_panels
 
panel_array _dry_panels
 
mask_array _wetted_vertices_mask
 
waterline_type _waterline
 

Detailed Description

template<class T, int N>
class vtb::core::Wetted_surface_solver< T, N >

Definition at line 51 of file core/types.hh.

Member Function Documentation

◆ solve()

template<class T , int N>
virtual void vtb::core::Wetted_surface_solver< T, N >::solve ( const ship_type ship,
const grid_type grid_txyz,
Array3< T >  wavy_surface 
)
pure virtual

Determine underwater hull panels (faces) taking into account ship position and orientation.

Date
2018-08-23
Author
Ivan Gankevich
Parameters
[in]offsetship position in the Earth-fixed coordinate system
[in]angleship angular displacement (orientation) in the Earth-fixed coordinate system
[in]wavy_surface_gridspatio-tempoaral wavy surface \((t,x,y)\) grid
[in]wavy_surfacewavy surface
[in]grid_xyzspatial \((x,y,z)\) grid (the first two dimensions equal the last two dimensions of the wavy_surface_grid)
Returns
array of underwater panels with computed normals and areas

Implemented in vtb::core::Wetted_surface_solver_opencl< T, N >, and vtb::core::Wetted_surface_solver_openmp< T, N >.