1 #include <vtestbed/config/opencl.hh> 2 #include <vtestbed/config/real_type.hh> 3 #include <vtestbed/core/derivative.hh> 4 #include <vtestbed/core/math.hh> 5 #include <vtestbed/core/velocity_potential.hh> 6 #include <vtestbed/core/wave_numbers.hh> 8 using vtb::core::Policy;
14 const Array3<T>& zeta,
17 if (this->assumptions().small_amplitude()) {
18 result = -derivative<T,3>(zeta, grid_tzxy.
delta(0), 0);
23 Array3<T> zeta_t(derivative<T,3>(zeta, grid_tzxy.
delta(0), 0));
24 Array3<T> zeta_x(derivative<T,3>(zeta, grid_tzxy.
delta(2), 1));
25 Array3<T> zeta_y(derivative<T,3>(zeta, grid_tzxy.
delta(3), 2));
26 Array3<T> sqrt_zeta(sqrt(T{1} + pow2(zeta_x) + pow2(zeta_y)));
29 (i*((zeta_x + zeta_y)/sqrt_zeta - zeta_x - zeta_y) -
const T delta(int i) const
The size of the patch (interval) for dimension i.
Base class for all velocity potential solvers.
Base class for linear velocity potential solver.
void second_function(const Grid< T, 4 > &grid_tzxy, const Array3< T > &wavy_surface, Array3< C > &result)
Computes second function.