Skip to content
GitLab
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
3090ec1c
Commit
3090ec1c
authored
Feb 27, 2017
by
Bert Vandenbroucke
Browse files
Gizmo works again. Need to run more tests and make code mergable.
parent
4e917ae0
Changes
5
Hide whitespace changes
Inline
Side-by-side
src/hydro/Gizmo/hydro.h
View file @
3090ec1c
...
...
@@ -178,10 +178,10 @@ __attribute__((always_inline)) INLINE static void hydro_end_density(
* @param timeBase Conversion factor between integer time and physical time.
*/
__attribute__
((
always_inline
))
INLINE
static
void
hydro_prepare_force
(
struct
part
*
restrict
p
,
struct
xpart
*
restrict
xp
)
{
struct
part
*
restrict
p
,
struct
xpart
*
restrict
xp
,
double
timeBase
)
{
/* Set the physical time step */
p
->
force
.
dt
=
get_timestep
(
p
->
time_bin
,
0
.
);
// MATTHIEU 0
p
->
force
.
dt
=
get_timestep
(
p
->
time_bin
,
timeBase
);
// MATTHIEU 0
/* Initialize time step criterion variables */
p
->
timestepvars
.
vmax
=
0
.
0
f
;
...
...
@@ -375,7 +375,7 @@ __attribute__((always_inline)) INLINE static void hydro_end_force(
* @param half_dt Half the physical time step.
*/
__attribute__
((
always_inline
))
INLINE
static
void
hydro_kick_extra
(
struct
part
*
p
,
struct
xpart
*
xp
,
float
dt
)
{
struct
part
*
p
,
struct
xpart
*
xp
,
float
dt
,
integertime_t
ti_current
)
{
float
oldm
,
oldp
[
3
],
anew
[
3
];
const
float
half_dt
=
0
.
5
f
*
dt
;
// MATTHIEU
...
...
@@ -429,9 +429,9 @@ __attribute__((always_inline)) INLINE static void hydro_kick_extra(
/* Store gravitational acceleration and mass flux for next step */
p
->
gravity
.
old_a
[
0
]
=
anew
[
0
];
p
->
gravity
.
old_a
[
1
]
=
anew
[
1
];
p
->
gravity
.
old_a
[
2
]
=
anew
[
2
];
p
->
gravity
.
old_mflux
[
0
]
=
p
->
gravity
.
mflux
[
0
];
p
->
gravity
.
old_a
[
1
]
=
anew
[
1
];
p
->
gravity
.
old_mflux
[
1
]
=
p
->
gravity
.
mflux
[
1
];
p
->
gravity
.
old_mflux
[
2
]
=
p
->
gravity
.
mflux
[
2
];
}
...
...
@@ -444,6 +444,8 @@ __attribute__((always_inline)) INLINE static void hydro_kick_extra(
p
->
conserved
.
flux
.
momentum
[
1
]
=
0
.
0
f
;
p
->
conserved
.
flux
.
momentum
[
2
]
=
0
.
0
f
;
p
->
conserved
.
flux
.
energy
=
0
.
0
f
;
p
->
force
.
ti_end
=
get_integer_time_end
(
ti_current
,
p
->
time_bin
);
}
/**
...
...
src/hydro/Gizmo/hydro_iact.h
View file @
3090ec1c
...
...
@@ -413,8 +413,10 @@ __attribute__((always_inline)) INLINE static void runner_iact_fluxes_common(
*/
// MATTHIEU
const
integertime_t
pj_ti_end
=
0
;
// get_integer_time_end(pj->time_bin);
const
integertime_t
pi_ti_end
=
0
;
// get_integer_time_end(pi->time_bin);
// const integertime_t pj_ti_end = 0; // get_integer_time_end(pj->time_bin);
// const integertime_t pi_ti_end = 0; // get_integer_time_end(pi->time_bin);
integertime_t
pi_ti_end
=
pi
->
force
.
ti_end
;
integertime_t
pj_ti_end
=
pj
->
force
.
ti_end
;
if
(
mode
==
1
||
pj_ti_end
>
pi_ti_end
)
{
/* Store mass flux */
...
...
src/hydro/Gizmo/hydro_part.h
View file @
3090ec1c
...
...
@@ -178,6 +178,9 @@ struct part {
/* Physical time step of the particle. */
float
dt
;
/* Integer end time of the particle's time step. */
integertime_t
ti_end
;
/* Actual velocity of the particle. */
float
v_full
[
3
];
...
...
src/kick.h
View file @
3090ec1c
...
...
@@ -107,7 +107,7 @@ __attribute__((always_inline)) INLINE static void kick_part(
}
/* Extra kick work */
hydro_kick_extra
(
p
,
xp
,
dt
);
hydro_kick_extra
(
p
,
xp
,
dt
,
ti_end
);
if
(
p
->
gpart
!=
NULL
)
gravity_kick_extra
(
p
->
gpart
,
dt
);
}
...
...
src/runner.c
View file @
3090ec1c
...
...
@@ -599,6 +599,8 @@ void runner_do_ghost(struct runner *r, struct cell *c, int timer) {
target_wcount
-
e
->
hydro_properties
->
delta_neighbours
;
const
int
max_smoothing_iter
=
e
->
hydro_properties
->
max_smoothing_iterations
;
int
redo
=
0
,
count
=
0
;
const
double
timeBase
=
e
->
timeBase
;
integertime_t
ti_current
=
e
->
ti_current
;
TIMER_TIC
;
...
...
@@ -679,7 +681,7 @@ void runner_do_ghost(struct runner *r, struct cell *c, int timer) {
/* As of here, particle force variables will be set. */
/* Compute variables required for the force loop */
hydro_prepare_force
(
p
,
xp
);
hydro_prepare_force
(
p
,
xp
,
ti_current
,
timeBase
);
/* The particle force values are now set. Do _NOT_
try to read any particle density variables! */
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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