Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
SWIFT
SWIFTsim
Commits
7eb23d60
Commit
7eb23d60
authored
Apr 21, 2017
by
Matthieu Schaller
Browse files
Merge branch 'gravity_multi_dt'
parents
39ed5454
64fc8b32
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/cell.c
View file @
7eb23d60
...
...
@@ -1106,6 +1106,7 @@ void cell_reset_task_counters(struct cell *c) {
* @brief Recursively construct all the multipoles in a cell hierarchy.
*
* @param c The #cell.
* @param ti_current The current integer time.
*/
void
cell_make_multipoles
(
struct
cell
*
c
,
integertime_t
ti_current
)
{
...
...
src/multipole.h
View file @
7eb23d60
...
...
@@ -2525,8 +2525,8 @@ INLINE static void gravity_L2P(const struct grav_tensor *lb,
* @param ma The #multipole of the first #cell.
* @param mb The #multipole of the second #cell.
* @param theta_crit_inv The inverse of the critical opening angle.
* @param Are we using the current value of CoM or the ones from
the last
* rebuild ?
* @param
rebuild
Are we using the current value of CoM or the ones from
*
the last
rebuild ?
*/
__attribute__
((
always_inline
))
INLINE
static
int
gravity_multipole_accept
(
const
struct
gravity_tensors
*
ma
,
const
struct
gravity_tensors
*
mb
,
...
...
@@ -2546,6 +2546,8 @@ __attribute__((always_inline)) INLINE static int gravity_multipole_accept(
const
double
r2
=
dx
*
dx
+
dy
*
dy
+
dz
*
dz
;
// MATTHIEU: Make this mass-dependent ?
/* Multipole acceptance criterion (Dehnen 2002, eq.10) */
return
(
r2
>
(
r_crit_a
+
r_crit_b
)
*
(
r_crit_a
+
r_crit_b
));
}
...
...
src/runner_doiact_grav.h
View file @
7eb23d60
...
...
@@ -650,6 +650,7 @@ void runner_do_grav_long_range(struct runner *r, struct cell *ci, int timer) {
theta_crit_inv
,
1
))
{
/* Alright, we have to take charge of that pair in a different way. */
// MATTHIEU: We should actually open the tree-node here and recurse.
runner_dopair_grav_mm
(
r
,
ci
,
cj
);
}
}
...
...
src/space.c
View file @
7eb23d60
...
...
@@ -2197,11 +2197,11 @@ void space_split_recursive(struct space *s, struct cell *c,
c
->
multipole
->
CoM
[
2
]
=
c
->
loc
[
2
]
+
c
->
width
[
2
]
/
2
.;
c
->
multipole
->
r_max
=
0
.;
}
c
->
multipole
->
r_max_rebuild
=
c
->
multipole
->
r_max
;
c
->
multipole
->
CoM_rebuild
[
0
]
=
c
->
multipole
->
CoM
[
0
];
c
->
multipole
->
CoM_rebuild
[
1
]
=
c
->
multipole
->
CoM
[
1
];
c
->
multipole
->
CoM_rebuild
[
2
]
=
c
->
multipole
->
CoM
[
2
];
}
c
->
multipole
->
r_max_rebuild
=
c
->
multipole
->
r_max
;
c
->
multipole
->
CoM_rebuild
[
0
]
=
c
->
multipole
->
CoM
[
0
];
c
->
multipole
->
CoM_rebuild
[
1
]
=
c
->
multipole
->
CoM
[
1
];
c
->
multipole
->
CoM_rebuild
[
2
]
=
c
->
multipole
->
CoM
[
2
];
}
/* Set the values for this cell. */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment