diff --git a/src/engine.c b/src/engine.c index 1b6b188cb8f2dadd1c3e1acffd9f0086d3d64568..e8bacffd9b007c4376e129a2ecf2ebda7e5d6cf2 100644 --- a/src/engine.c +++ b/src/engine.c @@ -320,7 +320,7 @@ void engine_collect_kick2 ( struct cell *c ) { struct cell *cp; /* If I am a super-cell, return immediately. */ - if ( c->kick2 != NULL ) + if ( c->kick2 != NULL || c->count == 0 ) return; /* If this cell is not split, I'm in trouble. */ diff --git a/src/io.c b/src/io.c index 199855a3af2d61e90569099b549d230ff0bb509a..bf25e55b5b8c80fd48eaddf3c42590e00428b03d 100644 --- a/src/io.c +++ b/src/io.c @@ -271,7 +271,7 @@ void readArrayBackEnd(hid_t grp, char* name, enum DATA_TYPE type, int N, int dim void read_ic ( char* fileName, double dim[3], struct part **parts, int* N, int* periodic) { hid_t h_file=0, h_grp=0; - double boxSize[3]={0.,-1,-1}; /* GADGET has only cubic boxes (in cosmological mode) */ + double boxSize[3]={0.0,-1.0,-1.0}; /* GADGET has only cubic boxes (in cosmological mode) */ int numParticles[6]={0}; /* GADGET has 6 particle types. We only keep the type 0*/ /* Open file */ @@ -308,10 +308,8 @@ void read_ic ( char* fileName, double dim[3], struct part **parts, int* N, int* *N = numParticles[0]; dim[0] = boxSize[0]; - if ( boxSize[1] < 0 ) - dim[1] = boxSize[0]; - if ( boxSize[2] < 0 ) - dim[2] = boxSize[0]; + dim[1] = ( boxSize[1] < 0 ) ? boxSize[0] : boxSize[1]; + dim[2] = ( boxSize[2] < 0 ) ? boxSize[0] : boxSize[2]; /* printf("read_ic: Found %d particles in a %speriodic box of size [%f %f %f]\n", */ /* *N, (periodic ? "": "non-"), dim[0], dim[1], dim[2]); */