1 #ifndef VTESTBED_CORE_WAVE_PRESSURE_HH     2 #define VTESTBED_CORE_WAVE_PRESSURE_HH     4 #include <vtestbed/core/grid.hh>     5 #include <vtestbed/core/math.hh>     6 #include <vtestbed/core/policy.hh>     7 #include <vtestbed/core/ship_hull_panel.hh>     8 #include <vtestbed/core/types.hh>    30             using array3 = Array<T,3>;
    31             using array4 = Array<T,4>;
    32             using vec3 = Vector3<T>;
    83                 Array<T,3> wavy_surface,
    85                 Array<T,4> velocity_potential,
    90             inline T 
density() const noexcept { 
return this->_density; }
    91             inline void density(T rhs) noexcept { this->_density = rhs; }
    93             inline T 
g() const noexcept { 
return this->_g; }
    94             inline void g(T rhs) noexcept { this->_g = rhs; }
    95             inline void clip(
bool b) { this->_clip = b; }
    97             inline bool clip()
 const { 
return this->_clip; }
   101         template <
class T, Policy P>
   103         make_wave_pressure_solver();
   109 #endif // vim:filetype=cpp static constexpr const T g()
Gravitational acceleration.
 
T g() const noexcept
Gravitational acceleration.
 
Base class for all wave pressure solvers.
 
Triangular ship hull panel (face).
 
bool clip() const
Clamp grid to panels?
 
virtual void solve(const Grid< T, 3 > &wavy_surface_grid, Array< T, 3 > wavy_surface, const Grid< T, 4 > &velocity_potential_grid, Array< T, 4 > velocity_potential, panel_array &panels)=0
Compute pressure force applied to the centre of each ship hull panel.
 
T density() const noexcept
Fluid density.