Skip to content
Snippets Groups Projects
Commit 03e709c1 authored by Loic Hausammann's avatar Loic Hausammann
Browse files

Stars: improve skip criterion

parent 070f08a8
No related branches found
No related tags found
1 merge request!945Fix stars interaction
...@@ -299,7 +299,7 @@ void DO_SYM_PAIR1_STARS(struct runner *r, struct cell *ci, struct cell *cj, ...@@ -299,7 +299,7 @@ void DO_SYM_PAIR1_STARS(struct runner *r, struct cell *ci, struct cell *cj,
#endif #endif
const double dj_min = sort_j[0].d; const double dj_min = sort_j[0].d;
const float dx_max = (ci->stars.dx_max_sort + cj->hydro.dx_max_sort); const float dx_max = (ci->stars.dx_max_sort + cj->hydro.dx_max_sort);
const float dx_max_rshift = dx_max - rshift; const float hydro_dx_max_rshift = cj->hydro.dx_max_sort - rshift;
/* Loop over the sparts in ci. */ /* Loop over the sparts in ci. */
for (int pid = count_i - 1; for (int pid = count_i - 1;
...@@ -321,7 +321,7 @@ void DO_SYM_PAIR1_STARS(struct runner *r, struct cell *ci, struct cell *cj, ...@@ -321,7 +321,7 @@ void DO_SYM_PAIR1_STARS(struct runner *r, struct cell *ci, struct cell *cj,
px[2] * runner_shift[sid][2]; px[2] * runner_shift[sid][2];
/* Is there anything we need to interact with ? */ /* Is there anything we need to interact with ? */
const double di = dist + hi * kernel_gamma + dx_max_rshift; const double di = dist + hi * kernel_gamma + hydro_dx_max_rshift;
if (di < dj_min) continue; if (di < dj_min) continue;
/* Get some additional information about pi */ /* Get some additional information about pi */
...@@ -428,7 +428,7 @@ void DO_SYM_PAIR1_STARS(struct runner *r, struct cell *ci, struct cell *cj, ...@@ -428,7 +428,7 @@ void DO_SYM_PAIR1_STARS(struct runner *r, struct cell *ci, struct cell *cj,
struct spart *restrict sparts_j = cj->stars.parts; struct spart *restrict sparts_j = cj->stars.parts;
const double di_max = sort_i[count_i - 1].d - rshift; const double di_max = sort_i[count_i - 1].d - rshift;
const float dx_max = (ci->hydro.dx_max_sort + cj->stars.dx_max_sort); const float dx_max = (ci->hydro.dx_max_sort + cj->stars.dx_max_sort);
const float dx_max_rshift = dx_max - rshift; const float hydro_dx_max_rshift = ci->hydro.dx_max_sort - rshift;
/* Loop over the parts in cj. */ /* Loop over the parts in cj. */
for (int pjd = 0; pjd < count_j && sort_j[pjd].d - hj_max - dx_max < di_max; for (int pjd = 0; pjd < count_j && sort_j[pjd].d - hj_max - dx_max < di_max;
...@@ -450,7 +450,7 @@ void DO_SYM_PAIR1_STARS(struct runner *r, struct cell *ci, struct cell *cj, ...@@ -450,7 +450,7 @@ void DO_SYM_PAIR1_STARS(struct runner *r, struct cell *ci, struct cell *cj,
px[2] * runner_shift[sid][2]; px[2] * runner_shift[sid][2];
/* Is there anything we need to interact with ? */ /* Is there anything we need to interact with ? */
const double dj = dist - hj * kernel_gamma - dx_max_rshift; const double dj = dist - hj * kernel_gamma - hydro_dx_max_rshift;
if (dj - rshift > di_max) continue; if (dj - rshift > di_max) continue;
/* Get some additional information about pj */ /* Get some additional information about pj */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment