Core components.
template <class T, int N>
using Wave_statistics_vector = blitz::TinyVector< Wave_statistics< T >, N >
using bstream = ::vtb::base::bstream
using int1 = Vector< int, 1 >
using int2 = Vector< int, 2 >
using int3 = Vector< int, 3 >
using int4 = Vector< int, 4 >
using mask_array = std::vector< bool >
using rect2 = blitz::RectDomain< 2 >
using rect3 = blitz::RectDomain< 3 >
using rect4 = blitz::RectDomain< 4 >
enum Centre_of_rotation
enum Policy
enum Solver_type
class vtb::core::Assumptions
constexpr const Policy default_policy
template <class T, int N>
autoregression_white_noise_variance(const blitz::Array< T, N > & acf, const blitz::Array< T, N > & phi) -> T
template <class T, int N, class F>
bisection(blitz::TinyVector< T, N > a, blitz::TinyVector< T, N > b, F func, const blitz::TinyVector< T, N > & arg_eps, const blitz::TinyVector< T, N > & func_eps, int max_iter) -> blitz::TinyVector< T, N >
template <class T>
chop_right(const blitz::Array< T, 4 > & rhs, T eps) -> blitz::TinyVector< int, 4 >
template <class T>
chop_right(const blitz::Array< T, 3 > & rhs, T eps) -> blitz::TinyVector< int, 3 >
template <class T>
clamp(const Grid< T, 3 > & grid_xyz, const std::vector< Ship_hull_panel< T, 3 >> & panels, Vector< int, 3 > min_shape, Vector< bool, 3 > power_of_two = Vector< bool, 3 >(false)) -> Grid< T, 3 >
template <class T>
clamp_domain(const Grid< T, 3 > & grid_xyz, const std::vector< Ship_hull_panel< T, 3 >> & panels, Vector< int, 3 > min_shape, Vector< bool, 3 > power_of_two = Vector< bool, 3 >(false)) -> blitz::RectDomain< 3 >
template <class T, int N>
correlation(blitz::Array< T, N > lhs, blitz::Array< T, N > rhs) -> blitz::Array< T, N >
template <class T, int N>
correlation(blitz::Array< T, N > lhs, blitz::Array< T, N > rhs, Chirp_Z_transform< std::complex< T >, N > & fft) -> blitz::Array< T, N >
template <class T, int N, class Wave>
courant_number(const Wave & wave, const Grid< T, N > & grid) -> T
template <class T, int N, class Wave>
courant_number_sum(const Wave & wave, const Grid< T, N > & grid) -> T
template <class T, int N>
covariance(blitz::Array< T, N > lhs, blitz::Array< T, N > rhs) -> blitz::Array< T, N >
template <class T, int N>
covariance(blitz::Array< T, N > lhs, blitz::Array< T, N > rhs, Chirp_Z_transform< std::complex< T >, N > & fft) -> blitz::Array< T, N >
template <class T, int N>
derivative(const blitz::TinyVector< int, N > & idx, int dimension, const T delta, const Array< T, N > & func) -> T
template <class T, int N>
derivative(const blitz::TinyVector< int, N > & idx, int idx_min, int idx_max, int dimension, const T delta, const Array< T, N > & func) -> T
template <class T, int N>
derivative(Array< T, N > func, const T delta, int dimension) -> Array< T, N >
template <class T, int N>
derivative(Array< T, N > func, const T delta, int dimension, Array< T, N > & result) -> void
template <class T>
find_extrema(blitz::Array< T, 1 > func, const Grid< T, 1 > & grid) -> std::vector< blitz::TinyVector< T, 2 > >
template <class T>
find_wave_halves(const std::vector< blitz::TinyVector< T, 2 >> & extrema) -> std::vector< Wave_half< T > >
template <class T>
find_wave_number_range(blitz::Array< T, 2 > surface, const Grid< T, 2 > & grid) -> Grid< T, 2 >
template <class T>
find_wave_number_range(const std::vector< Wave_half< T >> & halves) -> Grid< T, 1 >
template <class T>
find_wave_number_range(const std::vector< Wave_half< T >> & halves, T & min_wave_number, T & max_wave_number) -> void
template <class T, int N>
fourier_transform(blitz::Array< T, N > & x, int sign, Wave_table< T > waves) -> void
template <class T, int N, class Wave>
generate_wave(const Grid< T, N > & grid, Wave wave) -> Array< T, N >
template <class T, int N, class Wave>
generate_wave(const Grid< T, N > & grid, Array< T, N > & result, Wave wave) -> void
template <class T, int N, class Wave>
generate_wave(T t, const Grid< T, N > & grid, Wave wave) -> Array< T, N >
template <class T, int N, class Wave>
generate_wave(T t, const Grid< T, N > & grid, Array< T, N > & result, Wave wave) -> void
wave
and spatio-temporal grid
.
template <class T>
gradient(const blitz::TinyVector< int, 4 > & idx, const blitz::TinyVector< T, 4 > & delta, const Array< T, 4 > & func) -> blitz::TinyVector< T, 4 >
template <class T>
gradient(const blitz::TinyVector< int, 3 > & idx, const blitz::TinyVector< T, 3 > & delta, const Array< T, 3 > & func) -> blitz::TinyVector< T, 3 >
template <class T, int N>
gradient(const blitz::TinyVector< int, N > & idx, const blitz::TinyVector< T, N > & delta, const Array< T, N > & func) -> blitz::TinyVector< T, N >
template <class T>
intersect(const vtb::geometry::Triangle< T, 3 > & panel, const Vector< T, 3 > & water_level, std::vector< vtb::geometry::Triangle< T, 3 >> * wet_panels, std::vector< vtb::geometry::Triangle< T, 3 >> * dry_panels, std::vector< vtb::geometry::Line_segment< T, 3 >> * waterline) -> void
template <class T, int N>
make_gerstner_solver(Policy policy) -> std::unique_ptr< Gerstner_solver< T, N > >
template <class T, int N, Policy P>
make_gerstner_solver() -> std::unique_ptr< Gerstner_solver< T, N > >
template <class T>
make_plane_wave_generator(std::any wave, Policy policy) -> std::unique_ptr< Wavy_surface_generator< T > >
template <class T, class Wave, Policy P>
make_plane_wave_generator() -> std::unique_ptr< Plane_wave_generator< T, Wave, P > >
template <class T, class Wave, Policy P>
make_plane_wave_generator(const Wave & wave) -> std::unique_ptr< Plane_wave_generator< T, Wave, P > >
template <class T>
make_plane_wave_generator_opencl(std::any wave) -> std::unique_ptr< Wavy_surface_generator< T > >
template <class T>
make_plane_wave_generator_openmp(std::any wave) -> std::unique_ptr< Wavy_surface_generator< T > >
template <class T, int N, Policy P>
make_velocity_potential_solver() -> std::unique_ptr< Velocity_potential_solver< T, N > >
template <class T, Policy P>
make_wave_pressure_solver() -> std::unique_ptr< Wave_pressure_solver< T > >
template <class T, int N, Policy P>
make_wetted_surface_solver() -> std::unique_ptr< Wetted_surface_solver< T, N > >
template <class T, int N>
moving_average_white_noise_variance(const blitz::Array< T, N > & acf, const blitz::Array< T, N > & theta) -> T
template <class T>
operator<<(std::ostream & out, const Wave_statistics< T > & rhs) -> std::ostream &
pow2(double x) -> double
pow2(float x) -> float
template <class T, int N>
shallow_water_wave_angular_frequency(T length, Vector< T, N > normal, T depth) -> T
template <class T, int N>
shallow_water_wave_angular_frequency(const blitz::TinyVector< T, N > & k, T depth) -> T
template <class T, int N>
stokes_wave_angular_frequency(const Vector< T, N > & wave_vector, T amplitude) -> T
supported_policies() -> std::vector< Policy >
template <class T>
temporal_wave_statistics(blitz::Array< T, 1 > surface, const Grid< T, 1 > & grid) -> Wave_statistics< T >
template <class T, int N>
wave_number_grid(const Wave_statistics_vector< T, N > & waves) -> Grid< T, N >
template <class T>
wave_statistics(blitz::Array< T, 2 > surface, const Grid< T, 2 > & grid) -> Wave_statistics_vector< T, 2 >