25 namespace integrators {
38 template<
class flt,
class T>
40 sham::DeviceQueue &queue,
41 sham::DeviceBuffer<T> &buf_val,
42 sham::DeviceBuffer<T> &buf_der,
43 sycl::range<1> elem_range,
59 template<
class flt,
class T>
61 sham::DeviceQueue &queue,
62 sham::DeviceBuffer<T> &buf_val,
63 sham::DeviceBuffer<T> &buf_der,
64 sham::DeviceBuffer<T> &buf_der_old,
65 sham::DeviceBuffer<flt> &buf_eps_sq,
66 sycl::range<1> elem_range,
83 sham::DeviceQueue &queue,
84 sham::DeviceBuffer<T> &buf_xyz,
85 sycl::range<1> elem_range,
104 sham::DeviceQueue &queue,
105 sham::DeviceBuffer<T> &buf_xyz,
106 sham::DeviceBuffer<T> &buf_vxyz,
107 sycl::range<1> elem_range,
111 shambase::VecComponent<T> shear_value,
112 shambase::VecComponent<T> shear_speed);
125 sham::DeviceQueue &queue,
126 sham::DeviceBuffer<T> &b1,
127 sham::DeviceBuffer<T> &b2,
Header file describing a Node Instance.
std::uint32_t u32
32 bit unsigned integer
void 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.
void 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.
void 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.
void 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.
void swap_fields(sham::DeviceQueue &queue, sham::DeviceBuffer< T > &b1, sham::DeviceBuffer< T > &b2, u32 cnt)
Swap contents of two buffers.
namespace for the main framework