1 #ifndef VTESTBED_CORE_ARMA_WIND_SOLVER_HH 2 #define VTESTBED_CORE_ARMA_WIND_SOLVER_HH 7 #include <vtestbed/core/types.hh> 8 #include <vtestbed/geometry/polyline.hh> 9 #include <vtestbed/geometry/types.hh> 10 #include <vtestbed/core/wind_generator.hh> 20 using array_type = Array<T,4>;
22 using wind_field_type = Array<blitz::TinyVector<T,3>, 3>;
24 using shape_type = blitz::TinyVector<int,4>;
26 using panel_array = Array<panel_type,1>;
35 wind_field_type _wind_field;
41 for (
int i = 0; i < 3; i++) {
49 inline wind_field_type& wind_field() {
return this->_wind_field; }
51 void step(panel_array panels);
57 for (
int i=0; i<3; ++i) {
58 _params[i]._grid = grid;
62 inline const grid_type& grid()
const {
return _params[0]._grid; }
66 for (
int i=0; i<3; ++i) {
67 _params[i]._sigma = sigma;
71 inline T sigma()
const {
return _params[0]._sigma; }
72 inline void setC1(T c1,
int ext) { _params[ext]._c1 = c1; }
73 inline T c1(
int ext) {
return _params[ext]._c1; }
74 inline void setC2(T c2,
int ext) { _params[ext]._c2 = c2; }
75 inline T c2(
int ext) {
return _params[ext]._c2; }
78 setOrder(shape_type order) {
79 for (
int i=0; i<3; ++i) {
80 _params[i]._order = order;
84 inline const shape_type& order()
const {
return _params[0]._order; }
92 #endif // vim:filetype=cpp
Triangular ship hull panel (face).