diff --git a/plugins/output_gadget_tetmesh.cc b/plugins/output_gadget_tetmesh.cc index e163643..6b23081 100644 --- a/plugins/output_gadget_tetmesh.cc +++ b/plugins/output_gadget_tetmesh.cc @@ -30,6 +30,8 @@ #define ADD_REFINEMENT_COUNTERS(x,y) ((x)+((y)&(15ll<<60))) // adds the counter of y to x, maintains rest of x #define SET_REFINEMENT_COUNTER(x,n) ((((x)&(~(15ll<<60)))+(((long long)n)<<60))) #define GET_REFINEMENT_COUNTER(x) (((x)>>60)&(15ll)) +#define GET_SUBSHIFT(lid,i,refl) ((lid >> (20*((i)+1)-tetgrid_baselevel-refl))&1ll) + #define REMOVE_FREE_PARTICLE_BIT(x) ((x)&(~(1ll<<63))) #define SET_FREE_PARTICLE_BIT(x) ((x) |= (1ll<<63)) @@ -53,6 +55,7 @@ const size_t num_p_realloc_blocksize = 1000000; const size_t newnum_p_per_split = 19; int tetgrid_levelmax = 0; +int tetgrid_baselevel = 0; struct particle @@ -318,9 +321,11 @@ void split_lagrange_cube( size_t ip ) void init_base_grid( int ilevel, size_t prealloc_particles = 0 ) { - size_t nbase = 1< itemp; + std::vector itemp; itemp.assign(curr_block_buf_size,0); iffs1.open( fnl, num_p, wrote_p*sizeof(int) );