35namespace shammodels::gsph {
67 template<
class Tvec,
class Tscal>
82 Tvec v_star_vec = v_star * r_ab_unit;
86 Tscal sub_fact_a = rho_a_sq * omega_a;
87 Tscal sub_fact_b = rho_b_sq * omega_b;
93 return -sycl::dot(f, v_star_vec - v_a);
118 template<
class Tvec,
class Tscal>
134 const Tscal rho_a_sq = rho_a * rho_a;
135 const Tscal rho_b_sq = rho_b * rho_b;
138 Tvec nabla_W_a = Fab_a * r_ab_unit;
139 Tvec nabla_W_b = Fab_b * r_ab_unit;
143 dv_dt += shamrock::sph::sph_pressure_symetric<Tvec, Tscal>(
144 m_b, rho_a_sq, rho_b_sq, p_star, p_star, omega_a, omega_b, nabla_W_a, nabla_W_b);
147 du_dt += gsph_energy_rate<Tvec, Tscal>(
void add_gsph_force_contribution(Tscal m_b, Tscal p_star, Tscal v_star, Tscal rho_a, Tscal rho_b, Tscal omega_a, Tscal omega_b, Tscal Fab_a, Tscal Fab_b, Tvec r_ab_unit, Tvec v_a, Tvec &dv_dt, Tscal &du_dt)
Add GSPH force contribution from a single neighbor pair.
Tscal gsph_energy_rate(Tscal m_b, Tscal p_star, Tscal v_star, Tscal rho_a_sq, Tscal rho_b_sq, Tscal omega_a, Tscal omega_b, Tvec v_a, Tvec r_ab_unit, Tvec nabla_W_a, Tvec nabla_W_b)
Compute GSPH energy equation contribution.
Iterative Riemann solver for GSPH (van Leer 1997)
T inv_sat_zero(T v, T satval=T{0.}) noexcept
inverse saturated (zero version)
file containing formulas for sph forces