Go to the source code of this file.
|
| namespace | shamrock |
| | namespace for the main framework
|
| |
|
| template<class flt , class T > |
| void | shamrock::integrators::forward_euler (sham::DeviceQueue &queue, sham::DeviceBuffer< T > &buf_val, sham::DeviceBuffer< T > &buf_der, sycl::range< 1 > elem_range, flt dt) |
| | Perform forward Euler integration step.
|
| |
| template<class flt , class T > |
| void | shamrock::integrators::leapfrog_corrector (sham::DeviceQueue &queue, sham::DeviceBuffer< T > &buf_val, sham::DeviceBuffer< T > &buf_der, sham::DeviceBuffer< T > &buf_der_old, sham::DeviceBuffer< flt > &buf_eps_sq, sycl::range< 1 > elem_range, flt hdt) |
| | Perform leapfrog corrector step with adaptive softening.
|
| |
| template<class T > |
| void | shamrock::utilities::sycl_position_modulo (sham::DeviceQueue &queue, sham::DeviceBuffer< T > &buf_xyz, sycl::range< 1 > elem_range, std::pair< T, T > box) |
| | Apply periodic boundary conditions to positions.
|
| |
| template<class T > |
| void | shamrock::utilities::sycl_position_sheared_modulo (sham::DeviceQueue &queue, sham::DeviceBuffer< T > &buf_xyz, sham::DeviceBuffer< T > &buf_vxyz, sycl::range< 1 > elem_range, std::pair< T, T > box, i32_3 shear_base, i32_3 shear_dir, shambase::VecComponent< T > shear_value, shambase::VecComponent< T > shear_speed) |
| | Apply periodic boundary conditions with shearing.
|
| |
| template<class T > |
| void | shamrock::utilities::swap_fields (sham::DeviceQueue &queue, sham::DeviceBuffer< T > &b1, sham::DeviceBuffer< T > &b2, u32 cnt) |
| | Swap contents of two buffers.
|
| |
◆ forward_euler()
template<class flt , class T >
Perform forward Euler integration step.
- Template Parameters
-
| flt | Floating point type for time step |
| T | Value type |
- Parameters
-
| queue | Device queue to submit operation |
| buf_val | Values to integrate |
| buf_der | Derivatives |
| elem_range | Number of elements to process |
| dt | Time step |
Definition at line 30 of file integrators.cpp.
◆ leapfrog_corrector()
template<class flt , class T >
Perform leapfrog corrector step with adaptive softening.
- Template Parameters
-
| flt | Floating point type for time step |
| T | Value type |
- Parameters
-
| queue | Device queue to submit operation |
| buf_val | Values to integrate |
| buf_der | Current derivatives |
| buf_der_old | Previous derivatives |
| buf_eps_sq | Squared softening parameter per element |
| elem_range | Number of elements to process |
| hdt | Half time step |
Definition at line 87 of file integrators.cpp.
◆ swap_fields()
Swap contents of two buffers.
- Template Parameters
-
- Parameters
-
| queue | Device queue to submit operation |
| b1 | First buffer |
| b2 | Second buffer |
| cnt | Number of elements to swap |
Definition at line 313 of file integrators.cpp.
◆ sycl_position_modulo()
Apply periodic boundary conditions to positions.
- Template Parameters
-
| T | Vector type for positions |
- Parameters
-
| queue | Device queue to submit operation |
| buf_xyz | Position buffer |
| elem_range | Number of elements to process |
| box | Box bounds (min, max) |
Definition at line 162 of file integrators.cpp.
◆ sycl_position_sheared_modulo()
template<class T >
| void shamrock::utilities::sycl_position_sheared_modulo |
( |
sham::DeviceQueue & |
queue, |
|
|
sham::DeviceBuffer< T > & |
buf_xyz, |
|
|
sham::DeviceBuffer< T > & |
buf_vxyz, |
|
|
sycl::range< 1 > |
elem_range, |
|
|
std::pair< T, T > |
box, |
|
|
i32_3 |
shear_base, |
|
|
i32_3 |
shear_dir, |
|
|
shambase::VecComponent< T > |
shear_value, |
|
|
shambase::VecComponent< T > |
shear_speed |
|
) |
| |
Apply periodic boundary conditions with shearing.
- Template Parameters
-
| T | Vector type for positions and velocities |
- Parameters
-
| queue | Device queue to submit operation |
| buf_xyz | Position buffer |
| buf_vxyz | Velocity buffer |
| elem_range | Number of elements to process |
| box | Box bounds (min, max) |
| shear_base | Direction perpendicular to shear plane |
| shear_dir | Shear direction |
| shear_value | Shear displacement per box crossing |
| shear_speed | Velocity correction per box crossing |
Definition at line 211 of file integrators.cpp.