diff --git a/bfps/DNS.py b/bfps/DNS.py index 0d8571b0df68f46916c352022d907c39498eccf7..eb8aff2b839fdd52290b01bce9a9d2e39e5a52ae 100644 --- a/bfps/DNS.py +++ b/bfps/DNS.py @@ -364,9 +364,10 @@ class DNS(_code): particle_ic = None): assert (self.parameters['niter_todo'] % self.parameters['niter_stat'] == 0) assert (self.parameters['niter_todo'] % self.parameters['niter_out'] == 0) - assert (self.parameters['niter_todo'] % self.parameters['niter_part'] == 0) assert (self.parameters['niter_out'] % self.parameters['niter_stat'] == 0) - assert (self.parameters['niter_out'] % self.parameters['niter_part'] == 0) + if self.dns_type == 'NSVEp': + assert (self.parameters['niter_todo'] % self.parameters['niter_part'] == 0) + assert (self.parameters['niter_out'] % self.parameters['niter_part'] == 0) _code.write_par(self, iter0 = iter0) with h5py.File(self.get_data_file_name(), 'r+') as ofile: ofile['bfps_info/exec_name'] = self.name @@ -786,35 +787,37 @@ class DNS(_code): f['vorticity/complex/{0}'.format(0)] = data f.close() # take care of particles' initial condition - if opt.pclouds > 1: - np.random.seed(opt.particle_rand_seed) - if opt.pcloud_type == 'random-cube': - particle_initial_condition = ( - np.random.random((opt.pclouds, 1, 3))*2*np.pi + - np.random.random((1, self.parameters['nparticles'], 3))*opt.particle_cloud_size) - elif opt.pcloud_type == 'regular-cube': - onedarray = np.linspace( - -opt.particle_cloud_size/2, - opt.particle_cloud_size/2, - self.parameters['nparticles']) - particle_initial_condition = np.zeros( - (opt.pclouds, - self.parameters['nparticles'], - self.parameters['nparticles'], - self.parameters['nparticles'], 3), - dtype = np.float64) - particle_initial_condition[:] = \ - np.random.random((opt.pclouds, 1, 1, 1, 3))*2*np.pi - particle_initial_condition[..., 0] += onedarray[None, None, None, :] - particle_initial_condition[..., 1] += onedarray[None, None, :, None] - particle_initial_condition[..., 2] += onedarray[None, :, None, None] + if self.dns_type == 'NSVEp': + if opt.pclouds > 1: + np.random.seed(opt.particle_rand_seed) + if opt.pcloud_type == 'random-cube': + particle_initial_condition = ( + np.random.random((opt.pclouds, 1, 3))*2*np.pi + + np.random.random((1, self.parameters['nparticles'], 3))*opt.particle_cloud_size) + elif opt.pcloud_type == 'regular-cube': + onedarray = np.linspace( + -opt.particle_cloud_size/2, + opt.particle_cloud_size/2, + self.parameters['nparticles']) + particle_initial_condition = np.zeros( + (opt.pclouds, + self.parameters['nparticles'], + self.parameters['nparticles'], + self.parameters['nparticles'], 3), + dtype = np.float64) + particle_initial_condition[:] = \ + np.random.random((opt.pclouds, 1, 1, 1, 3))*2*np.pi + particle_initial_condition[..., 0] += onedarray[None, None, None, :] + particle_initial_condition[..., 1] += onedarray[None, None, :, None] + particle_initial_condition[..., 2] += onedarray[None, :, None, None] self.write_par( particle_ic = particle_initial_condition) - if self.parameters['nparticles'] > 0: - data = self.generate_tracer_state( - species = 0, - rseed = opt.particle_rand_seed, - data = particle_initial_condition) + if self.dns_type == 'NSVEp': + if self.parameters['nparticles'] > 0: + data = self.generate_tracer_state( + species = 0, + rseed = opt.particle_rand_seed, + data = particle_initial_condition) self.run( nb_processes = opt.nb_processes, nb_threads_per_process = opt.nb_threads_per_process,