53 auto edges = get_edges();
55 edges.spans_positions.check_sizes(edges.sizes.indexes);
56 edges.spans_accel_ext.ensure_sizes(edges.sizes.indexes);
58 Tscal Omega_0 = edges.omega_0.data;
59 Tscal q = edges.q.data;
61 Tscal Omega_0_sq = Omega_0 * Omega_0;
64 shamsys::instance::get_compute_scheduler_ptr(),
66 edges.spans_positions.get_spans(), edges.spans_velocities.get_spans()},
69 [Omega_0, Omega_0_sq, q](
70 u32 gid,
const Tvec *xyz,
const Tvec *vxyz, Tvec *axyz_ext) {
73 axyz_ext[gid] += Tvec{
74 2 * Omega_0 * (q * Omega_0 * r_a.x() + v_a.y()),
75 -2 * Omega_0 * v_a.x(),
76 -Omega_0_sq * r_a.z()};