Neko 1.99.6
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
lpt_wall_collision_kernel.h File Reference
#include <math.h>
#include <sem/bcknd/device/cuda/coef_kernel.h>
Include dependency graph for lpt_wall_collision_kernel.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

__device__ int lpt_wall_dof_idx (const int i, const int j, const int k, const int e, const int lx, const int ly, const int lz)
 
__device__ int lpt_wall_mask_idx (const int facet, const int el, const int n_facets)
 
__device__ int lpt_wall_imax (const int a, const int b)
 
template<typename T >
__device__ T lpt_norm3 (const T x, const T y, const T z)
 
template<typename T >
__device__ void lpt_wall_facet_center (const T *__restrict__ dm_x, const T *__restrict__ dm_y, const T *__restrict__ dm_z, const int lx, const int ly, const int lz, const int el, const int facet, T &wall_x, T &wall_y, T &wall_z)
 
template<typename T >
__device__ void lpt_wall_facet_normal (const T *__restrict__ nx, const T *__restrict__ ny, const T *__restrict__ nz, const int lx, const int ly, const int lz, const int el, const int facet, T &normal_x, T &normal_y, T &normal_z)
 
template<typename T >
__device__ T lpt_signed_plane_distance (const T x, const T y, const T z, const T wall_x, const T wall_y, const T wall_z, const T normal_x, const T normal_y, const T normal_z)
 
template<typename T >
__device__ bool lpt_wall_facet_is_hit (const int *__restrict__ wall_facet_mask, const T *__restrict__ dm_x, const T *__restrict__ dm_y, const T *__restrict__ dm_z, const T *__restrict__ nx, const T *__restrict__ ny, const T *__restrict__ nz, const int lx, const int ly, const int lz, const int el, const int facet, const int gdim, const T x_old, const T y_old, const T z_old, const T x, const T y, const T z, const T radius)
 
template<typename T >
__device__ void lpt_reflect_position (T &x, T &y, T &z, const T wall_x, const T wall_y, const T wall_z, const T normal_x, const T normal_y, const T normal_z, const T radius)
 
template<typename T >
__device__ void lpt_reflect_vector_components (T &x, T &y, T &z, const T normal_x, const T normal_y, const T normal_z)
 
template<typename T >
__global__ void lpt_handle_elastic_wall_collisions_kernel (const int *__restrict__ wall_facet_mask, const int *__restrict__ el_list, const T *__restrict__ x_old, const T *__restrict__ y_old, const T *__restrict__ z_old, T *__restrict__ x, T *__restrict__ y, T *__restrict__ z, const T *__restrict__ d, T *__restrict__ u, T *__restrict__ v, T *__restrict__ w, T *__restrict__ u_lag, T *__restrict__ v_lag, T *__restrict__ w_lag, T *__restrict__ u_laglag, T *__restrict__ v_laglag, T *__restrict__ w_laglag, T *__restrict__ acc_xlag, T *__restrict__ acc_ylag, T *__restrict__ acc_zlag, T *__restrict__ acc_xlaglag, T *__restrict__ acc_ylaglag, T *__restrict__ acc_zlaglag, T *__restrict__ u_old, T *__restrict__ v_old, T *__restrict__ w_old, T *__restrict__ acc_x, T *__restrict__ acc_y, T *__restrict__ acc_z, const T *__restrict__ dm_x, const T *__restrict__ dm_y, const T *__restrict__ dm_z, const T *__restrict__ nx, const T *__restrict__ ny, const T *__restrict__ nz, const int n, const int gdim, const int nelv, const int lx, const int ly, const int lz, const int lag_len)
 

Function Documentation

◆ lpt_handle_elastic_wall_collisions_kernel()

template<typename T >
__global__ void lpt_handle_elastic_wall_collisions_kernel ( const int *__restrict__  wall_facet_mask,
const int *__restrict__  el_list,
const T *__restrict__  x_old,
const T *__restrict__  y_old,
const T *__restrict__  z_old,
T *__restrict__  x,
T *__restrict__  y,
T *__restrict__  z,
const T *__restrict__  d,
T *__restrict__  u,
T *__restrict__  v,
T *__restrict__  w,
T *__restrict__  u_lag,
T *__restrict__  v_lag,
T *__restrict__  w_lag,
T *__restrict__  u_laglag,
T *__restrict__  v_laglag,
T *__restrict__  w_laglag,
T *__restrict__  acc_xlag,
T *__restrict__  acc_ylag,
T *__restrict__  acc_zlag,
T *__restrict__  acc_xlaglag,
T *__restrict__  acc_ylaglag,
T *__restrict__  acc_zlaglag,
T *__restrict__  u_old,
T *__restrict__  v_old,
T *__restrict__  w_old,
T *__restrict__  acc_x,
T *__restrict__  acc_y,
T *__restrict__  acc_z,
const T *__restrict__  dm_x,
const T *__restrict__  dm_y,
const T *__restrict__  dm_z,
const T *__restrict__  nx,
const T *__restrict__  ny,
const T *__restrict__  nz,
const int  n,
const int  gdim,
const int  nelv,
const int  lx,
const int  ly,
const int  lz,
const int  lag_len 
)

Definition at line 293 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:

◆ lpt_norm3()

template<typename T >
__device__ T lpt_norm3 ( const T  x,
const T  y,
const T  z 
)
inline

Definition at line 62 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_reflect_position()

template<typename T >
__device__ void lpt_reflect_position ( T x,
T y,
T z,
const T  wall_x,
const T  wall_y,
const T  wall_z,
const T  normal_x,
const T  normal_y,
const T  normal_z,
const T  radius 
)
inline

Definition at line 237 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_reflect_vector_components()

template<typename T >
__device__ void lpt_reflect_vector_components ( T x,
T y,
T z,
const T  normal_x,
const T  normal_y,
const T  normal_z 
)
inline

Definition at line 270 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_signed_plane_distance()

template<typename T >
__device__ T lpt_signed_plane_distance ( const T  x,
const T  y,
const T  z,
const T  wall_x,
const T  wall_y,
const T  wall_z,
const T  normal_x,
const T  normal_y,
const T  normal_z 
)
inline

Definition at line 157 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_wall_dof_idx()

__device__ int lpt_wall_dof_idx ( const int  i,
const int  j,
const int  k,
const int  e,
const int  lx,
const int  ly,
const int  lz 
)
inline

Definition at line 41 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_wall_facet_center()

template<typename T >
__device__ void lpt_wall_facet_center ( const T *__restrict__  dm_x,
const T *__restrict__  dm_y,
const T *__restrict__  dm_z,
const int  lx,
const int  ly,
const int  lz,
const int  el,
const int  facet,
T wall_x,
T wall_y,
T wall_z 
)
inline

Definition at line 67 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_wall_facet_is_hit()

template<typename T >
__device__ bool lpt_wall_facet_is_hit ( const int *__restrict__  wall_facet_mask,
const T *__restrict__  dm_x,
const T *__restrict__  dm_y,
const T *__restrict__  dm_z,
const T *__restrict__  nx,
const T *__restrict__  ny,
const T *__restrict__  nz,
const int  lx,
const int  ly,
const int  lz,
const int  el,
const int  facet,
const int  gdim,
const T  x_old,
const T  y_old,
const T  z_old,
const T  x,
const T  y,
const T  z,
const T  radius 
)
inline

Definition at line 177 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_wall_facet_normal()

template<typename T >
__device__ void lpt_wall_facet_normal ( const T *__restrict__  nx,
const T *__restrict__  ny,
const T *__restrict__  nz,
const int  lx,
const int  ly,
const int  lz,
const int  el,
const int  facet,
T normal_x,
T normal_y,
T normal_z 
)
inline

Definition at line 116 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_wall_imax()

__device__ int lpt_wall_imax ( const int  a,
const int  b 
)
inline

Definition at line 57 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lpt_wall_mask_idx()

__device__ int lpt_wall_mask_idx ( const int  facet,
const int  el,
const int  n_facets 
)
inline

Definition at line 51 of file lpt_wall_collision_kernel.h.

Here is the call graph for this function:
Here is the caller graph for this function: