Commit 15af3919 authored by Pedro Gonnet's avatar Pedro Gonnet
Browse files

Merge branch 'master' of gitlab.cosma.dur.ac.uk:swift/swiftsim into engine_exchange_strays

Conflicts:
	src/engine.c
	src/space.c
	src/space.h
parents ed926dce b88e04a2
...@@ -64,7 +64,7 @@ v = inputFile["/PartType0/Velocities"][:,:] ...@@ -64,7 +64,7 @@ v = inputFile["/PartType0/Velocities"][:,:]
m = inputFile["/PartType0/Masses"][:] m = inputFile["/PartType0/Masses"][:]
h = inputFile["/PartType0/SmoothingLength"][:] h = inputFile["/PartType0/SmoothingLength"][:]
u = inputFile["/PartType0/InternalEnergy"][:] u = inputFile["/PartType0/InternalEnergy"][:]
ids = np.array(range(np.size(u)), dtype='L') ids = np.array(range(np.size(u)), dtype='L') + 1
# Downsample # Downsample
print "Downsampling..." print "Downsampling..."
......
...@@ -111,6 +111,6 @@ ds[()] = h ...@@ -111,6 +111,6 @@ ds[()] = h
ds = grp.create_dataset('InternalEnergy', (numPart,1), 'f') ds = grp.create_dataset('InternalEnergy', (numPart,1), 'f')
ds[()] = u ds[()] = u
ds = grp.create_dataset('ParticleIDs', (numPart, 1), 'L') ds = grp.create_dataset('ParticleIDs', (numPart, 1), 'L')
ds[()] = ids ds[()] = ids + 1
file.close() file.close()
...@@ -82,7 +82,7 @@ for i in range(L): ...@@ -82,7 +82,7 @@ for i in range(L):
else: else:
P = P + 3. + 4.*log(2.) P = P + 3. + 4.*log(2.)
u[index] = P / ((gamma - 1.)*rho) u[index] = P / ((gamma - 1.)*rho)
ids[index] = partId ids[index] = partId + 1
partId = partId + 1 partId = partId + 1
......
...@@ -63,13 +63,15 @@ swift_fixdt_mpi_LDADD = ../src/.libs/libswiftsim_mpi.a $(HDF5_LDFLAGS) $(HDF5_L ...@@ -63,13 +63,15 @@ swift_fixdt_mpi_LDADD = ../src/.libs/libswiftsim_mpi.a $(HDF5_LDFLAGS) $(HDF5_L
# Scripts to generate ICs # Scripts to generate ICs
EXTRA_DIST = UniformBox/makeIC.py \ EXTRA_DIST = UniformBox/makeIC.py \
PerturbedBox/makeIC.py \ UniformDMBox/makeIC.py \
PerturbedBox/makeIC.py \
SedovBlast/makeIC.py SedovBlast/makeIC_fcc.py SedovBlast/solution.py \ SedovBlast/makeIC.py SedovBlast/makeIC_fcc.py SedovBlast/solution.py \
SodShock/makeIC.py SodShock/solution.py SodShock/glass_001.hdf5 SodShock/glass_002.hdf5 SodShock/rhox.py \ SodShock/makeIC.py SodShock/solution.py SodShock/glass_001.hdf5 SodShock/glass_002.hdf5 SodShock/rhox.py \
CosmoVolume/getIC.sh \ CosmoVolume/getIC.sh \
BigCosmoVolume/makeIC.py \ BigCosmoVolume/makeIC.py \
BigPerturbedBox/makeIC_fcc.py \ BigPerturbedBox/makeIC_fcc.py \
GreshoVortex/makeIC.py GreshoVortex/solution.py GreshoVortex/makeIC.py GreshoVortex/solution.py \
MultiTypes/makeIC.py
# Scripts to plot task graphs # Scripts to plot task graphs
......
###############################################################################
# This file is part of SWIFT.
# Copyright (c) 2013 Pedro Gonnet (pedro.gonnet@durham.ac.uk),
# Matthieu Schaller (matthieu.schaller@durham.ac.uk)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import h5py
import sys
from numpy import *
# Generates a swift IC file containing a cartesian distribution of DM particles
# with a density of 1
# Parameters
periodic= 1 # 1 For periodic box
boxSize = 1.
Lgas = int(sys.argv[1]) # Number of particles along one axis
rhoGas = 2. # Density
P = 1. # Pressure
gamma = 5./3. # Gas adiabatic index
rhoDM = 1.
Ldm = int(sys.argv[2]) # Number of particles along one axis
fileName = "multiTypes.hdf5"
#---------------------------------------------------
numGas = Lgas**3
massGas = boxSize**3 * rhoGas / numGas
internalEnergy = P / ((gamma - 1.)*rhoGas)
numDM = Ldm**3
massDM = boxSize**3 * rhoDM / numDM
#--------------------------------------------------
#File
file = h5py.File(fileName, 'w')
# Header
grp = file.create_group("/Header")
grp.attrs["BoxSize"] = boxSize
grp.attrs["NumPart_Total"] = [numGas, numDM, 0, 0, 0, 0]
grp.attrs["NumPart_Total_HighWord"] = [0, 0, 0, 0, 0, 0]
grp.attrs["NumPart_ThisFile"] = [numGas, numDM, 0, 0, 0, 0]
grp.attrs["Time"] = 0.0
grp.attrs["NumFilesPerSnapshot"] = 1
grp.attrs["MassTable"] = [0.0, massDM, 0.0, 0.0, 0.0, 0.0]
grp.attrs["Flag_Entropy_ICs"] = 0
#Runtime parameters
grp = file.create_group("/RuntimePars")
grp.attrs["PeriodicBoundariesOn"] = periodic
# Gas Particle group
grp = file.create_group("/PartType0")
v = zeros((numGas, 3))
ds = grp.create_dataset('Velocities', (numGas, 3), 'f')
ds[()] = v
v = zeros(1)
m = full((numGas, 1), massGas)
ds = grp.create_dataset('Masses', (numGas,1), 'f')
ds[()] = m
m = zeros(1)
h = full((numGas, 1), 1.1255 * boxSize / Lgas)
ds = grp.create_dataset('SmoothingLength', (numGas,1), 'f')
ds[()] = h
h = zeros(1)
u = full((numGas, 1), internalEnergy)
ds = grp.create_dataset('InternalEnergy', (numGas,1), 'f')
ds[()] = u
u = zeros(1)
ids = linspace(0, numGas, numGas, endpoint=False).reshape((numGas,1))
ds = grp.create_dataset('ParticleIDs', (numGas, 1), 'L')
ds[()] = ids + 1
x = ids % Lgas;
y = ((ids - x) / Lgas) % Lgas;
z = (ids - x - Lgas * y) / Lgas**2;
coords = zeros((numGas, 3))
coords[:,0] = z[:,0] * boxSize / Lgas + boxSize / (2*Lgas)
coords[:,1] = y[:,0] * boxSize / Lgas + boxSize / (2*Lgas)
coords[:,2] = x[:,0] * boxSize / Lgas + boxSize / (2*Lgas)
ds = grp.create_dataset('Coordinates', (numGas, 3), 'd')
ds[()] = coords
# DM Particle group
grp = file.create_group("/PartType1")
v = zeros((numDM, 3))
ds = grp.create_dataset('Velocities', (numDM, 3), 'f')
ds[()] = v
v = zeros(1)
m = full((numDM, 1), massDM)
ds = grp.create_dataset('Masses', (numDM,1), 'f')
ds[()] = m
m = zeros(1)
ids = linspace(0, numDM, numDM, endpoint=False).reshape((numDM,1))
ds = grp.create_dataset('ParticleIDs', (numDM, 1), 'L')
ds[()] = ids + Lgas**3 + 1
x = ids % Ldm;
y = ((ids - x) / Ldm) % Ldm;
z = (ids - x - Ldm * y) / Ldm**2;
coords = zeros((numDM, 3))
coords[:,0] = z[:,0] * boxSize / Ldm + boxSize / (2*Ldm)
coords[:,1] = y[:,0] * boxSize / Ldm + boxSize / (2*Ldm)
coords[:,2] = x[:,0] * boxSize / Ldm + boxSize / (2*Ldm)
ds = grp.create_dataset('Coordinates', (numDM, 3), 'd')
ds[()] = coords
file.close()
...@@ -103,6 +103,6 @@ ds[()] = h ...@@ -103,6 +103,6 @@ ds[()] = h
ds = grp.create_dataset('InternalEnergy', (numPart,1), 'f') ds = grp.create_dataset('InternalEnergy', (numPart,1), 'f')
ds[()] = u ds[()] = u
ds = grp.create_dataset('ParticleIDs', (numPart, 1), 'L') ds = grp.create_dataset('ParticleIDs', (numPart, 1), 'L')
ds[()] = ids ds[()] = ids + 1
file.close() file.close()
...@@ -69,7 +69,7 @@ for i in range(L): ...@@ -69,7 +69,7 @@ for i in range(L):
m[index] = mass m[index] = mass
h[index] = 1.1255 * boxSize / L h[index] = 1.1255 * boxSize / L
u[index] = internalEnergy u[index] = internalEnergy
ids[index] = index ids[index] = index + 1
if sqrt((x - boxSize/2.)**2 + (y - boxSize/2.)**2 + (z - boxSize/2.)**2) < 2.01 * boxSize/L: if sqrt((x - boxSize/2.)**2 + (y - boxSize/2.)**2 + (z - boxSize/2.)**2) < 2.01 * boxSize/L:
u[index] = u[index] + E0 / (33. * mass) u[index] = u[index] + E0 / (33. * mass)
print "Particle " , index , " set to detonate." print "Particle " , index , " set to detonate."
......
...@@ -72,7 +72,7 @@ for i in range(L): ...@@ -72,7 +72,7 @@ for i in range(L):
m[index] = mass m[index] = mass
h[index] = 1.1255 * hbox h[index] = 1.1255 * hbox
u[index] = internalEnergy u[index] = internalEnergy
ids[index] = index ids[index] = index + 1
if sqrt((x - boxSize/2.)**2 + (y - boxSize/2.)**2 + (z - boxSize/2.)**2) < 1.2 * hbox: if sqrt((x - boxSize/2.)**2 + (y - boxSize/2.)**2 + (z - boxSize/2.)**2) < 1.2 * hbox:
u[index] = u[index] + E0 / (28. * mass) u[index] = u[index] + E0 / (28. * mass)
print "Particle " , index , " set to detonate." print "Particle " , index , " set to detonate."
......
...@@ -86,8 +86,8 @@ h = append(h1, h2,0) ...@@ -86,8 +86,8 @@ h = append(h1, h2,0)
u = append(u1, u2,0) u = append(u1, u2,0)
m = append(m1, m2,0) m = append(m1, m2,0)
ids = zeros(numPart, dtype='L') ids = zeros(numPart, dtype='L')
for i in range(numPart): for i in range(1, numPart+1):
ids[i] = i ids[i-1] = i
#Final operations #Final operations
h /= 2 h /= 2
......
...@@ -86,7 +86,7 @@ u = zeros(1) ...@@ -86,7 +86,7 @@ u = zeros(1)
ids = linspace(0, numPart, numPart, endpoint=False).reshape((numPart,1)) ids = linspace(0, numPart, numPart, endpoint=False).reshape((numPart,1))
ds = grp.create_dataset('ParticleIDs', (numPart, 1), 'L') ds = grp.create_dataset('ParticleIDs', (numPart, 1), 'L')
ds[()] = ids ds[()] = ids + 1
x = ids % L; x = ids % L;
y = ((ids - x) / L) % L; y = ((ids - x) / L) % L;
z = (ids - x - L * y) / L**2; z = (ids - x - L * y) / L**2;
......
...@@ -98,7 +98,7 @@ for n in range(n_iterations): ...@@ -98,7 +98,7 @@ for n in range(n_iterations):
u = zeros(1) u = zeros(1)
ids = linspace(offset, offset+N, N, endpoint=False).reshape((N,1)) ids = linspace(offset, offset+N, N, endpoint=False).reshape((N,1))
ds_id[offset:offset+N] = ids ds_id[offset:offset+N] = ids + 1
x = ids % L; x = ids % L;
y = ((ids - x) / L) % L; y = ((ids - x) / L) % L;
z = (ids - x - L * y) / L**2; z = (ids - x - L * y) / L**2;
...@@ -130,10 +130,8 @@ u = full((remainder, 1), internalEnergy) ...@@ -130,10 +130,8 @@ u = full((remainder, 1), internalEnergy)
ds_u[offset:offset+remainder] = u ds_u[offset:offset+remainder] = u
u = zeros(1) u = zeros(1)
print "Done", offset+remainder,"/", numPart
ids = linspace(offset, offset+remainder, remainder, endpoint=False).reshape((remainder,1)) ids = linspace(offset, offset+remainder, remainder, endpoint=False).reshape((remainder,1))
ds_id[offset:offset+remainder] = ids ds_id[offset:offset+remainder] = ids + 1
x = ids % L; x = ids % L;
y = ((ids - x) / L) % L; y = ((ids - x) / L) % L;
z = (ids - x - L * y) / L**2; z = (ids - x - L * y) / L**2;
...@@ -143,6 +141,7 @@ coords[:,1] = y[:,0] * boxSize / L + boxSize / (2*L) ...@@ -143,6 +141,7 @@ coords[:,1] = y[:,0] * boxSize / L + boxSize / (2*L)
coords[:,2] = x[:,0] * boxSize / L + boxSize / (2*L) coords[:,2] = x[:,0] * boxSize / L + boxSize / (2*L)
ds_x[offset:offset+remainder,:] = coords ds_x[offset:offset+remainder,:] = coords
print "Done", offset+remainder,"/", numPart
......
###############################################################################
# This file is part of SWIFT.
# Copyright (c) 2013 Pedro Gonnet (pedro.gonnet@durham.ac.uk),
# Matthieu Schaller (matthieu.schaller@durham.ac.uk)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published
# by the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import h5py
import sys
from numpy import *
# Generates a swift IC file containing a cartesian distribution of DM particles
# with a density of 1
# Parameters
periodic= 1 # 1 For periodic box
boxSize = 1.
rho = 1.
L = int(sys.argv[1]) # Number of particles along one axis
fileName = "uniformDMBox_%d.hdf5"%L
#---------------------------------------------------
numPart = L**3
mass = boxSize**3 * rho / numPart
#--------------------------------------------------
#File
file = h5py.File(fileName, 'w')
# Header
grp = file.create_group("/Header")
grp.attrs["BoxSize"] = boxSize
grp.attrs["NumPart_Total"] = [0, numPart, 0, 0, 0, 0]
grp.attrs["NumPart_Total_HighWord"] = [0, 0, 0, 0, 0, 0]
grp.attrs["NumPart_ThisFile"] = [0, numPart, 0, 0, 0, 0]
grp.attrs["Time"] = 0.0
grp.attrs["NumFilesPerSnapshot"] = 1
grp.attrs["MassTable"] = [0.0, mass, 0.0, 0.0, 0.0, 0.0]
grp.attrs["Flag_Entropy_ICs"] = 0
#Runtime parameters
grp = file.create_group("/RuntimePars")
grp.attrs["PeriodicBoundariesOn"] = periodic
#Particle group
grp = file.create_group("/PartType1")
v = zeros((numPart, 3))
ds = grp.create_dataset('Velocities', (numPart, 3), 'f')
ds[()] = v
v = zeros(1)
m = full((numPart, 1), mass)
ds = grp.create_dataset('Masses', (numPart,1), 'f')
ds[()] = m
m = zeros(1)
ids = linspace(0, numPart, numPart, endpoint=False).reshape((numPart,1))
ds = grp.create_dataset('ParticleIDs', (numPart, 1), 'L')
ds[()] = ids + 1
x = ids % L;
y = ((ids - x) / L) % L;
z = (ids - x - L * y) / L**2;
coords = zeros((numPart, 3))
coords[:,0] = z[:,0] * boxSize / L + boxSize / (2*L)
coords[:,1] = y[:,0] * boxSize / L + boxSize / (2*L)
coords[:,2] = x[:,0] * boxSize / L + boxSize / (2*L)
ds = grp.create_dataset('Coordinates', (numPart, 3), 'd')
ds[()] = coords
file.close()
...@@ -58,8 +58,9 @@ ...@@ -58,8 +58,9 @@
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
int c, icount, j, k, N, periodic = 1; int c, icount, periodic = 1;
long long N_total = -1; size_t Ngas = 0, Ngpart = 0;
long long N_total[2] = {0, 0};
int nr_threads = 1, nr_queues = -1; int nr_threads = 1, nr_queues = -1;
int dump_tasks = 0; int dump_tasks = 0;
int data[2]; int data[2];
...@@ -67,6 +68,7 @@ int main(int argc, char *argv[]) { ...@@ -67,6 +68,7 @@ int main(int argc, char *argv[]) {
double h_max = -1.0, scaling = 1.0; double h_max = -1.0, scaling = 1.0;
double time_end = DBL_MAX; double time_end = DBL_MAX;
struct part *parts = NULL; struct part *parts = NULL;
struct gpart *gparts = NULL;
struct space s; struct space s;
struct engine e; struct engine e;
struct UnitSystem us; struct UnitSystem us;
...@@ -354,14 +356,14 @@ int main(int argc, char *argv[]) { ...@@ -354,14 +356,14 @@ int main(int argc, char *argv[]) {
if (myrank == 0) clocks_gettime(&tic); if (myrank == 0) clocks_gettime(&tic);
#if defined(WITH_MPI) #if defined(WITH_MPI)
#if defined(HAVE_PARALLEL_HDF5) #if defined(HAVE_PARALLEL_HDF5)
read_ic_parallel(ICfileName, dim, &parts, &N, &periodic, myrank, nr_nodes, read_ic_parallel(ICfileName, dim, &parts, &Ngas, &periodic, myrank, nr_nodes,
MPI_COMM_WORLD, MPI_INFO_NULL); MPI_COMM_WORLD, MPI_INFO_NULL);
#else #else
read_ic_serial(ICfileName, dim, &parts, &N, &periodic, myrank, nr_nodes, read_ic_serial(ICfileName, dim, &parts, &Ngas, &periodic, myrank, nr_nodes,
MPI_COMM_WORLD, MPI_INFO_NULL); MPI_COMM_WORLD, MPI_INFO_NULL);
#endif #endif
#else #else
read_ic_single(ICfileName, dim, &parts, &N, &periodic); read_ic_single(ICfileName, dim, &parts, &gparts, &Ngas, &Ngpart, &periodic);
#endif #endif
if (myrank == 0) { if (myrank == 0) {
...@@ -372,24 +374,35 @@ int main(int argc, char *argv[]) { ...@@ -372,24 +374,35 @@ int main(int argc, char *argv[]) {
} }
#if defined(WITH_MPI) #if defined(WITH_MPI)
long long N_long = N; long long N_long[2] = {Ngas, Ngpart};
MPI_Reduce(&N_long, &N_total, 1, MPI_LONG_LONG, MPI_SUM, 0, MPI_COMM_WORLD); MPI_Reduce(&N_long, &N_total, 2, MPI_LONG_LONG, MPI_SUM, 0, MPI_COMM_WORLD);
if (myrank == 0)
message("Read %lld gas particles and %lld DM particles from the ICs",
N_total[0], N_total[1]);
#else #else
N_total = N; N_total[0] = Ngas;
N_total[1] = Ngpart - Ngas;
message("Read %lld gas particles and %lld DM particles from the ICs",
N_total[0], N_total[1]);
#endif #endif
if (myrank == 0) message("Read %lld particles from the ICs", N_total);
/* Apply h scaling */ /* Apply h scaling */
if (scaling != 1.0) if (scaling != 1.0)
for (k = 0; k < N; k++) parts[k].h *= scaling; for (size_t k = 0; k < Ngas; k++) parts[k].h *= scaling;
/* Apply shift */ /* Apply shift */
if (shift[0] != 0 || shift[1] != 0 || shift[2] != 0) if (shift[0] != 0 || shift[1] != 0 || shift[2] != 0) {
for (k = 0; k < N; k++) { for (size_t k = 0; k < Ngas; k++) {
parts[k].x[0] += shift[0]; parts[k].x[0] += shift[0];
parts[k].x[1] += shift[1]; parts[k].x[1] += shift[1];
parts[k].x[2] += shift[2]; parts[k].x[2] += shift[2];
} }
for (size_t k = 0; k < Ngpart; k++) {
gparts[k].x[0] += shift[0];
gparts[k].x[1] += shift[1];
gparts[k].x[2] += shift[2];
}
}
/* Set default number of queues. */ /* Set default number of queues. */
if (nr_queues < 0) nr_queues = nr_threads; if (nr_queues < 0) nr_queues = nr_threads;
...@@ -399,7 +412,8 @@ int main(int argc, char *argv[]) { ...@@ -399,7 +412,8 @@ int main(int argc, char *argv[]) {
/* Initialize the space with this data. */ /* Initialize the space with this data. */
if (myrank == 0) clocks_gettime(&tic); if (myrank == 0) clocks_gettime(&tic);
space_init(&s, dim, parts, N, periodic, h_max, myrank == 0); space_init(&s, dim, parts, gparts, Ngas, Ngpart, periodic, h_max,
myrank == 0);
if (myrank == 0 && verbose) { if (myrank == 0 && verbose) {
clocks_gettime(&toc); clocks_gettime(&toc);
message("space_init took %.3f %s.", clocks_diff(&tic, &toc), message("space_init took %.3f %s.", clocks_diff(&tic, &toc),
...@@ -415,6 +429,7 @@ int main(int argc, char *argv[]) { ...@@ -415,6 +429,7 @@ int main(int argc, char *argv[]) {
message("highest-level cell dimensions are [ %i %i %i ].", s.cdim[0], message("highest-level cell dimensions are [ %i %i %i ].", s.cdim[0],
s.cdim[1], s.cdim[2]); s.cdim[1], s.cdim[2]);
message("%zi parts in %i cells.", s.nr_parts, s.tot_cells); message("%zi parts in %i cells.", s.nr_parts, s.tot_cells);
message("%zi gparts in %i cells.", s.nr_gparts, s.tot_cells);
message("maximum depth is %d.", s.maxdepth); message("maximum depth is %d.", s.maxdepth);
// message( "cutoffs in [ %g %g ]." , s.h_min , s.h_max ); fflush(stdout); // message( "cutoffs in [ %g %g ]." , s.h_min , s.h_max ); fflush(stdout);
} }
...@@ -482,9 +497,10 @@ int main(int argc, char *argv[]) { ...@@ -482,9 +497,10 @@ int main(int argc, char *argv[]) {
if (myrank == 0) { if (myrank == 0) {
message( message(
"Running on %lld particles until t=%.3e with %i threads and %i " "Running on %lld gas particles and %lld DM particles until t=%.3e with "
"queues (dt_min=%.3e, dt_max=%.3e)...", "%i threads and %i queues (dt_min=%.3e, dt_max=%.3e)...",
N_total, time_end, e.nr_threads, e.sched.nr_queues, e.dt_min, e.dt_max); N_total[0], N_total[1], time_end, e.nr_threads, e.sched.nr_queues,
e.dt_min, e.dt_max);
fflush(stdout); fflush(stdout);
} }
...@@ -499,7 +515,7 @@ int main(int argc, char *argv[]) { ...@@ -499,7 +515,7 @@ int main(int argc, char *argv[]) {
clocks_getunit()); clocks_getunit());
/* Let loose a runner on the space. */ /* Let loose a runner on the space. */
for (j = 0; !engine_is_done(&e); j++) { for (int j = 0; !engine_is_done(&e); j++) {
/* Repartition the space amongst the nodes? */ /* Repartition the space amongst the nodes? */
#ifdef WITH_MPI #ifdef WITH_MPI
......
...@@ -46,9 +46,9 @@ AM_SOURCES = space.c runner.c queue.c task.c cell.c engine.c \ ...@@ -46,9 +46,9 @@ AM_SOURCES = space.c runner.c queue.c task.c cell.c engine.c \
# Include files for distribution, not installation. # Include files for distribution, not installation.
nobase_noinst_HEADERS = approx_math.h atomic.h cycle.h error.h inline.h kernel.h vector.h \ nobase_noinst_HEADERS = approx_math.h atomic.h cycle.h error.h inline.h kernel.h vector.h \
runner_doiact.h runner_doiact_grav.h units.h intrinsics.h minmax.h \ runner_doiact.h runner_doiact_grav.h units.h intrinsics.h minmax.h \
gravity.h \ gravity.h gravity_io.h \
gravity/Default/gravity.h gravity/Default/runner_iact_grav.h \ gravity/Default/gravity.h gravity/Default/gravity_iact.h gravity/Default/gravity_io.h \
gravity/Default/gravity_part.h \ gravity/Default/gravity_debug.h gravity/Default/gravity_part.h \
hydro.h hydro_io.h \ hydro.h hydro_io.h \
hydro/Minimal/hydro.h hydro/Minimal/hydro_iact.h hydro/Minimal/hydro_io.h \ hydro/Minimal/hydro.h hydro/Minimal/hydro_iact.h hydro/Minimal/hydro_io.h \
hydro/Minimal/hydro_debug.h hydro/Minimal/hydro_part.h \