Neko 1.99.6
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
lpt_wall_collision_cpu.f90 File Reference

Go to the source code of this file.

Modules

module  lpt_wall_collision_cpu
 CPU implementation for LPT wall-collision handling.
 

Functions/Subroutines

subroutine, public lpt_wall_collision_cpu::lpt_handle_elastic_wall_collisions_cpu (msh, dm_xh, coef, wall_facet_mask, el_list, x_old, y_old, z_old, x, y, z, d, u, v, w, u_lag, v_lag, w_lag, u_laglag, v_laglag, w_laglag, acc_xlag, acc_ylag, acc_zlag, acc_xlaglag, acc_ylaglag, acc_zlaglag, u_old, v_old, w_old, acc_x, acc_y, acc_z, lag_len, n)
 Reflect inertial particles that hit configured wall facets on the CPU.
 
logical function lpt_wall_collision_cpu::wall_facet_is_hit (wall_facet_mask, dm_x, dm_y, dm_z, lx, ly, lz, coef, x_old, y_old, z_old, x, y, z, radius, el, facet, gdim)
 Return true if the particle surface reaches a given wall facet.
 
subroutine lpt_wall_collision_cpu::wall_facet_normal (coef, lx, ly, lz, el, facet, normal)
 Use the face-center SEM normal as the reflection normal.
 
subroutine lpt_wall_collision_cpu::wall_facet_center (dm_x, dm_y, dm_z, lx, ly, lz, el, facet, wall_point)
 Return the facet-center position that matches the reflection normal.
 
subroutine lpt_wall_collision_cpu::reflect_position (x, y, z, wall_point, normal, radius)
 Reflect the particle center across the contact plane located one radius inward from the wall plane.
 
pure real(kind=rp) function lpt_wall_collision_cpu::signed_plane_distance (x, y, z, wall_point, normal)
 Return signed distance from a point to a wall plane.
 
pure subroutine lpt_wall_collision_cpu::reflect_vector (vec, normal)
 Reflect a vector across a plane with the supplied normal.
 
pure subroutine lpt_wall_collision_cpu::reflect_vector_components (x, y, z, normal)
 Reflect vector components across a plane with the supplied normal.