Neko 1.99.3
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
richardson_kernel.h File Reference
#include <cmath>
#include <algorithm>
Include dependency graph for richardson_kernel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<typename T >
__device__ T f_tau_stable (T Ri_b)
 
template<typename T >
__device__ T f_theta_stable (T Ri_b)
 
template<typename T >
__device__ T tau_stable (T magu, T Ri_b, T h, T z0, T kappa)
 
template<typename T >
__device__ T heat_flux_stable (T ti, T ts, T Ri_b, T h, T z0h, T utau, T kappa, T Pr)
 
template<typename T >
__device__ T f_tau_convective (T Ri_b, T c)
 
template<typename T >
__device__ T f_theta_convective (T Ri_b, T c)
 
template<typename T >
__device__ T tau_convective (T magu, T Ri_b, T h, T z0, T kappa)
 
template<typename T >
__device__ T heat_flux_convective (T ti, T ts, T Ri_b, T h, T magu, T z0h, T kappa)
 
template<typename T >
__device__ T tau_neutral (T magu, T h, T z0, T kappa)
 
template<typename T >
__device__ T heat_flux_neutral (T ti, T ts, T h, T z0h, T utau, T kappa)
 
template<typename T , int BC_TYPE>
__global__ void richardson_compute (const T *__restrict__ u_d, const T *__restrict__ v_d, const T *__restrict__ w_d, const T *__restrict__ temp_d, const T *__restrict__ h_d, const T *__restrict__ n_x_d, const T *__restrict__ n_y_d, const T *__restrict__ n_z_d, const int *__restrict__ ind_r_d, const int *__restrict__ ind_s_d, const int *__restrict__ ind_t_d, const int *__restrict__ ind_e_d, T *__restrict__ tau_x_d, T *__restrict__ tau_y_d, T *__restrict__ tau_z_d, int n_nodes, int lx, 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, const int *__restrict__ h_x_idx, const int *__restrict__ h_y_idx, const int *__restrict__ h_z_idx)
 

Function Documentation

◆ f_tau_convective()

template<typename T >
__device__ T f_tau_convective ( T  Ri_b,
T  c 
)

Definition at line 77 of file richardson_kernel.h.

Here is the call graph for this function:

◆ f_tau_stable()

template<typename T >
__device__ T f_tau_stable ( T  Ri_b)

Definition at line 47 of file richardson_kernel.h.

Here is the call graph for this function:

◆ f_theta_convective()

template<typename T >
__device__ T f_theta_convective ( T  Ri_b,
T  c 
)

Definition at line 83 of file richardson_kernel.h.

Here is the call graph for this function:

◆ f_theta_stable()

template<typename T >
__device__ T f_theta_stable ( T  Ri_b)

Definition at line 53 of file richardson_kernel.h.

Here is the call graph for this function:

◆ heat_flux_convective()

template<typename T >
__device__ T heat_flux_convective ( T  ti,
T  ts,
T  Ri_b,
T  h,
T  magu,
T  z0h,
T  kappa 
)

Definition at line 100 of file richardson_kernel.h.

Here is the call graph for this function:

◆ heat_flux_neutral()

template<typename T >
__device__ T heat_flux_neutral ( T  ti,
T  ts,
T  h,
T  z0h,
T  utau,
T  kappa 
)

Definition at line 121 of file richardson_kernel.h.

Here is the call graph for this function:

◆ heat_flux_stable()

template<typename T >
__device__ T heat_flux_stable ( T  ti,
T  ts,
T  Ri_b,
T  h,
T  z0h,
T  utau,
T  kappa,
T  Pr 
)

Definition at line 66 of file richardson_kernel.h.

Here is the call graph for this function:

◆ richardson_compute()

template<typename T , int BC_TYPE>
__global__ void richardson_compute ( const T *__restrict__  u_d,
const T *__restrict__  v_d,
const T *__restrict__  w_d,
const T *__restrict__  temp_d,
const T *__restrict__  h_d,
const T *__restrict__  n_x_d,
const T *__restrict__  n_y_d,
const T *__restrict__  n_z_d,
const int *__restrict__  ind_r_d,
const int *__restrict__  ind_s_d,
const int *__restrict__  ind_t_d,
const int *__restrict__  ind_e_d,
T *__restrict__  tau_x_d,
T *__restrict__  tau_y_d,
T *__restrict__  tau_z_d,
int  n_nodes,
int  lx,
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,
const int *__restrict__  h_x_idx,
const int *__restrict__  h_y_idx,
const int *__restrict__  h_z_idx 
)

Definition at line 130 of file richardson_kernel.h.

Here is the call graph for this function:

◆ tau_convective()

template<typename T >
__device__ T tau_convective ( T  magu,
T  Ri_b,
T  h,
T  z0,
T  kappa 
)

Definition at line 90 of file richardson_kernel.h.

Here is the call graph for this function:

◆ tau_neutral()

template<typename T >
__device__ T tau_neutral ( T  magu,
T  h,
T  z0,
T  kappa 
)

Definition at line 114 of file richardson_kernel.h.

Here is the call graph for this function:

◆ tau_stable()

template<typename T >
__device__ T tau_stable ( T  magu,
T  Ri_b,
T  h,
T  z0,
T  kappa 
)

Definition at line 59 of file richardson_kernel.h.

Here is the call graph for this function: