177 return 2*log(0.5*(1 +
xi)) + log(0.5*(1 +
xi*
xi)) - 2*
atan(
xi) + pi/2;
187 return 2*log(0.5*(1 +
xi*
xi));
291template<
typename T,
int BC_TYPE>
326 if(idx >= n_nodes)
return;
331 const int max_iter = 50;
333 for (
int i = idx;
i < n_nodes;
i +=
str) {
355 magu =
fmax(magu, (
T)1
e-6);
358 T utau = kappa * magu / log(
hi/z0);
363 z0h = z0 *
exp(z0h_in *
sqrt((utau*z0)/(mu/rho)));
376 q = kappa/
Pr*utau*(ts-ti)/log(
hi/
z0h);
405 for (
int it = 0; it < max_iter; ++it) {
__global__ void ale_add_kinematics_kernel(const int n, T *__restrict__ wx, T *__restrict__ wy, T *__restrict__ wz, const T *__restrict__ x_ref, const T *__restrict__ y_ref, const T *__restrict__ z_ref, const T *__restrict__ phi, const T *__restrict__ x, const T *__restrict__ y, const T *__restrict__ z, const kinematics_params_t kin_params)
__device__ T slaw_m_neutral(T z, T z0)
__global__ void most_compute(const T *__restrict__ u_d, const T *__restrict__ v_d, const T *__restrict__ w_d, const T *__restrict__ temp_d, const T *__restrict__ temp_w_d, const T *__restrict__ h_d, const T *__restrict__ n_x_d, const T *__restrict__ n_y_d, const T *__restrict__ n_z_d, T *__restrict__ tau_x_d, T *__restrict__ tau_y_d, T *__restrict__ tau_z_d, int n_nodes, T kappa, const T *__restrict__ mu_w_d, const T *__restrict__ rho_w_d, T g1, T g2, T g3, T Pr, T z0, T z0h_in, T bc_value, T *__restrict__ Ri_b_diagn, T *__restrict__ L_ob_diagn, T *__restrict__ utau_diagn, T *__restrict__ magu_diagn, T *__restrict__ ti_diagn, T *__restrict__ ts_diagn, T *__restrict__ q_diagn)
__device__ T slaw_h_neutral(T z, T z0h)
__device__ T slaw_m_convective(T z, T L_ob, T z0)
__device__ T slaw_h_stable(T z, T L_ob, T z0h)
__device__ T corr_h_convective(T z, T L_ob)
__device__ T corr_m_convective(T z, T L_ob)
__device__ T f_dirichlet_stable(T Ri_b, T z, T z0, T z0h, T L_ob, T Pr)
__device__ T corr_h_stable(T z, T L_ob)
__device__ T slaw_m_stable(T z, T L_ob, T z0)
__device__ T dfdl_neumann_convective(T l_upper, T l_lower, T z, T z0, T z0h, T fd_h, T Pr)
__device__ T dfdl_dirichlet_convective(T l_upper, T l_lower, T z, T z0, T z0h, T fd_h, T Pr)
__device__ T slaw_h_convective(T z, T L_ob, T z0h)
__device__ T f_neumann_stable(T Ri_b, T z, T z0, T z0h, T L_ob, T Pr)
__device__ T f_neumann_convective(T Ri_b, T z, T z0, T z0h, T L_ob, T Pr)
__device__ T corr_m_stable(T z, T L_ob)
__device__ T dfdl_neumann_stable(T l_upper, T l_lower, T z, T z0, T z0h, T fd_h, T Pr)
__device__ T f_dirichlet_convective(T Ri_b, T z, T z0, T z0h, T L_ob, T Pr)
__device__ T dfdl_dirichlet_stable(T l_upper, T l_lower, T z, T z0, T z0h, T fd_h, T Pr)