diff --git a/bfps/NavierStokes.py b/bfps/NavierStokes.py index 9d0a770dfeb520a25e2e971c938df0a8c181fd6d..bee8d8a672330ee3287b94c03e09131a89f173a6 100644 --- a/bfps/NavierStokes.py +++ b/bfps/NavierStokes.py @@ -591,6 +591,49 @@ class NavierStokes(bfps.fluid_base.fluid_particle_base): self.parameters['nz'], self.parameters['nx']//2+1, 3)) + def write_par(self, iter0 = 0): + super(NavierStokes, self).write_par(iter0 = iter0) + with h5py.File(os.path.join(self.work_dir, self.simname + '.h5'), 'r+') as ofile: + kspace = self.get_kspace() + nshells = kspace['nshell'].shape[0] + if self.QR_stats_on: + time_chunk = 2**20//(8*3*self.parameters['histogram_bins']) + time_chunk = max(time_chunk, 1) + ofile.create_dataset('statistics/histograms/trS2_Q_R', + (1, + self.parameters['histogram_bins'], + 3), + chunks = (time_chunk, + self.parameters['histogram_bins'], + 3), + maxshape = (None, + self.parameters['histogram_bins'], + 3), + dtype = np.int64, + compression = 'gzip') + time_chunk = 2**20//(8*3*10) + time_chunk = max(time_chunk, 1) + a = ofile.create_dataset('statistics/moments/trS2_Q_R', + (1, 10, 3), + chunks = (time_chunk, 10, 3), + maxshape = (None, 10, 3), + dtype = np.float64, + compression = 'gzip') + time_chunk = 2**20//(8*self.parameters['QR2D_histogram_bins']**2) + time_chunk = max(time_chunk, 1) + ofile.create_dataset('statistics/histograms/QR2D', + (1, + self.parameters['QR2D_histogram_bins'], + self.parameters['QR2D_histogram_bins']), + chunks = (time_chunk, + self.parameters['QR2D_histogram_bins'], + self.parameters['QR2D_histogram_bins']), + maxshape = (None, + self.parameters['QR2D_histogram_bins'], + self.parameters['QR2D_histogram_bins']), + dtype = np.int64, + compression = 'gzip') + return None def launch( opt, diff --git a/bfps/fluid_base.py b/bfps/fluid_base.py index f29e99e5f846188085c4a9e5c84cc7d056c4a9b2..4d1d390cbd63b3732625bbbb22505c05f8b3dbcc 100644 --- a/bfps/fluid_base.py +++ b/bfps/fluid_base.py @@ -398,43 +398,6 @@ class fluid_particle_base(bfps.code): for k in kspace.keys(): ofile['kspace/' + k] = kspace[k] nshells = kspace['nshell'].shape[0] - if self.QR_stats_on: - time_chunk = 2**20//(8*3*self.parameters['histogram_bins']) - time_chunk = max(time_chunk, 1) - ofile.create_dataset('statistics/histograms/trS2_Q_R', - (1, - self.parameters['histogram_bins'], - 3), - chunks = (time_chunk, - self.parameters['histogram_bins'], - 3), - maxshape = (None, - self.parameters['histogram_bins'], - 3), - dtype = np.int64, - compression = 'gzip') - time_chunk = 2**20//(8*3*10) - time_chunk = max(time_chunk, 1) - a = ofile.create_dataset('statistics/moments/trS2_Q_R', - (1, 10, 3), - chunks = (time_chunk, 10, 3), - maxshape = (None, 10, 3), - dtype = np.float64, - compression = 'gzip') - time_chunk = 2**20//(8*self.parameters['QR2D_histogram_bins']**2) - time_chunk = max(time_chunk, 1) - ofile.create_dataset('statistics/histograms/QR2D', - (1, - self.parameters['QR2D_histogram_bins'], - self.parameters['QR2D_histogram_bins']), - chunks = (time_chunk, - self.parameters['QR2D_histogram_bins'], - self.parameters['QR2D_histogram_bins']), - maxshape = (None, - self.parameters['QR2D_histogram_bins'], - self.parameters['QR2D_histogram_bins']), - dtype = np.int64, - compression = 'gzip') for k in ['velocity', 'vorticity']: time_chunk = 2**20//(8*3*self.parameters['nx']) time_chunk = max(time_chunk, 1) diff --git a/tests/test_base.py b/tests/test_base.py index 50a9820ab2917a1ce2f55385ca0751eabc4404cb..97632bb7dc2ab6ea2d6c7c663742b4c669a51b56 100755 --- a/tests/test_base.py +++ b/tests/test_base.py @@ -124,7 +124,9 @@ def launch( if opt.run: if opt.iteration == 0 and opt.initialize: if type(vorticity_field) == type(None): - c.generate_vector_field(write_to_file = True, spectra_slope = 1.5) + c.generate_vector_field(write_to_file = True, + spectra_slope = 2.0, + amplitude = 0.25) else: vorticity_field.tofile( os.path.join(c.work_dir, diff --git a/tox_convergence.ini b/tox_convergence.ini index a0123d4a011508ae6a25e5a7cd22d77e97241f48..447e32fe9a7ffa2fc7adbcd9e07ca464785b8700 100644 --- a/tox_convergence.ini +++ b/tox_convergence.ini @@ -14,7 +14,7 @@ commands = --run \ --initialize \ --ncpu 2 \ - --nparticles 32 \ + --nparticles 1 \ --niter_todo 16 \ --precision single \ --wd "data/single" @@ -23,7 +23,7 @@ commands = --run \ --initialize \ --ncpu 2 \ - --nparticles 32 \ + --nparticles 1 \ --niter_todo 16 \ --precision double \ --wd "data/double"