1 #ifndef VTESTBED_CORE_ANLT_WIND_SOLVER_HH     2 #define VTESTBED_CORE_ANLT_WIND_SOLVER_HH     7 #include <vtestbed/core/types.hh>     8 #include <vtestbed/geometry/polyline.hh>     9 #include <vtestbed/geometry/ray.hh>    10 #include <vtestbed/geometry/types.hh>    20             using array_type = Array<T,4>;
    21             using vec3 = blitz::TinyVector<T,3>;
    22             using wind_field_type = Array<vec3,3>;
    30             wind_field_type _wind_field;
    32             bool _on_the_boundary = 
true;
    33             bool _near_the_boundary = 
false;
    34             bool _stratification = 
false;
    41             inline wind_field_type& wind_field() { 
return this->_wind_field; }
    42             inline const wind_field_type& wind_field()
 const { 
return this->_wind_field; }
    54             inline void stratification(
bool rhs) { this->_stratification = rhs; }
    56             inline const ray_array&
    57             wind_field_boundary()
 const {
    58                 return this->_wind_field_boundary;
    61             virtual void step(
const grid_type& grid, panel_array& panels) = 0;
    64         template <
class T, Policy P>
    66         make_anlt_wind_solver();
    72 #endif // vim:filetype=cpp 
bool on_the_boundary() const
Compute wind field on the boundary.
 
bool near_the_boundary() const
Compute wind field near the boundary.
 
Triangular ship hull panel (face).
 
bool stratification() const
Make wind speed increase with height.