|
Neko 1.99.6
A portable framework for high-order spectral element flow simulations
|
Periodic and cyclic boundary-condition support for LPT.
Data Types | |
| type | lpt_periodic_bc_t |
Functions/Subroutines | |
| subroutine | lpt_periodic_bc_free (this) |
| Free periodic-boundary wrapping metadata. | |
| subroutine | lpt_periodic_bc_init (this, msh, dm_xh, coef) |
| Initialise rotational or translational periodic wrapping from the mesh. | |
| subroutine | lpt_periodic_bc_wrap (this, x, y, z, n, 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) |
| Wrap particle positions and optional vector histories across boundaries. | |
| subroutine | lpt_periodic_bc_sync_from_device (x, y, z, 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) |
| Copy wrapped particle coordinates and optional histories back to host. | |
| subroutine | lpt_periodic_bc_reset (this) |
| Reset all periodic wrapping flags, directions, and extents. | |
| subroutine | lpt_periodic_bc_init_rotational (this, msh, dm_xh, coef) |
| Detect and initialise rotational periodic wrapping. | |
| subroutine | lpt_periodic_bc_init_translational (this, msh) |
| Detect unique translational periodic directions from facet pairs. | |
| subroutine | lpt_get_facet_points (msh, el, facet, pts) |
| Gather the corner points of a mesh facet. | |
| subroutine | lpt_get_periodic_center (msh, i_periodic, pt) |
| Compute the geometric center of a periodic source facet. | |
| subroutine | lpt_normalize (v) |
| Normalise a 3-vector when its norm is above LPT periodic tolerance. | |
| subroutine | lpt_periodic_bc_clear_translational (this) |
| Clear translational periodic direction, extent, and shift storage. | |
| pure real(kind=rp) function, dimension(3) | lpt_periodic_bc_get_dir (this, idx) |
| subroutine | lpt_periodic_bc_set_translational (this, idx, dir, periodic_min, periodic_max, shift, periodic_len) |
| Store one translational periodic wrapping direction. | |
Variables | |
| real(kind=rp), parameter | lpt_periodic_tol = 1.0e-8_rp |
|
private |
| msh | Mesh containing the element. |
| el | Local element index. |
| facet | Facet index on the element. |
| pts | Output corner coordinates. |
Definition at line 437 of file lpt_periodic_bc.f90.

|
private |
| msh | Mesh containing periodic metadata. |
| i_periodic | Periodic-facet entry index. |
| pt | Output facet-center coordinate. |
Definition at line 472 of file lpt_periodic_bc.f90.


| v | Vector to normalise in place. |
Definition at line 487 of file lpt_periodic_bc.f90.

|
private |
| subroutine lpt_periodic_bc::lpt_periodic_bc_free | ( | class(lpt_periodic_bc_t), intent(inout) | this | ) |
Definition at line 102 of file lpt_periodic_bc.f90.
|
private |
| msh | Mesh containing periodic facet pairing. |
| dm_Xh | Coordinate dofmap used for rotational extents. |
| coef | Coefficients used to identify cyclic geometry. |
Definition at line 112 of file lpt_periodic_bc.f90.
|
private |
| msh | Mesh used to determine dimensionality. |
| dm_Xh | Coordinate dofmap used to compute angular extents. |
| coef | Coefficients carrying cyclic-geometry metadata. |
Definition at line 260 of file lpt_periodic_bc.f90.
|
private |
| msh | Mesh containing periodic facet-pair metadata. |
Definition at line 296 of file lpt_periodic_bc.f90.

|
private |
|
private |
| idx | Direction slot in the fixed three-direction storage. |
| dir | Unit direction of periodic wrapping. |
| periodic_min | Minimum coordinate projected on dir. |
| periodic_max | Maximum coordinate projected on dir. |
| shift | Translation vector between paired facets. |
| periodic_len | Periodic length along dir. |
Definition at line 555 of file lpt_periodic_bc.f90.

|
private |
|
private |
| x | Particle x coordinates. |
| y | Particle y coordinates. |
| z | Particle z coordinates. |
| n | Number of local particles. |
Definition at line 133 of file lpt_periodic_bc.f90.
